New submission from Larry Hastings:
If you run Lib/test/test_userdict.py enough times, sooner or later it'll
produce a spurious error. I wrote a shell script that ran "./python -m test
test_userdict" a zillion times; here's a snippet of output from running that
script:
[...]
1 test OK.
[1/1] test_userdict
1 test OK.
[1/1] test_userdict
1 test OK.
[1/1] test_userdict
test test_userdict failed -- Traceback (most recent call last):
File "/home/larry/src/python/clinic/Lib/test/test_userdict.py", line 48, in
test_all
self.assertEqual(repr(u2), repr(d2))
AssertionError: "{'one': 1, 'two': 2}" != "{'two': 2, 'one': 1}"
- {'one': 1, 'two': 2}
+ {'two': 2, 'one': 1}
1 test failed:
test_userdict
[1/1] test_userdict
1 test OK.
[1/1] test_userdict
1 test OK.
[...]
Line 48 reads as follows:
self.assertEqual(repr(u2), repr(d2))
I realize this code is ancient--but it seems to rely on repr of a dict
producing consistent output, which is silly and has always been wrong.
Raymond, you want to take this?
----------
components: Library (Lib)
messages: 203509
nosy: larry, rhettinger
priority: normal
severity: normal
stage: needs patch
status: open
title: UserDict test assumes ordered dict repr
type: behavior
versions: Python 3.4
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue19664>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com