Test times of untimestamped streams are bogus
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Testrepository |
Fix Released
|
Critical
|
Robert Collins |
Bug Description
Test repository applies timestamp information to streams using the AutoTiming result decorator; this is done behind the demultiplexing logic. As such, if a stream is untimed, the automatically applied timing data will be wrong - it will show all tests being near instant, due to the action of the demultiplexer. We need to timestamp incoming streams before they hit the demuxer, either in a separate process (avoiding GIL issues), or more coarsely but probably acceptably, just ahead of the demuxer in process.
The following patch takes the latter approach:=== modified file 'testrepository
--- testrepository/
+++ testrepository/
@@ -16,7 +16,7 @@
import optparse
-import subunit
+import subunit.
from testtools import ConcurrentTestS
from testrepository.
@@ -28,7 +28,8 @@
worker_id = 'worker-%s' % thread_number
tags_to_add = set([worker_id])
tags_to_remove = set()
- return Tagger(result, tags_to_add, tags_to_remove)
+ return subunit.
+ Tagger(result, tags_to_add, tags_to_remove))
class load(Command):
Related branches
- Jonathan Lange: Approve
-
Diff: 111 lines (+22/-10)5 files modifiedNEWS (+12/-0)
testrepository/commands/load.py (+3/-2)
testrepository/repository/__init__.py (+4/-4)
testrepository/tests/commands/test_last.py (+2/-2)
testrepository/tests/test_repository.py (+1/-2)
Changed in testrepository: | |
status: | Triaged → Fix Committed |
Changed in testrepository: | |
milestone: | none → 0.0.7 |
status: | Fix Committed → Fix Released |