testing-cabal / testtools

Testtools - tasteful testing for python
https://testtools.readthedocs.io/en/latest/
Other
95 stars 88 forks source link

python 3.7 + 2.3.0: 2 test failures #253

Closed 0-wiz-0 closed 2 years ago

0-wiz-0 commented 7 years ago

2.2.0 has 38 test failures on NetBSD-7.99.59/amd64 with testscenarios-0.5.0, extras-1.0.0, fixtures-3.0.0, mimeparse-0.1.4, unittest2-1.1.0:

cd /scratch/devel/py-testtools/work/testtools-2.2.0 && py.test-2.7
============================================================================= test session starts =============================================================================
platform netbsd7 -- Python 2.7.13, pytest-3.0.6, py-1.4.30, pluggy-0.4.0
rootdir: /scratch/devel/py-testtools/work/testtools-2.2.0, inifile:
collected 1361 items

testtools/tests/test_assert_that.py .............
testtools/tests/test_compat.py ........s..............
testtools/tests/test_content.py .....................s................
testtools/tests/test_content_type.py .........
testtools/tests/test_distutilscmd.py ...
testtools/tests/test_fixturesupport.py ........
testtools/tests/test_helpers.py ...
testtools/tests/test_monkey.py ..............
testtools/tests/test_run.py .s..........
testtools/tests/test_runtest.py ........................
testtools/tests/test_tags.py ..........
testtools/tests/test_testcase.py ..................................................................................................................F........................................
testtools/tests/test_testresult.py FF..........................................................................................................................................................................................................................................................................................................................................................FFF.......................................................................................................s.....................................................................................................x..ss..........x..ss......................................
testtools/tests/test_testsuite.py .................
testtools/tests/test_with_with.py ..........
testtools/tests/matchers/test_basic.py FFFF....................................................................
testtools/tests/matchers/test_const.py FFFF.........
testtools/tests/matchers/test_datastructures.py FFFF.........................
testtools/tests/matchers/test_dict.py FFFF...............................
testtools/tests/matchers/test_doctest.py FFFF............
testtools/tests/matchers/test_exception.py FFFF..............................
testtools/tests/matchers/test_filesystem.py ............................
testtools/tests/matchers/test_higherorder.py FFFF........................................
testtools/tests/matchers/test_impl.py ...........
testtools/tests/matchers/test_warnings.py FFFF...................................
testtools/tests/twistedsupport/test_deferred.py sss.
testtools/tests/twistedsupport/test_matchers.py sssssssssssss.
testtools/tests/twistedsupport/test_runtest.py sssssssssssssssssssssssssssssssssssssssss.
testtools/tests/twistedsupport/test_spinner.py ssssssssssssssssssssssssss.

================================================================================== FAILURES ===================================================================================
_________________________________________________________________ TestRunTwiceNondeterministic.test_runTwice __________________________________________________________________
NOTE: Incompatible Exception Representation, displaying natively:

_StringException: Traceback (most recent call last):
  File "/scratch/devel/py-testtools/work/testtools-2.2.0/testtools/runtest.py", line 191, in _run_user
    return fn(*args, **kwargs)
  File "/scratch/devel/py-testtools/work/testtools-2.2.0/testtools/testcase.py", line 719, in _run_test_method
    return self._get_test_method()()
  File "/scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testcase.py", line 1442, in test_runTwice
    test = self.case
AttributeError: 'TestRunTwiceNondeterministic' object has no attribute 'case'

______________________________________________________________ TestControlContract.test_initially_not_shouldStop ______________________________________________________________

self = <testtools.tests.test_testresult.TestControlContract object at 0x729b73a6d0d0>

    def test_initially_not_shouldStop(self):
        # A result is not set to stop initially.
>       result = self.makeResult()
E       AttributeError: 'TestControlContract' object has no attribute 'makeResult'

testtools/tests/test_testresult.py:143: AttributeError
________________________________________________________________ TestControlContract.test_stop_sets_shouldStop ________________________________________________________________

self = <testtools.tests.test_testresult.TestControlContract object at 0x729b73a44b50>

    def test_stop_sets_shouldStop(self):
        # Calling 'stop()' sets 'shouldStop' to True.
>       result = self.makeResult()
E       AttributeError: 'TestControlContract' object has no attribute 'makeResult'

testtools/tests/test_testresult.py:148: AttributeError
_________________________________________________________________ TestStreamResultContract.test_startTestRun __________________________________________________________________

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724b2d10>

    def test_startTestRun(self):
>       result = self._make_result()

testtools/tests/test_testresult.py:511:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724b2d10>

    def _make_result(self):
>       raise NotImplementedError(self._make_result)
E       NotImplementedError: <bound method TestStreamResultContract._make_result of <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724b2d10>>

testtools/tests/test_testresult.py:508: NotImplementedError
_____________________________________________________________________ TestStreamResultContract.test_files _____________________________________________________________________

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8e90>

    def test_files(self):
        # Test parameter combinations when files are being emitted.
>       result = self._make_result()

testtools/tests/test_testresult.py:517:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8e90>

    def _make_result(self):
>       raise NotImplementedError(self._make_result)
E       NotImplementedError: <bound method TestStreamResultContract._make_result of <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8e90>>

testtools/tests/test_testresult.py:508: NotImplementedError
__________________________________________________________________ TestStreamResultContract.test_test_status __________________________________________________________________

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8c90>

    def test_test_status(self):
        # Tests non-file attachment parameter combinations.
>       result = self._make_result()

testtools/tests/test_testresult.py:535:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8c90>

    def _make_result(self):
>       raise NotImplementedError(self._make_result)
E       NotImplementedError: <bound method TestStreamResultContract._make_result of <testtools.tests.test_testresult.TestStreamResultContract object at 0x729b724a8c90>>

testtools/tests/test_testresult.py:508: NotImplementedError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730d1e90>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730df090>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730d1e10>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730e1090>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b7344b690>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b734bcf10>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720628d0>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b73485ed0>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b734932d0>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730d10d0>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b730d12d0>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b73485a90>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b73493410>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b724fcd90>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b724eb110>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b724fced0>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b73493490>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b724fc290>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720b6590>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720b5e10>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720b6a90>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720a2390>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720b69d0>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720b6510>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720786d0>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b7207a690>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b72069050>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b720788d0>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
__________________________________________________________________ TestMatchersInterface.test_matches_match ___________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b7207f390>

    def test_matches_match(self):
>       matcher = self.matches_matcher
E       AttributeError: 'TestMatchersInterface' object has no attribute 'matches_matcher'

testtools/tests/matchers/helpers.py:11: AttributeError
______________________________________________________________________ TestMatchersInterface.test__str__ ______________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b7344b950>

    def test__str__(self):
        # [(expected, object to __str__)].
        from testtools.matchers._doctest import DocTestMatches
>       examples = self.str_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'str_examples'

testtools/tests/matchers/helpers.py:24: AttributeError
_______________________________________________________________ TestMatchersInterface.test_describe_difference ________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b72069790>

    def test_describe_difference(self):
        # [(expected, matchee, matcher), ...]
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:30: AttributeError
_________________________________________________________________ TestMatchersInterface.test_mismatch_details _________________________________________________________________

self = <testtools.tests.matchers.helpers.TestMatchersInterface object at 0x729b734bc690>

    def test_mismatch_details(self):
        # The mismatch object must provide get_details, which must return a
        # dictionary mapping names to Content objects.
>       examples = self.describe_examples
E       AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

testtools/tests/matchers/helpers.py:38: AttributeError
=========================================================================== pytest-warning summary ============================================================================
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_distutilscmd.py cannot collect test class 'TestCommand' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_monkey.py cannot collect test class 'TestObj' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_run.py cannot collect test class 'TestSuite' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_runtest.py cannot collect test class 'TestResult' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testresult.py cannot collect test class 'TestResult' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testresult.py cannot collect test class 'TestControl' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testresult.py cannot collect test class 'TestResultDecorator' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testresult.py cannot collect test class 'TestByTestResult' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testresult.py cannot collect test class 'TestSuite' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/test_testsuite.py cannot collect test class 'TestByTestResult' because it has a __init__ constructor
WC1 /scratch/devel/py-testtools/work/testtools-2.2.0/testtools/tests/twistedsupport/test_runtest.py cannot collect test class 'TestResult' because it has a __init__ constructor
============================================== 38 failed, 1230 passed, 91 skipped, 2 xfailed, 11 pytest-warnings in 3.27 seconds ==============================================
*** Error code 1
freeekanayaka commented 7 years ago

Same, as for the fixtures ticket, I'm going to close this unless somebody wants to maintain support for NetBSD.

0-wiz-0 commented 7 years ago

Do you have any idea how e.g.

AttributeError: 'TestMatchersInterface' object has no attribute 'describe_examples'

could happen, and in particular only on NetBSD?

0-wiz-0 commented 5 years ago

When not using py-test but python3.7 -m testtools.run testtools.tests.test_suite, I see:

======================================================================
FAIL: testtools.tests.matchers.test_exception.TestMatchesExceptionInstanceInterface.test__str__
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/scratch/devel/py-testtools/work/testtools-2.3.0/testtools/tests/matchers/helpers.py", line 26, in test__str__
    self.assertThat(matcher, DocTestMatches(expected))
  File "/scratch/devel/py-testtools/work/testtools-2.3.0/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: Expected:
    MatchesException(Exception('foo',))
Got:
    MatchesException(Exception('foo'))
======================================================================
FAIL: testtools.tests.matchers.test_exception.TestMatchesExceptionInstanceInterface.test_describe_difference
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/scratch/devel/py-testtools/work/testtools-2.3.0/testtools/tests/matchers/helpers.py", line 33, in test_describe_difference
    self.assertEqual(difference, mismatch.describe())
  File "/scratch/devel/py-testtools/work/testtools-2.3.0/testtools/testcase.py", line 411, in assertEqual
    self.assertThat(observed, matcher, message)
  File "/scratch/devel/py-testtools/work/testtools-2.3.0/testtools/testcase.py", line 498, in assertThat
    raise mismatch_error
testtools.matchers._impl.MismatchError: !=:
reference = "ValueError('bar',) has different arguments to ValueError('foo',)."
actual    = "ValueError('bar') has different arguments to ValueError('foo')."

Btw, the Makefile hardcodes "PYTHON=python" and not all distributions provide an unversioned python binary.

rbtcollins commented 5 years ago

Thats very odd indeed.

re: the python command - this does predate PEP-394, but as we currently target source compat with both python 2 and 3, it is appropriate to continue to default to python. We should probably change that to ?= rather than = though to make it easy for you to supply the python executable you wish to use.

0-wiz-0 commented 2 years ago

2.4.0 and 2.5.0 have no test failures any longer. Thanks!