self.assertEqual(stdout.decode('utf-8').strip().replace('\r\n', '\n').replace('\r', '\n'),
"3\n=3")
+ def test_syntax_warning_infinite_recursion_in_file(self):
+ with temp_cwd():
+ script = 'script.py'
+ with open(script, 'w') as f:
+ f.write(r"print(f'\{1}')")
+
+ _, stdout, stderr = assert_python_ok(script)
+ self.assertIn(rb'\1', stdout)
+ self.assertEqual(len(stderr.strip().splitlines()), 2)
+
if __name__ == '__main__':
unittest.main()
static int
warn_invalid_escape_sequence(struct tok_state *tok, int first_invalid_escape_char)
{
+ if (!tok->report_warnings) {
+ return 0;
+ }
PyObject *msg = PyUnicode_FromFormat(
"invalid escape sequence '\\%c'",