quickSelfTest/RunUnitTestsStart.st
author sr
Fri, 13 Oct 2017 16:01:55 +0200
changeset 449 e977c2bf4f36
parent 448 0c6ed3c11233
child 450 b5d60fd9a060
permissions -rw-r--r--
#BUGFIX by sr class: RunUnitTestsStart class added: #setupSmalltalkFromArguments: #usage changed: #main: category of: #main:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
380
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
     1
"{ Encoding: utf8 }"
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
     2
350
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     3
"{ Package: 'stx:goodies/builder/quickSelfTest' }"
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     4
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     5
"{ NameSpace: Smalltalk }"
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     6
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     7
StandaloneStartup subclass:#RunUnitTestsStart
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     8
	instanceVariableNames:''
a7785bedc5ed initial checkin
sr
parents:
diff changeset
     9
	classVariableNames:''
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    10
	poolDictionaries:''
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    11
	category:'tests-Regression'
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    12
!
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    13
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    14
!RunUnitTestsStart class methodsFor:'documentation'!
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    15
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    16
documentation
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    17
"
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    18
    documentation to be added.
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    19
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    20
    [author:]
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    21
        sr
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    22
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    23
    [instance variables:]
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    24
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    25
    [class variables:]
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    26
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    27
    [see also:]
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    28
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    29
"
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    30
! !
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    31
449
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    32
!RunUnitTestsStart class methodsFor:'constants'!
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    33
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    34
usage
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    35
    Stderr cr.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    36
    Stderr nextPutLine:'  --help............................this infromation'.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    37
    Stderr nextPutLine:'  --settingsFile....................path to a stx settings file (may to set compiler options)'.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    38
    Stderr nextPutLine:'  --runOnlyExpeccoUnitTests.........run only expecco related test cases'.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    39
    Stderr nextPutLine:'  --resultFile......................path to a file for storing the result as xml'.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    40
    Stderr nextPutLine:'  --forceTestCase...................class name of a test case (only this test case will be executed)'.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    41
! !
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    42
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    43
!RunUnitTestsStart class methodsFor:'startup'!
350
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    44
380
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
    45
main:argv
396
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    46
    |allPackageIDs|
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    47
380
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
    48
    self verboseInfo:('starting application').
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
    49
    self startStartBlockProcess.
fc30cef8ec0e #BUGFIX by sr
sr
parents: 350
diff changeset
    50
383
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    51
    "install a global handler, 
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    52
     which suppresses the updating of the change file"       
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    53
    Processor activeProcess exceptionHandlerSet
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    54
        on:(Class updateChangeFileQuerySignal)
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    55
        do:[:ex | ex proceedWith:false].
381
e72e02985212 #BUGFIX by sr
sr
parents: 380
diff changeset
    56
383
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    57
    "ensure that required packages are present"
396
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    58
    allPackageIDs := Smalltalk allPackageIDs.
383
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    59
    #(
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    60
        'stx:goodies/sunit'
396
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    61
        'stx:libcompat'
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    62
        'stx:libjavascript'
383
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    63
        'stx:goodies/regression'
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    64
    ) do:[:eachPackage |
396
5202f6aaaf39 #BUGFIX by sr
sr
parents: 384
diff changeset
    65
        (allPackageIDs includes:eachPackage) ifFalse:[
397
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    66
            Smalltalk isStandAloneApp ifTrue:[
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    67
                Stdout showCR:'error: missing package ', eachPackage.
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    68
                Smalltalk exit:1.
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    69
            ] ifFalse:[
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    70
                Transcript showCR:'error: missing package ', eachPackage.                          
84e6ade7aad9 #BUGFIX by sr
sr
parents: 396
diff changeset
    71
            ].
383
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    72
        ].
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    73
    ].
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    74
e9e6b209c623 #BUGFIX by sr
sr
parents: 382
diff changeset
    75
    "run the unit tests"
401
9b1d27b1d333 #BUGFIX by sr
sr
parents: 397
diff changeset
    76
    RunUnitTests runWithCompiledUnitTestClasses:true.
441
1d8316acf54b #FEATURE by sr
sr
parents: 401
diff changeset
    77
    RegressionTests::IntegerTest. "/ just to get the ref for building make files
449
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    78
!
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    79
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    80
setupSmalltalkFromArguments:argv
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    81
    (argv includes:'/?') ifTrue:[
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    82
        self usage.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    83
        AbortOperationRequest raise.
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    84
    ].
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    85
e977c2bf4f36 #BUGFIX by sr
sr
parents: 448
diff changeset
    86
    ^ super setupSmalltalkFromArguments:argv
350
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    87
! !
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    88
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    89
!RunUnitTestsStart class methodsFor:'documentation'!
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    90
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    91
version
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    92
    ^ '$Header$'
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    93
!
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    94
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    95
version_CVS
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    96
    ^ '$Header$'
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    97
! !
a7785bedc5ed initial checkin
sr
parents:
diff changeset
    98