New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IDLE list.append calltips test failures #60859
Comments
There are three IDLE test failures in the 3.2 branch: $ ./python.exe Lib/idlelib/CallTips.py
list.append - expected
'L.append(object) -> None -- append object to end'
- but got
'L.append(object) -- append object to end'
[].append - expected
'L.append(object) -> None -- append object to end'
- but got
'L.append(object) -- append object to end'
List.append - expected
'L.append(object) -> None -- append object to end'
- but got
'L.append(object) -- append object to end'
3 of 41 tests failed |
In 3.2.3
>>> list.append.__doc__
'L.append(object) -- append object to end'
In 3.3.0
>>> list.append.__doc__
'L.append(object) -> None -- append object to end' I checked the other 6 pure mutation methods. It seems I pushed the June 7 bpo-12510 patch -- msg162510 -- which added the .append tests, without properly testing in 3.2. A fix for 3.2 is easy, but the deeper issue is the fragility of comparing external text to hard-coded expected text. I knew when I wrote the tests that that could and would be a problem in the future, but did not notice that it already was. One solution is not to compare again external strings; but then how do we know that the tooltips work with such? Another is to fetch the external string in the test code, but that amounts to duplicating the code in the tooltip function and testing it against itself; so is it really a test? The third option is to leave the tests vulnerable and patch them in a version specific manner when they break. |
Could you mock or monkey-patch what you are getting a tool tip for (i.e. set the "external" string you are checking for)? |
New changeset 779e5511d803 by Terry Jan Reedy in branch '2.7': New changeset 4a505a901b2e by Terry Jan Reedy in branch '3.3': New changeset c4a2d0538441 by Terry Jan Reedy in branch 'default': |
When I moved tests from CallTips.py to test_calltips.py, I reduced but did not eliminate the use of builtins. I decided instead to explain in the file why there is no substitute for the real thing, and how to fix a simple mismatch like that reported here. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: