quickSelfTest/SelfTest.st
author Claus Gittinger <cg@exept.de>
Thu, 11 Aug 2011 08:48:08 +0200
changeset 47 f3f0f1f50918
parent 44 2094bcaf61bc
child 48 707c5f49246d
permissions -rw-r--r--
*** empty log message ***

"/
"/ execute this script using the following command line:
"/
"/ stx --noBanner -I --execute SelfTest.st
"/
"/ to use with jenkins (+ jUnit plugin):
"/ use the following buildscript (in jenkins):
"/ (after checkout of stx)
"/      cd stx
"/      call bmake
"/      cd goodies\selftest
"/      ..\..\projects\smalltalk\stx.com --noBanner -I --execute SelfTest.st
"/
"/ and configure the jenkins junit plugin, to scan for "testresult.xml"

"/ tell the system, where stx is...
ParserFlags initializeSTCFlagsForTopDirectory:'../../..'.

Object infoPrinting:false.
ObjectMemory infoPrinting:false.
Processor activeProcess exceptionHandlerSet
    on:(Class updateChangeFileQuerySignal)
    do:[:ex | ex proceedWith:false ].
!

Stdout showCR:'Selftest Started'.
!

Stdout showCR:'Loading sunit...'.
Smalltalk loadPackage:'stx:goodies/sunit'.
self assert:(TestCase notNil and:[TestCase isLoaded]).

"/ Smalltalk loadPackage:'stx:goodies/xml/vw'.
"/ Smalltalk loadPackage:'stx:goodies/xml/stx'.
Smalltalk loadPackage:'stx:libjavascript'.
!

|suite result|

Stdout showCR:'Creating suite...'.
suite := TestSuite named:'SelfTest'.

Stdout showCR:'Loading regression tests...'.
#(
    'CoverageInstrumentationTest'
    'AssociationTests'
    'BinaryIOTests'
    'BinaryTreeTester'
    "/ 'BlockTest'
    'CharacterTests'
    'CollectionTests'
    'CompilerTest'
    'ComplexTest'
    "/ 'DebuggerTest'
    "/ 'DeepCopyTests'
    'DelayTest'
    'DictionaryTest'
    "/ 'EnumerationTests'
    'ExceptionTest'
    "/ 'ExternalInterfaceTests'
    "/ 'FileOpenTest'
    'FileStreamTest'
    'FloatTest'
    'FractionTest'
    "/ 'GCTest'
    "/ 'GraphicDrawingTest'
    "/ 'HTMLParserTests'
    "/ 'ImageReaderTest'
    'IntegerTest'
    'JavaScriptTests'
    "/ 'MeasurementValueTests'
    "/ 'MemoryTest'
    'NumberTest'
    "/ 'ParserTest'
    'ScaledDecimalTest'
    "/ 'SemaphoreTest'
    "/ 'SharedQueueTest'
    'SmallIntegerTest'
    "/ 'SortTests'
    "/ 'StringTests'
    'TimeAndDateTest'
    'TimeDurationTest'
    "/ 'URLTest'
    "/ 'XMLCoderTests'
    "/ 'ZipArchiveTests'
) do:[:className |
    |fullName|

    fullName := ('RegressionTests::',className).
    Stdout showCR:('Loading ',className,'...').
    Smalltalk fileInClass:fullName package:'exept:regression'.
    suite addTest:(Smalltalk classNamed:fullName) suite.
].

Stdout showCR:'Running suite...'.
result := suite
	    runBeforeEachDo:[:test |
		Stdout showCR:('- running ',test printString).
	    ].

Stdout showCR:'Generating report...'.
TestResultReporter
    report:result
    format:#xml_jUnit
    as:'testresult.xml'.

Stdout showCR:'Summary:'.
Stdout showCR:('  %1 tests;' bindWith:result runCount).
Stdout show:('  %1 passed,' bindWith:result passedCount).
Stdout show:(' %1 failed,' bindWith:result failureCount).
Stdout showCR:(' %1 errors.' bindWith:result errorCount).
!