Skip to content

test_parserhack in test_future is outdated #116860

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

Closed
sobolevn opened this issue Mar 15, 2024 · 1 comment
Closed

test_parserhack in test_future is outdated #116860

sobolevn opened this issue Mar 15, 2024 · 1 comment
Assignees
Labels
tests Tests in the Lib/test dir type-bug An unexpected behavior, bug, or error

Comments

@sobolevn
Copy link
Member

sobolevn commented Mar 15, 2024

Bug report

This test is written for python2.6, which is long gone. It tests some implementation detail with is also long gone:

def test_parserhack(self):
# test that the parser.c::future_hack function works as expected
# Note: although this test must pass, it's not testing the original
# bug as of 2.6 since the with statement is not optional and
# the parser hack disabled. If a new keyword is introduced in
# 2.6, change this to refer to the new future import.
try:
exec("from __future__ import print_function; print 0")
except SyntaxError:
pass
else:
self.fail("syntax error didn't occur")
try:
exec("from __future__ import (print_function); print 0")
except SyntaxError:
pass
else:
self.fail("syntax error didn't occur")

We have new tests for print keyword in other modules:

s = '''print "old style"'''
ckmsg(s, "Missing parentheses in call to 'print'. Did you mean print(...)?")
s = '''print "old style",'''
ckmsg(s, "Missing parentheses in call to 'print'. Did you mean print(...)?")
s = 'print f(a+b,c)'
ckmsg(s, "Missing parentheses in call to 'print'. Did you mean print(...)?")

I propose to remove this test, it does not add any value and might be confusing to readers.

Linked PRs

@sobolevn sobolevn added type-bug An unexpected behavior, bug, or error tests Tests in the Lib/test dir labels Mar 15, 2024
@sobolevn sobolevn self-assigned this Mar 15, 2024
sobolevn added a commit to sobolevn/cpython that referenced this issue Mar 15, 2024
@serhiy-storchaka
Copy link
Member

For reference, the tested code was dead since 3.1 (e3944a5).

miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 28, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this issue May 28, 2024
sobolevn added a commit that referenced this issue May 28, 2024
GH-116861) (#119648)

gh-116860: Remove outdated `test_parserhack` from `test_future` (GH-116861)
(cherry picked from commit 669175b)

Co-authored-by: Nikita Sobolev <[email protected]>
sobolevn added a commit that referenced this issue May 28, 2024
GH-116861) (#119649)

gh-116860: Remove outdated `test_parserhack` from `test_future` (GH-116861)
(cherry picked from commit 669175b)

Co-authored-by: Nikita Sobolev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests Tests in the Lib/test dir type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

2 participants