diff options
Diffstat (limited to 'coverage/backunittest.py')
-rw-r--r-- | coverage/backunittest.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/coverage/backunittest.py b/coverage/backunittest.py index 95b6fcc6..09574ccb 100644 --- a/coverage/backunittest.py +++ b/coverage/backunittest.py @@ -1,3 +1,6 @@ +# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 +# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt + """Implementations of unittest features from the future.""" # Use unittest2 if it's available, otherwise unittest. This gives us @@ -22,10 +25,13 @@ class TestCase(unittest.TestCase): """ # pylint: disable=missing-docstring - if not unittest_has('assertCountEqual'): - def assertCountEqual(self, s1, s2): - """Assert these have the same elements, regardless of order.""" - self.assertEqual(set(s1), set(s2)) + # Many Pythons have this method defined. But PyPy3 has a bug with it + # somehow (https://bitbucket.org/pypy/pypy/issues/2092), so always use our + # own implementation that works everywhere, at least for the ways we're + # calling it. + def assertCountEqual(self, s1, s2): + """Assert these have the same elements, regardless of order.""" + self.assertEqual(sorted(s1), sorted(s2)) if not unittest_has('assertRaisesRegex'): def assertRaisesRegex(self, *args, **kwargs): |