[squeak-dev] The Trunk: SUnit-mt.120.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Sep 16 07:32:44 UTC 2019
Marcel Taeumel uploaded a new version of SUnit to project The Trunk:
http://source.squeak.org/trunk/SUnit-mt.120.mcz
==================== Summary ====================
Name: SUnit-mt.120
Author: mt
Time: 16 September 2019, 9:32:46.219266 am
UUID: a9b8b710-1eca-3a41-b2f9-bd33434e66c2
Ancestors: SUnit-mt.119
Restore time measurement for tests in a way that does not affect smalltalkCI.
Cope with interrupted runs that somehow store 'nil' as duration...
=============== Diff against SUnit-mt.119 ===============
Item was changed:
----- Method: TestResult>>duration (in category 'accessing') -----
duration
+ ^ self durations inject: 0 into: [:sum :each | sum + (each ifNil: [0])]!
- ^ self durations inject: 0 into: [:sum :each | sum + each]!
Item was changed:
----- Method: TestResult>>runCase: (in category 'running') -----
runCase: aTestCase
+
+ | testCasePassed timeToRun |
- | testCasePassed |
testCasePassed := true.
+
+ [timeToRun := [aTestCase runCase] timeToRunWithoutGC]
+ on: self class failure
+ do: [:signal |
- [[aTestCase runCase]
- on: self class failure
- do:
- [:signal |
failures add: aTestCase.
testCasePassed := false.
+ signal return: false]
+ on: self class error
+ do: [:signal |
+ errors add: aTestCase.
+ testCasePassed := false.
+ signal return: false].
+
+ testCasePassed ifTrue: [passed add: aTestCase].
+ self durations at: aTestCase put: timeToRun.!
- signal return: false]]
- on: self class error
- do:
- [:signal |
- errors add: aTestCase.
- testCasePassed := false.
- signal return: false].
- testCasePassed ifTrue: [passed add: aTestCase]!
Item was removed:
- ----- Method: TestResult>>runCaseMeasured: (in category 'running') -----
- runCaseMeasured: aTestCase
-
- self durations
- at: aTestCase
- put: [self runCase: aTestCase] timeToRunWithoutGC.!
Item was changed:
----- Method: TestResult>>selectResultsForTestCase: (in category 'history') -----
selectResultsForTestCase: aTestCaseClass
| passedSelectors errorsSelectors failuresSelectors testCaseDurations |
passedSelectors := self passed
select: [:testCase | testCase class == aTestCaseClass ] thenCollect: [:testCase | testCase selector].
errorsSelectors := self errors
select: [:testCase | testCase class == aTestCaseClass ] thenCollect: [:testCase | testCase selector].
failuresSelectors := self failures
select: [:testCase | testCase class == aTestCaseClass ] thenCollect: [:testCase | testCase selector].
testCaseDurations := Dictionary new.
self durations keysAndValuesDo: [:testCase :milliseconds |
testCase class == aTestCaseClass ifTrue: [testCaseDurations at: testCase selector put: milliseconds]].
^ self class newTestDictionary
at: #timeStamp put: self timeStamp; "Keep this result's time stamp."
at: #passed put: passedSelectors asSet;
at: #failures put: failuresSelectors asSet;
at: #errors put: errorsSelectors asSet;
at: #durations put: testCaseDurations;
+ at: #duration put: (testCaseDurations inject: 0 into: [:sum :each | sum + (each ifNil: [0])]);
- at: #duration put: (testCaseDurations inject: 0 into: [:sum :each | sum + each]);
yourself
!
More information about the Squeak-dev
mailing list
|