Cannot run testr tests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Testrepository |
Fix Released
|
Critical
|
Robert Collins |
Bug Description
When I run the testr tests using testr, with the latest trunk of testresources, testscenarios and fixtures, I get many, many errors. Here's a representative one:
=======
ERROR: testrepository.
-------
Traceback (most recent call last):
File "/home/
tearDownRes
File "/home/
resource[
AttributeError: 'TestFileReposi
I don't know why this is happening and a quick debug revealed nothing.
Related branches
Changed in testrepository: | |
status: | Triaged → Fix Committed |
Changed in testrepository: | |
milestone: | none → next |
Changed in testrepository: | |
status: | Fix Committed → Fix Released |
Thanks for noticing this!
I hacked in full frame reporting (btw that seems broken, I'll file a separate bug on testtools about it - its not showing TestCase.run(), the runner frames or anything).
I see this: tests.commands. test_list_ tests.TestComma nd.test_ no_config_ file_errors ------- ------- ------- ------- ------- ------- ------- ------- ------- robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py", line 169, in _run_user pymodules/ python2. 7/testresources /__init_ _.py", line 648, in tearDownResources ources( self, self.resources, _get_result()) pymodules/ python2. 7/testresources /__init_ _.py", line 670, in tearDownResources 1].finishedWith (getattr( test, resource[0]), result)
ERROR: testrepository.
-------
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'
which helps a little, but not enough, because I can't tell where the call came from.
pdb tells me this, which is considerably more helpful: lib/python2. 7/runpy. py(162) _run_module_ as_main( ) lib/python2. 7/runpy. py(72)_ run_code( ) robertc/ source/ unittest/ testtools/ working/ testtools/ run.py( 332)<module> () robertc/ source/ unittest/ testtools/ working/ testtools/ run.py( 329)main( ) argv=argv, testRunner=runner, stdout=stdout) robertc/ source/ unittest/ testtools/ working/ testtools/ run.py( 173)__init_ _() robertc/ source/ unittest/ testtools/ working/ testtools/ run.py( 322)runTests( ) run(self. test) robertc/ source/ unittest/ testtools/ working/ testtools/ run.py( 46)run( ) lib/python2. 7/unittest/ suite.py( 103)run( ) lib/python2. 7/unittest/ suite.py( 65)__call_ _() lib/pymodules/ python2. 7/testresources /__init_ _.py(245) run() lib/python2. 7/unittest/ case.py( 385)__call_ _() robertc/ source/ unittest/ testtools/ working/ testtools/ testcase. py(523) run() RunTest( self, self.exception_ handlers) .run(result) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(74)run( ) one(actual_ result) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(88)_ run_one( ) prepared_ result( ExtendedToOrigi nalDecorator( result) ) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(100) _run_prepared_ result( ) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(135) _run_core( ) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(169) _run_user( ) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(154) _run_cleanups( ) robertc/ source/ unittest/ testtools/ working/ testtools/ runtest. py(173) _run_user( ) user_exception( sys.exc_ info(.. .
/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_