added:
authorClaus Gittinger <cg@exept.de>
Fri, 19 Aug 2011 00:29:54 +0200
changeset 378 65a2e854d7a9
parent 377 71ada743cae2
child 379 065605384740
added: #reportXml_jUnitTest: #reportXml_jUnitTestOutcome: comment/format in: #reportTracebackFromExceptionDetailOf: #reportXml_jUnitResultAndTraceback:state: changed:9 methods
TestResultReporter.st
--- a/TestResultReporter.st	Thu Aug 18 20:37:10 2011 +0200
+++ b/TestResultReporter.st	Fri Aug 19 00:29:54 2011 +0200
@@ -75,17 +75,30 @@
                                                                                [exEnd]
 
                                                                                [exBegin]
+    |suite testResult|
+
+    suite := RegressionTests::WritingToTranscriptOrStdoutTest suite.
+    testResult := suite run.
+    TestResultReporter report:testResult format:#xml_jUnit on:Transcript.
+                                                                               [exEnd]
+
+                                                                               [exBegin]
     |testResult|
 
     testResult := RegressionTests::NumberTest suite run.
     TestResultReporter report:testResult format:#xml_jUnit on:Transcript.
                                                                                [exEnd]
                                                                                [exBegin]
-    |suite testResult|
+    |testResult|
 
-    suite := RegressionTests::WritingToTranscriptOrStdoutTest suite.
-    testResult := suite run.
-    TestResultReporter report:testResult format:#xml_jUnit on:Transcript.
+    testResult := RegressionTests::NumberTest suite run.
+    TestResultReporter report:testResult format:#xml_pythonUnit on:Transcript.
+                                                                               [exEnd]
+                                                                               [exBegin]
+    |testResult|
+
+    testResult := RegressionTests::NumberTest suite run.
+    TestResultReporter report:testResult format:#tap on:Transcript.
                                                                                [exEnd]
 "
 !
@@ -318,14 +331,14 @@
     stream nextPutLine: ('1..%1' bindWith:result runCount).
 
     reportWithStatus := 
-        [:tests :status |
-            tests do:[:each | self reportTapTest: each index: idx result: status. idx := idx + 1 ]
+        [:testOutComes :status |
+            testOutComes do:[:each | self reportTapTest: each index: idx result: status. idx := idx + 1 ]
         ].
 
     idx := 1.
-    reportWithStatus value:result passed value:#success.
-    reportWithStatus value:result failures value:#failure.
-    reportWithStatus value:result errors value:#error.
+    reportWithStatus value:result passedOutcomes value:#success.
+    reportWithStatus value:result failureOutcomes value:#failure.
+    reportWithStatus value:result errorOutcomes value:#error.
 
     "Created: / 30-07-2011 / 10:12:31 / cg"
 !
@@ -357,10 +370,10 @@
 
 !TestResultReporter methodsFor:'reporting - xml-jUnit'!
 
-errorMessageFromExceptionDetailOf:test
+errorMessageFromExceptionDetailOf:testOutcome
     |detail|
 
-    detail := test exceptionDetail.
+    detail := testOutcome exceptionDetail.
     detail isNil ifTrue:[
         ^ 'no error message'.
     ].
@@ -376,10 +389,10 @@
     "Created: / 07-08-2011 / 12:45:45 / cg"
 !
 
-errorTypeFromExceptionDetailOf:test
+errorTypeFromExceptionDetailOf:testOutcome
     |detail|
 
-    detail := test exceptionDetail.
+    detail := testOutcome exceptionDetail.
     detail isNil ifTrue:[
         ^ 'unknown error type'.
     ].
@@ -395,10 +408,10 @@
     "Created: / 07-08-2011 / 13:06:44 / cg"
 !
 
-reportTracebackFromExceptionDetailOf:test
+reportTracebackFromExceptionDetailOf:testOutcome
     |detail|
 
-    detail := test exceptionDetail.
+    detail := testOutcome exceptionDetail.
 
     "Smalltalk/X dialect detection..."
     ((Smalltalk respondsTo: #isSmalltalkX) and:[Smalltalk isSmalltalkX]) ifTrue:[ 
@@ -435,9 +448,9 @@
         nextPutLine:('    <property name="user.name" value="%1" />' bindWith:OperatingSystem getLoginName);
         nextPutLine: '  </properties>'.
 
-    result passed   do:[:each | self reportXml_jUnitTest: each result: #success].
-    result failures do:[:each | self reportXml_jUnitTest: each result: #failure].
-    result errors   do:[:each | self reportXml_jUnitTest: each result: #error].
+    result passedOutcomes  do:[:eachOutcome | self reportXml_jUnitTest: eachOutcome ].
+    result failureOutcomes do:[:eachOutcome | self reportXml_jUnitTest: eachOutcome ].
+    result errorOutcomes   do:[:eachOutcome | self reportXml_jUnitTest: eachOutcome ].
 
     stream
         nextPutLine: '</testsuite>'
@@ -445,7 +458,7 @@
     "Created: / 05-08-2011 / 15:21:45 / cg"
 !
 
-reportXml_jUnitResultAndTraceback:test state:state
+reportXml_jUnitResultAndTraceback:testOutcome state:state
     |stateTag errorMessage errorType|
 
     (state = 'error') ifTrue:[
@@ -459,8 +472,8 @@
     "
      retrieves a single line error message; we use the exception's name or description
     "
-    errorMessage := self errorMessageFromExceptionDetailOf:test.
-    errorType := self errorTypeFromExceptionDetailOf:test.
+    errorMessage := self errorMessageFromExceptionDetailOf:testOutcome.
+    errorType := self errorTypeFromExceptionDetailOf:testOutcome.
 
     stream
         nextPutAll:('    <%1 message="%2" type="%3">' bindWith:stateTag with:errorMessage with:errorType);
@@ -470,7 +483,7 @@
      Prints a traceback to the stream.
      This is dialect-specific, so we have to check...
     "
-    self reportTracebackFromExceptionDetailOf:test.
+    self reportTracebackFromExceptionDetailOf:testOutcome.
 
     stream
         nextPutAll:('    </%1>' bindWith:stateTag);
@@ -479,32 +492,35 @@
     "Created: / 05-08-2011 / 15:40:09 / cg"
 !
 
-reportXml_jUnitTest: test result: testResult
-    | testClassName executionTime |
+reportXml_jUnitTest:testOutcome
+    | testClassName executionTime executionTimeString test testResult|
+
+    test := testOutcome testCase.
+    testResult := testOutcome result.
 
     testClassName := self sunitNameOf: test class.
 
-    test executionTime isNil ifTrue:[
-        executionTime := '0.0'.
+    (executionTime := testOutcome executionTime) isNil ifTrue:[
+        executionTimeString := '0.0'.
     ] ifFalse:[
-        executionTime := ((test executionTime / 1000) asFixedPoint:3) printString.
+        executionTimeString := ((executionTime / 1000) asFixedPoint:3) printString.
     ].
 
     stream
         nextPutAll:'  <testcase classname="'; nextPutAll:testClassName; nextPutAll:'"'; 
         nextPutAll:' name="'; nextPutAll: test selector; nextPutAll:'"';
         nextPutAll:' status="'; nextPutAll: testResult; nextPutAll:'"';
-        nextPutAll:' time="'; nextPutAll: executionTime; nextPutAll:'"'.
+        nextPutAll:' time="'; nextPutAll: executionTimeString; nextPutAll:'"'.
 
-    testResult = #success ifTrue:[
+    testResult = #pass ifTrue:[
         stream nextPutAll:' />'; cr.
     ] ifFalse:[
         stream nextPutAll:'>'; cr.
-        self reportXml_jUnitResultAndTraceback:test state:testResult.
+        self reportXml_jUnitResultAndTraceback:testOutcome state:testResult.
         stream nextPutAll:'  </testcase>'; cr.
     ].
 
-    "Created: / 05-08-2011 / 15:22:13 / cg"
+    "Created: / 18-08-2011 / 20:30:50 / cg"
 ! !
 
 !TestResultReporter methodsFor:'reporting - xml-perfPublisher'!
@@ -538,9 +554,9 @@
         nextPutLine:('    <time format="HHMMSS" val="%1" />' bindWith:(startTime printStringFormat:'%h%m%s'));
         nextPutLine:('  </start>').
 
-    result passed   do:[:each|self reportXml_perfPublisher: each result: #success].
-    result failures do:[:each|self reportXml_perfPublisher: each result: #failure].
-    result errors   do:[:each|self reportXml_perfPublisher: each result: #error].
+    result passedOutcomes  do:[:each|self reportXml_perfPublisher: each result: #success].
+    result failureOutcomes do:[:each|self reportXml_perfPublisher: each result: #failure].
+    result errorOutcomes   do:[:each|self reportXml_perfPublisher: each result: #error].
 
     stream
         nextPutLine: '</report>'
@@ -548,7 +564,7 @@
     "Created: / 30-07-2011 / 11:45:15 / cg"
 !
 
-reportXml_perfPublisher: test result: testResult
+reportXml_perfPublisher: testOutcome result: testResult
 
     "
     Example:
@@ -562,12 +578,14 @@
     </test>  
     "
 
-    |testClassName executionTime testName testDescription 
+    |test testClassName executionTime testName testDescription 
      successPassed successState exceptionInfo
      compilerName compilerVersion compilerConfiguration compilerVersionDate 
      timeUnit timeMeasure 
      sysInfo osType osVersion cpuType|
 
+    test := testOutcome testCase.
+
     testClassName := self sunitNameOf: test class.
     testName := test selector.
 
@@ -655,9 +673,9 @@
         nextPutLine: '<?xml version="1.0"?>';
         nextPutLine: '<unittest-results>'.
 
-    result passed   do:[:each|self reportXml_pythonTest: each result: #success].
-    result failures do:[:each|self reportXml_pythonTest: each result: #failure].
-    result errors   do:[:each|self reportXml_pythonTest: each result: #error].
+    result passedOutcomes  do:[:each|self reportXml_pythonUnitTest: each result: #success].
+    result failureOutcomes do:[:each|self reportXml_pythonUnitTest: each result: #failure].
+    result errorOutcomes   do:[:each|self reportXml_pythonUnitTest: each result: #error].
 
     stream
         nextPutLine: '</unittest-results>'
@@ -665,7 +683,7 @@
     "Created: / 03-08-2011 / 12:56:04 / cg"
 !
 
-reportXml_pythonUnitTest: test result: testResult
+reportXml_pythonUnitTest:testOutcome result: testResult
 
     "
     Example:
@@ -677,12 +695,13 @@
         file='/usr/src/trac-bitten-0.6b2.dfsg/bitten/tests/web_ui.py'>
     "
 
-    | testClassName executionTime |
+    |test testClassName executionTime |
 
+    test := testOutcome testCase.
     testClassName := self sunitNameOf: test class.
 
     "most tests do not know, and return nil here!!"
-    executionTime := (test executionTime ? 0.0) printString.
+    executionTime := (testOutcome executionTime ? 0.0) printString.
 
     stream
         nextPutAll:'<test duration="'; nextPutAll:executionTime; nextPutLine:'"'; 
@@ -742,11 +761,11 @@
 !TestResultReporter class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.30 2011-08-09 22:17:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.31 2011-08-18 22:29:54 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.30 2011-08-09 22:17:41 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/goodies/sunit/TestResultReporter.st,v 1.31 2011-08-18 22:29:54 cg Exp $'
 !
 
 version_SVN