doesn't work with python2.6, TypeError: unhashable type: 'ContextSuite'

Bug #337585 reported by Elliot Murphy
32
Affects Status Importance Assigned to Milestone
nose (Ubuntu)
Fix Released
High
Martin Pitt

Bug Description

This is fixed upstream, in the 10.4 release.

http://code.google.com/p/python-nose/issues/detail?id=161

nosetests is pretty well unusable in jaunty due to this problem. I'm not sure whether it's preferable to apply for a freeze exception, or to try and extract just the patch for this.

Revision history for this message
Elliot Murphy (statik) wrote :

Here is what I get when running nosetests in jaunty with python2.6 as the system python:

Traceback (most recent call last):
  File "/usr/bin/nosetests", line 8, in <module>
    load_entry_point('nose==0.10.3', 'console_scripts', 'nosetests')()
  File "/var/lib/python-support/python2.6/nose/core.py", line 219, in __init__
    argv=argv, testRunner=testRunner, testLoader=testLoader)
  File "/usr/lib/python2.6/unittest.py", line 817, in __init__
    self.runTests()
  File "/var/lib/python-support/python2.6/nose/core.py", line 298, in runTests
    result = self.testRunner.run(self.test)
  File "/var/lib/python-support/python2.6/nose/core.py", line 62, in run
    test(result)
  File "/var/lib/python-support/python2.6/nose/suite.py", line 132, in __call__
    return self.run(*arg, **kw)
  File "/var/lib/python-support/python2.6/nose/suite.py", line 162, in run
    test(orig)
  File "/usr/lib/python2.6/unittest.py", line 464, in __call__
    return self.run(*args, **kwds)
  File "/usr/lib/python2.6/unittest.py", line 457, in run
    for test in self._tests:
  File "/var/lib/python-support/python2.6/nose/suite.py", line 76, in _get_tests
    for test in self.test_generator:
  File "/var/lib/python-support/python2.6/nose/loader.py", line 165, in loadTestsFromDir
    entry_path, discovered=True)
  File "/var/lib/python-support/python2.6/nose/loader.py", line 372, in loadTestsFromName
    return suite([Failure(*exc)])
  File "/var/lib/python-support/python2.6/nose/suite.py", line 332, in __call__
    return self.makeSuite(tests, context)
  File "/var/lib/python-support/python2.6/nose/suite.py", line 377, in makeSuite
    self.context.setdefault(suite, []).append(context)
TypeError: unhashable type: 'ContextSuite'

Markus Korn (thekorn)
Changed in nose (Ubuntu):
status: New → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

That's the entire 0.10.4 changelog:

0.10.4

- nose is now compatible with python 2.6.

Thus it makes a lot of sense to just update to that. I'll give it a test.

Changed in nose (Ubuntu):
assignee: nobody → pitti
importance: Undecided → High
status: Confirmed → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

Works fine; 0.10.4 synced from Debian.

Changed in nose (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.