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 ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"/
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
"/ execute this script using the following command line:
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"/
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
     4
"/ stx --noBanner -I --execute SelfTest.st
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
"/
47
f3f0f1f50918 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
     6
"/ to use with jenkins (+ jUnit plugin):
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
     7
"/ use the following buildscript (in jenkins):
3
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
     8
"/ (after checkout of stx)
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
     9
"/      cd stx
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    10
"/      call bmake
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    11
"/      cd goodies\selftest
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    12
"/      ..\..\projects\smalltalk\stx.com --noBanner -I --execute SelfTest.st
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    13
"/
33
834083803fbb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 29
diff changeset
    14
"/ and configure the jenkins junit plugin, to scan for "testresult.xml"
3
62bd5f071940 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2
diff changeset
    15
34
ad3c00505135 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 33
diff changeset
    16
"/ tell the system, where stx is...
ad3c00505135 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 33
diff changeset
    17
ParserFlags initializeSTCFlagsForTopDirectory:'../../..'.
ad3c00505135 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 33
diff changeset
    18
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
Object infoPrinting:false.
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
ObjectMemory infoPrinting:false.
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
Processor activeProcess exceptionHandlerSet
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    on:(Class updateChangeFileQuerySignal)
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    do:[:ex | ex proceedWith:false ].
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
9
99d5004cb28f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8
diff changeset
    26
Stdout showCR:'Selftest Started'.
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
9
99d5004cb28f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8
diff changeset
    29
Stdout showCR:'Loading sunit...'.
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
Smalltalk loadPackage:'stx:goodies/sunit'.
26
2089c5b15adc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 25
diff changeset
    31
self assert:(TestCase notNil and:[TestCase isLoaded]).
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
22
1d4731483660 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 21
diff changeset
    33
"/ Smalltalk loadPackage:'stx:goodies/xml/vw'.
1d4731483660 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 21
diff changeset
    34
"/ Smalltalk loadPackage:'stx:goodies/xml/stx'.
47
f3f0f1f50918 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 44
diff changeset
    35
Smalltalk loadPackage:'stx:libjavascript'.
10
5b2afc26ab21 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
    36
!
5b2afc26ab21 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 9
diff changeset
    37
27
09411309837d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 26
diff changeset
    38
|suite result|
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
15
cc7adbd216be *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 12
diff changeset
    40
Stdout showCR:'Creating suite...'.
4
4674a8d2574e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3
diff changeset
    41
suite := TestSuite named:'SelfTest'.
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    42
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    43
Stdout showCR:'Loading regression tests...'.
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    44
#(
43
1e6da6c80054 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 42
diff changeset
    45
    'CoverageInstrumentationTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    46
    'AssociationTests'
38
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
    47
    'BinaryIOTests'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    48
    'BinaryTreeTester'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    49
    "/ 'BlockTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    50
    'CharacterTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    51
    'CollectionTests'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    52
    'CompilerTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    53
    'ComplexTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    54
    "/ 'DebuggerTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    55
    "/ 'DeepCopyTests'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    56
    'DelayTest'
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    57
    'DictionaryTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    58
    "/ 'EnumerationTests'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    59
    'ExceptionTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    60
    "/ 'ExternalInterfaceTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    61
    "/ 'FileOpenTest'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    62
    'FileStreamTest'
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    63
    'FloatTest'
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    64
    'FractionTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    65
    "/ 'GCTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    66
    "/ 'GraphicDrawingTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    67
    "/ 'HTMLParserTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    68
    "/ 'ImageReaderTest'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    69
    'IntegerTest'
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    70
    'JavaScriptTests'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    71
    "/ 'MeasurementValueTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    72
    "/ 'MemoryTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    73
    'NumberTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    74
    "/ 'ParserTest'
42
2e7afa76f752 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
    75
    'ScaledDecimalTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    76
    "/ 'SemaphoreTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    77
    "/ 'SharedQueueTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    78
    'SmallIntegerTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    79
    "/ 'SortTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    80
    "/ 'StringTests'
44
2094bcaf61bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 43
diff changeset
    81
    'TimeAndDateTest'
2094bcaf61bc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 43
diff changeset
    82
    'TimeDurationTest'
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    83
    "/ 'URLTest'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    84
    "/ 'XMLCoderTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    85
    "/ 'ZipArchiveTests'
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    86
) do:[:className |
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    87
    |fullName|
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    88
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    89
    fullName := ('RegressionTests::',className).
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    90
    Stdout showCR:('Loading ',className,'...').
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    91
    Smalltalk fileInClass:fullName package:'exept:regression'.
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    92
    suite addTest:(Smalltalk classNamed:fullName) suite.
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
    93
].
4
4674a8d2574e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 3
diff changeset
    94
15
cc7adbd216be *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 12
diff changeset
    95
Stdout showCR:'Running suite...'.
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
    96
result := suite
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
    97
	    runBeforeEachDo:[:test |
15
cc7adbd216be *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 12
diff changeset
    98
		Stdout showCR:('- running ',test printString).
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
    99
	    ].
23
7dcd34b06222 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   100
38
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   101
Stdout showCR:'Generating report...'.
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
   102
TestResultReporter
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
   103
    report:result
29
fea749c05791 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 27
diff changeset
   104
    format:#xml_jUnit
8
7a691ced6334 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7
diff changeset
   105
    as:'testresult.xml'.
38
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   106
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   107
Stdout showCR:'Summary:'.
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   108
Stdout showCR:('  %1 tests;' bindWith:result runCount).
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   109
Stdout show:('  %1 passed,' bindWith:result passedCount).
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   110
Stdout show:(' %1 failed,' bindWith:result failureCount).
2ce19e2a6095 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 34
diff changeset
   111
Stdout showCR:(' %1 errors.' bindWith:result errorCount).
0
90bba565014c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
!