added:
#reportXml_jUnitTest:
#reportXml_jUnitTestOutcome:
comment/format in:
#reportTracebackFromExceptionDetailOf:
#reportXml_jUnitResultAndTraceback:state:
changed:9 methods
--- 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