Merge jv
authorMerge Script
Thu, 24 Mar 2016 07:06:09 +0100
branchjv
changeset 313 9c15d2d4d8e2
parent 303 e217bb7aacf4 (current diff)
parent 312 2cc5a7dc36b6 (diff)
child 315 bba470ae763f
Merge
--- a/.hgtags	Tue Mar 15 14:36:37 2016 +0000
+++ b/.hgtags	Thu Mar 24 07:06:09 2016 +0100
@@ -16,6 +16,7 @@
 678217bcd5d84be8c9f292ec6ee637cecee7a075 expecco_2_1_0
 7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_2_8_0
 7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_2_8_0a
+7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_2_8_0b
 7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_ALM_1_9_5
 7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_ALM_1_9_6
 7798bf9ef44b2c230b69edb123f6b8613655ae08 expecco_ALM_1_9_7
--- a/quickSelfTest/SelfTest.st	Tue Mar 15 14:36:37 2016 +0000
+++ b/quickSelfTest/SelfTest.st	Thu Mar 24 07:06:09 2016 +0100
@@ -3,9 +3,13 @@
 "/ execute this script using the following command line:
 "/
 "/ stx --noBanner -I --execute SelfTest.st
-"/   use --debug to debug failed test cases.
 "/
-"/ to use with jenkins (+ jUnit plugin):
+"/   use
+"/      --debug to debug failed test cases.
+"/      --skipTests to skip tests
+"/      --skipMetrics to metric reports tests
+"/
+"/ To use with jenkins (+ jUnit plugin):
 "/ use the following buildscript (in jenkins):
 "/ (after checkout of stx)
 "/      cd stx
@@ -14,12 +18,15 @@
 "/      ..\..\projects\smalltalk\stx.com --noBanner -I --execute SelfTest.st
 "/
 "/ and configure the jenkins junit plugin, to scan for "testresult.xml"
+"/ ------------------------------------------------------------------------------------
 
 "/ tell the system, where stx is...
 ParserFlags initializeSTCFlagsForTopDirectory:'../../..'.
 
 Object infoPrinting:false.
 ObjectMemory infoPrinting:false.
+
+"/ install a global handler, which suppresses the updating of the change file
 Processor activeProcess exceptionHandlerSet
     on:(Class updateChangeFileQuerySignal)
     do:[:ex | ex proceedWith:false ].
@@ -28,6 +35,9 @@
 Stdout showCR:'Selftest Started'.
 !
 
+Smalltalk packagePath addFirst:'../../../..'.
+
+"/ ensure that some packages are present
 Stdout showCR:'Loading sunit...'.
 Smalltalk loadPackage:'stx:goodies/sunit'.
 self assert:(TestCase notNil and:[TestCase isLoaded]) message:'[Error]: Missing TestCase class after sunit package load'.
@@ -46,18 +56,22 @@
 Stdout showCR:'Loading regression tests...'.
 
 "To add a new test please edit exept_regression>>testCaseNamesWithoutNamespace"
-Smalltalk packagePath addFirst:'../../../..'.
 Smalltalk fileInClass:#'exept_regression' package:'exept:regression'.
 (Smalltalk at: #'exept_regression') isNil ifTrue:[
     Stdout showCR:('ERROR: Ouch - missing class: "exept_regression"').
     Smalltalk exit: 1.
 ].
+
 (Smalltalk at: #'exept_regression') testCaseNamesWithoutNamespace do:[:className |
     |fullName|
 
     fullName := ('RegressionTests::',className).
-    Stdout showCR:('Loading ',className,'...').
-    Smalltalk fileInClass:fullName package:'exept:regression'.
+    Stdout showCR:('  loading ',className,'...').
+    Error handle:[:ex |
+	Stdout showCR:('**** Ouch - error while loading class: "',className,'"').
+    ] do:[
+	Smalltalk fileInClass:fullName package:'exept:regression'.
+    ].
     (Smalltalk classNamed:fullName) isNil ifTrue:[
 	Stdout showCR:('**** Ouch - missing class: "',fullName,'"').
     ] ifFalse:[
@@ -65,53 +79,78 @@
     ]
 ].
 
-Stdout showCR:'Running suite...'.
-debugging := (Smalltalk commandLineArgumentNamed:'--debug') notNil.
-result := suite
-	    run:TestResultStX new beforeEachDo:[:test |
-		Stdout showCR:('- running ',test printString).
-	    ]
-	    afterEachDo:[:test|
-		Stdout showCR:('- done ',test printString).
-	    ]
-	    debug:debugging.
+"/
+"/ run the suite
+"/
+(Smalltalk commandLineArguments includes:'--skipTests') ifTrue:[
+    Stdout showCR:'Skipping suite.'.
+] ifFalse:[
+    Stdout showCR:'Running suite...'.
+    debugging := (Smalltalk commandLineArguments includes:'--debug').
+    result := suite
+		run:TestResultStX new
+		beforeEachDo:[:test |
+		    Stdout showCR:('- running ',test printString).
+		]
+		afterEachDo:[:test|
+		    Stdout showCR:('- done ',test printString).
+		]
+		debug:debugging.
 
-Stdout showCR:'Generating report...'.
-TestResultReporter
-    report:result
-    format:#xml_jUnit
-    as:'testresult.xml'.
+    Stdout showCR:'Generating report...'.
+    TestResultReporter
+	report:result
+	format:#xml_jUnit
+	as:'testresult.xml'.
 
-Stdout showCR:'Summary:'.
-Stdout showCR:('  %1 tests;' bindWith:result runCount).
-Stdout show:('  %1 passed,' bindWith:result passedCount).
-Stdout show:(' %1 failed,' bindWith:result failureCount).
-Stdout showCR:(' %1 errors.' bindWith:result errorCount).
+    Stdout showCR:'Summary:'.
+    Stdout showCR:('  %1 tests;' bindWith:result runCount).
+    Stdout show:('  %1 passed,' bindWith:result passedCount).
+    Stdout show:(' %1 failed,' bindWith:result failureCount).
+    Stdout showCR:(' %1 errors.' bindWith:result errorCount).
+].
 
-'metrics.xml' asFilename writingFileDo:[:stream |
-    MetricsReporter new
-	stream: stream;
-	packages:{
-	    'stx:libbasic'       .
-	    'stx:libbasic2'      .
-	    'stx:libbasic3'      .
-	    'stx:libcomp'        .
-	    'stx:libview'        .
-	    'stx:libview2'       .
-	    'stx:libwidg'        .
-	    'stx:libwidg2'       .
-	    'stx:libtool'        .
-	    'stx:libtool2'       .
-	    'stx:libui'          .
-	    'stx:libhtml'        .
-	    'stx:goodies/xml/vw' .
-	    'stx:goodies/soap'   .
-	    'stx:libjavascript'  .
-	};
-	classMetricNames: #();
-	methodMetricNames: #();
-	packageMetricNames: #( 'LOC' 'NOM' 'NOC');
-	reportXml_metrics.
+"/
+"/ generate a metrics report
+"/
+#(
+	    'stx:libbasic'
+	    'stx:libbasic2'
+	    'stx:libbasic3'
+	    'stx:libcomp'
+	    'stx:libview'
+	    'stx:libview2'
+	    'stx:libwidg'
+	    'stx:libwidg2'
+	    'stx:libtool'
+	    'stx:libtool2'
+	    'stx:libui'
+	    'stx:libhtml'
+	    'stx:libjavascript'
+	    'stx:goodies/xml/stx'
+	    'stx:goodies/xml/yaxo'
+	    'stx:goodies/xml/xsl'
+	    'stx:goodies/xml/xpath'
+	    'stx:goodies/net'
+	    'stx:goodies/communication'
+	    'stx:goodies/webServer'
+	    'stx:goodies/soap'
+) do:[:p | Smalltalk loadPackage:p].
+
+(Smalltalk commandLineArguments includes:'--skipMetrics') ifTrue:[
+    Stdout showCR:'Skipping metrics.'.
+] ifFalse:[
+    'metrics.xml' asFilename writingFileDo:[:stream |
+	MetricsReporter new
+	    stream: stream;
+	    packages:{
+		'stx:*'       .
+	    };
+	    classMetricNames: #();
+	    methodMetricNames: #();
+	    packageMetricNames: #( 'LOC' 'NOM' 'NOC');
+	    reportXml_metrics.
+    ].
 ].
 
 !
--- a/quickSelfTest/run.bat	Tue Mar 15 14:36:37 2016 +0000
+++ b/quickSelfTest/run.bat	Thu Mar 24 07:06:09 2016 +0100
@@ -1,1 +1,1 @@
-..\..\..\projects\smalltalk\stx --noInfoPrint --noBanner --exitOnInternalError --exitOnMessageSendError -I --execute SelfTest.st
+..\..\..\projects\smalltalk\stx -I --noInfoPrint --noBanner --abortOnInternalError --abortOnMessageSendError --debug --ignoreHalt --execute SelfTest.st
--- a/quickSelfTest/run.sh	Tue Mar 15 14:36:37 2016 +0000
+++ b/quickSelfTest/run.sh	Thu Mar 24 07:06:09 2016 +0100
@@ -1,4 +1,4 @@
 #!/bin/sh
 # use --debug as arg to debug failed test cases
 
-../../../projects/smalltalk/stx --noInfoPrint --noBanner --exitOnInternalError --exitOnMessageSendError -I $* --execute SelfTest.st
+../../../projects/smalltalk/stx -I --noInfoPrint --noBanner --ignoreHalt --abortOnInternalError --abortOnMessageSendError $* --execute SelfTest.st