← Back to team overview

testtools-dev team mailing list archive

[Bug 681045] Re: testloader does not help with modules that cannot be imported

 

http://bugs.python.org/issue7559 is the Python bug.

Thanks,

James


** Bug watch added: Python Roundup #7559
   http://bugs.python.org/issue7559

-- 
You received this bug notification because you are a member of testtools
developers, which is subscribed to testtools.
https://bugs.launchpad.net/bugs/681045

Title:
  testloader does not help with modules that cannot be imported

Status in Test Repository:
  Invalid
Status in testtools:
  Triaged

Bug description:
  When running testr's own tests using testr, when there's some kind of
  failure preventing one of the tests from importing correctly, you get
  an error like this:

  $ testr run
  running=python -m subunit.run testrepository.tests.test_suite| testr load
  Traceback (most recent call last):
    File "/usr/lib/python2.6/runpy.py", line 122, in _run_module_as_main
      "__main__", fname, loader, pkg_name)
    File "/usr/lib/python2.6/runpy.py", line 34, in _run_code
      exec code in run_globals
    File "/usr/lib/python2.6/dist-packages/subunit/run.py", line 72, in <module>
      SubunitTestProgram(module=None, argv=sys.argv, testRunner=runner)
    File "/usr/lib/python2.6/dist-packages/testtools/run.py", line 133, in __init__
      self.parseArgs(argv)
    File "/usr/lib/python2.6/dist-packages/testtools/run.py", line 188, in parseArgs
      self.createTests()
    File "/usr/lib/python2.6/dist-packages/testtools/run.py", line 199, in createTests
      self.module)
    File "/usr/lib/python2.6/unittest.py", line 613, in loadTestsFromNames
      suites = [self.loadTestsFromName(name, module) for name in names]
    File "/usr/lib/python2.6/unittest.py", line 598, in loadTestsFromName
      test = obj()
    File "testrepository/tests/__init__.py", line 70, in test_suite
      suite = loader.loadTestsFromNames(module_names)
    File "/usr/lib/python2.6/unittest.py", line 613, in loadTestsFromNames
      suites = [self.loadTestsFromName(name, module) for name in names]
    File "/usr/lib/python2.6/unittest.py", line 584, in loadTestsFromName
      parent, obj = obj, getattr(obj, part)
  AttributeError: 'module' object has no attribute 'test_arguments'
  id=2, tests=0

  Many other test runners (e.g. trial, zope.testrunner) do substantially
  better than this.