-
-
Notifications
You must be signed in to change notification settings - Fork 32.1k
gh-108303: Move test_future
into its own subdir
#109368
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import os | ||
from test import support | ||
|
||
|
||
def load_tests(*args): | ||
return support.load_package_tests(os.path.dirname(__file__), *args) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,57 +25,71 @@ def check_syntax_error(self, err, basename, lineno, offset=1): | |
self.assertEqual(err.offset, offset) | ||
|
||
def test_future1(self): | ||
with import_helper.CleanImport('future_test1'): | ||
from test import future_test1 | ||
with import_helper.CleanImport('test.test_future_stmt.future_test1'): | ||
from test.test_future_stmt import future_test1 | ||
self.assertEqual(future_test1.result, 6) | ||
|
||
def test_future2(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest to rename the file and test to: |
||
with import_helper.CleanImport('future_test2'): | ||
from test import future_test2 | ||
with import_helper.CleanImport('test.test_future_stmt.future_test2'): | ||
from test.test_future_stmt import future_test2 | ||
self.assertEqual(future_test2.result, 6) | ||
|
||
def test_future3(self): | ||
with import_helper.CleanImport('test_future3'): | ||
from test import test_future3 | ||
def test_future_single_import(self): | ||
with import_helper.CleanImport( | ||
'test.test_future_stmt.test_future_single_import', | ||
): | ||
from test.test_future_stmt import test_future_single_import | ||
|
||
def test_future_multiple_imports(self): | ||
with import_helper.CleanImport( | ||
'test.test_future_stmt.test_future_multiple_imports', | ||
): | ||
from test.test_future_stmt import test_future_multiple_imports | ||
|
||
def test_future_multiple_features(self): | ||
with import_helper.CleanImport( | ||
"test.test_future_stmt.test_future_multiple_features", | ||
): | ||
from test.test_future_stmt import test_future_multiple_features | ||
|
||
def test_badfuture3(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This one tests that a typo is catched properly, that an invalid name raises SyntaxError: Maybe: |
||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future3 | ||
from test.test_future_stmt import badsyntax_future3 | ||
self.check_syntax_error(cm.exception, "badsyntax_future3", 3) | ||
|
||
def test_badfuture4(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future4 | ||
from test.test_future_stmt import badsyntax_future4 | ||
self.check_syntax_error(cm.exception, "badsyntax_future4", 3) | ||
|
||
def test_badfuture5(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
import fails if done after another import. |
||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future5 | ||
from test.test_future_stmt import badsyntax_future5 | ||
self.check_syntax_error(cm.exception, "badsyntax_future5", 4) | ||
|
||
def test_badfuture6(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Import after a statement. |
||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future6 | ||
from test.test_future_stmt import badsyntax_future6 | ||
self.check_syntax_error(cm.exception, "badsyntax_future6", 3) | ||
|
||
def test_badfuture7(self): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ... Maybe these tests would be more explicit if they would not use a file, but pass the code as a string (maybe use textwrap.dedent()). |
||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future7 | ||
from test.test_future_stmt import badsyntax_future7 | ||
self.check_syntax_error(cm.exception, "badsyntax_future7", 3, 54) | ||
|
||
def test_badfuture8(self): | ||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future8 | ||
from test.test_future_stmt import badsyntax_future8 | ||
self.check_syntax_error(cm.exception, "badsyntax_future8", 3) | ||
|
||
def test_badfuture9(self): | ||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future9 | ||
from test.test_future_stmt import badsyntax_future9 | ||
self.check_syntax_error(cm.exception, "badsyntax_future9", 3) | ||
|
||
def test_badfuture10(self): | ||
with self.assertRaises(SyntaxError) as cm: | ||
from test import badsyntax_future10 | ||
from test.test_future_stmt import badsyntax_future10 | ||
self.check_syntax_error(cm.exception, "badsyntax_future10", 3) | ||
|
||
def test_ensure_flags_dont_clash(self): | ||
|
@@ -113,10 +127,6 @@ def test_parserhack(self): | |
else: | ||
self.fail("syntax error didn't occur") | ||
|
||
def test_multiple_features(self): | ||
with import_helper.CleanImport("test.test_future5"): | ||
from test import test_future5 | ||
|
||
def test_unicode_literals_exec(self): | ||
scope = {} | ||
exec("from __future__ import unicode_literals; x = ''", {}, scope) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test_future1 has an interesting comment that you can copy there:
I suggest to rename the file and test to:
test_import_nested_scope_twice
. For the filename, just droptest_
prefix:import_nested_scope_twice.py
?