quickSelfTest/RunUnitTestsStart.st
author sr
Fri, 13 Oct 2017 16:06:11 +0200
changeset 450 b5d60fd9a060
parent 449 e977c2bf4f36
child 451 e5570470a874
permissions -rw-r--r--
#BUGFIX by sr class: RunUnitTestsStart class changed: #main:

"{ Encoding: utf8 }"

"{ Package: 'stx:goodies/builder/quickSelfTest' }"

"{ NameSpace: Smalltalk }"

StandaloneStartup subclass:#RunUnitTestsStart
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'tests-Regression'
!

!RunUnitTestsStart class methodsFor:'documentation'!

documentation
"
    documentation to be added.

    [author:]
        sr

    [instance variables:]

    [class variables:]

    [see also:]

"
! !

!RunUnitTestsStart class methodsFor:'constants'!

usage
    Stderr cr.
    Stderr nextPutLine:'  --help............................this infromation'.
    Stderr nextPutLine:'  --settingsFile....................path to a stx settings file (may to set compiler options)'.
    Stderr nextPutLine:'  --runOnlyExpeccoUnitTests.........run only expecco related test cases'.
    Stderr nextPutLine:'  --resultFile......................path to a file for storing the result as xml'.
    Stderr nextPutLine:'  --forceTestCase...................class name of a test case (only this test case will be executed)'.
! !

!RunUnitTestsStart class methodsFor:'startup'!

main:argv
    |allPackageIDs|

    self verboseInfo:('starting application').
    self startStartBlockProcess.

    "install a global handler, 
     which suppresses the updating of the change file"       
    Processor activeProcess exceptionHandlerSet
        on:(Class updateChangeFileQuerySignal)
        do:[:ex | ex proceedWith:false].

    "ensure that required packages are present"
    allPackageIDs := Smalltalk allPackageIDs.
    #(
        'stx:goodies/sunit'
        'stx:libcompat'
        'stx:libjavascript'
        'stx:goodies/regression'
        'exept:libcrypt'   
    ) do:[:eachPackage |
        (allPackageIDs includes:eachPackage) ifFalse:[
            Smalltalk isStandAloneApp ifTrue:[
                Stdout showCR:'error: missing package ', eachPackage.
                Smalltalk exit:1.
            ] ifFalse:[
                Transcript showCR:'error: missing package ', eachPackage.                          
            ].
        ].
    ].

    "run the unit tests"
    RunUnitTests runWithCompiledUnitTestClasses:true.
    RegressionTests::IntegerTest. "/ just to get the ref for building make files
!

setupSmalltalkFromArguments:argv
    (argv includes:'/?') ifTrue:[
        self usage.
        AbortOperationRequest raise.
    ].

    ^ super setupSmalltalkFromArguments:argv
! !

!RunUnitTestsStart class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !