frame hiding cannot be disabled, interferes with debugging
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
testtools |
Fix Released
|
Critical
|
Jonathan Lange |
Bug Description
Our test frame hiding can't be disabled - the code meant to disable it is not sufficiently effective:
This is a hidden bt:
=======
ERROR: testrepository.
-------
Traceback (most recent call last):
File "/home/
tearDownRes
File "/home/
resource[
AttributeError: 'TestFileReposi
And this is the non hidden one:
-------
Traceback (most recent call last):
File "/home/
return fn(*args, **kwargs)
File "/usr/lib/
tearDownRes
File "/usr/lib/
resource[
AttributeError: 'TestCommand' object has no attribute 'tempdir'
But this is the pdb one:
/usr/
-> "__main__", fname, loader, pkg_name)
/usr/
-> exec code in run_globals
/home/
-> main(sys.argv, sys.stdout)
/home/
-> program = TestProgram(
/home/
-> self.runTests()
/home/
-> self.result = testRunner.
/home/
-> return test.run(result)
/usr/
-> test(result)
/usr/
-> return self.run(*args, **kwds)
/usr/
-> test(result)
/usr/
-> return self.run(*args, **kwds)
/home/
-> return self.__
/home/
-> return self._run_
/home/
-> return self._run_
/home/
-> self._run_core()
/home/
-> self._run_cleanups, self.result):
/home/
-> return fn(*args, **kwargs)
/home/
-> function, *arguments, **keywordArguments)
/home/
-> return self._got_
/home/
-> self.case.
/home/
-> self._report_
> /home/robertc/
-> self.addDetail(
Of the three, only the last is useful for debugging issues in the test environment. Now, I acknowledge that most users, most of the time, are happy with the first. Getting something approximately the second is essential for debugging testtools itself, and other similar environments.
I consider this a regression from when we didn't hide at all (even though the decision to hide some of the time was taken with eyes open, we didn't mean to cripple ourselves), so triaging critical.
Related branches
- testtools committers: Pending requested
-
Diff: 503 lines (+115/-114)8 files modifiedNEWS (+6/-0)
testtools/content.py (+73/-5)
testtools/testresult/real.py (+7/-48)
testtools/tests/helpers.py (+11/-21)
testtools/tests/test_content.py (+7/-1)
testtools/tests/test_fixturesupport.py (+5/-5)
testtools/tests/test_helpers.py (+1/-28)
testtools/tests/test_testcase.py (+5/-6)
tags: | added: traceback |
tags: | removed: regression |
Changed in testtools: | |
assignee: | nobody → Jonathan Lange (jml) |
status: | Triaged → In Progress |
Changed in testtools: | |
status: | In Progress → Fix Committed |
milestone: | none → next |
status: | Fix Committed → Fix Released |
How did you get the non-hidden stack?