|fn|
"
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
"
Smalltalk loadPackage:'stx:goodies/sunit'.
(TestCase notNil and:[TestCase isLoaded]) ifFalse:[
Stdout showCR:'error: missing #TestCase class after sunit package load'.
Smalltalk exit:1.
].
Smalltalk loadPackage:'stx:goodies/xml/xpath'.
(XML::XPathParser notNil and:[XML::XPathParser isLoaded]) ifFalse:[
Stdout showCR:'error: missing #XPathParser class after goodies/xml/xpath package load'.
Smalltalk exit:1.
].
Smalltalk
fileInClass:#'stx_goodies_regression'
package:'stx:goodies/regression'.
(Smalltalk at:#'stx_goodies_regression') isNil ifTrue:[
Stdout showCR:'error: missing #stx_goodies_regression'.
Smalltalk exit:1.
].
fn := 'RunUnitTests.st' asFilename.
fn exists ifFalse:[
fn := '../RunUnitTests.st' asFilename.
].
fn fileIn.
(Smalltalk at:#'RunUnitTests') isNil ifTrue:[
Stdout showCR:'error: missing #RunUnitTests'.
Smalltalk exit:1.
].
Smalltalk loadPackage:'stx:libcompat'.
Smalltalk loadPackage:'stx:libjavascript'.
Smalltalk loadPackage:'stx:goodies/regex'.
"
run the unit tests
"
RunUnitTests run.