summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorMarta Gómez Macías <mgmacias@google.com>2023-05-22 11:30:18 (GMT)
committerGitHub <noreply@github.com>2023-05-22 11:30:18 (GMT)
commit729b252241966f464cc46e176fb854dbcc5296cb (patch)
tree504b8a8c45364d456124dcbe79140bd0a5b7c2ad /Lib/test
parent0a7796052acb9cec8b13f8d0a5f304f56f26ec5b (diff)
downloadcpython-729b252241966f464cc46e176fb854dbcc5296cb.zip
cpython-729b252241966f464cc46e176fb854dbcc5296cb.tar.gz
cpython-729b252241966f464cc46e176fb854dbcc5296cb.tar.bz2
gh-104741: Add line number attribute to indentation error exception (#104743)
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_tabnanny.py2
-rw-r--r--Lib/test/test_tokenize.py11
2 files changed, 11 insertions, 2 deletions
diff --git a/Lib/test/test_tabnanny.py b/Lib/test/test_tabnanny.py
index dac4731..aa70011 100644
--- a/Lib/test/test_tabnanny.py
+++ b/Lib/test/test_tabnanny.py
@@ -317,7 +317,7 @@ class TestCommandLine(TestCase):
with TemporaryPyFile(SOURCE_CODES["wrong_indented"]) as file_path:
stderr = f"{file_path!r}: Token Error: "
stderr += ('unindent does not match any outer indentation level'
- ' (<tokenize>, line 3)')
+ ' (<string>, line 3)')
self.validate_cmd(file_path, stderr=stderr, expect_failure=True)
def test_with_error_free_file(self):
diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py
index dda7243..8e7ab3d 100644
--- a/Lib/test/test_tokenize.py
+++ b/Lib/test/test_tokenize.py
@@ -92,9 +92,18 @@ def k(x):
readline = BytesIO(indent_error_file).readline
with self.assertRaisesRegex(IndentationError,
"unindent does not match any "
- "outer indentation level"):
+ "outer indentation level") as e:
for tok in tokenize(readline):
pass
+ self.assertEqual(e.exception.lineno, 3)
+ self.assertEqual(e.exception.filename, '<string>')
+ self.assertEqual(e.exception.end_lineno, None)
+ self.assertEqual(e.exception.end_offset, None)
+ self.assertEqual(
+ e.exception.msg,
+ 'unindent does not match any outer indentation level')
+ self.assertEqual(e.exception.offset, 9)
+ self.assertEqual(e.exception.text, ' x += 5\n')
def test_int(self):
# Ordinary integers and binary operators