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