Dear Maintainer,

AssertionError comes from comparing '...' occurrences in
test result output with the number of ran tests.
I've added this code:

    with open('/tmp/debian-tmp', 'a') as f:
        import pprint, copy
        tmp_results = copy.deepcopy(results)
        for k, v in tmp_results.items():
            v['output'] = v['output'].split('\n')
        pprint.pprint(tmp_results, f, indent=2)

at line 292 in test/test_utils/run_tests.py [1]; two dicts and the diff
between Python 3.11 and 3.12 are attached. (Please note different values
for 'num_tests' keys).

Something has been changed in python 3.12 at presenting test results
when there are skipped tests:

(test.py)

import unittest

class FooTest(unittest.TestCase):
    @unittest.skip
    def test_foo(self):
        self.assertTrue(True)

    def test_bar(self):
        self.assertFalse(False)

if __name__ == '__main__':
    unittest.main()


$ python3.11 test.py
.s
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK (skipped=1)


$ python3.12 test.py
.s
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK (skipped=1)


I don't know if this change is intended or it's a bug (I wasn't
able to find references in python 3.12 changelog).

Kind Regards

[1] 
https://sources.debian.org/src/pygame/2.5.2-1.1/test/test_utils/run_tests.py/#L292


Attachment: 3.11-results.tar.gz
Description: application/gzip

Attachment: 3.12-results.tar.gz
Description: application/gzip

Attachment: diff-results.tar.gz
Description: application/gzip

Reply via email to