@@ -111,13 +111,23 @@ def test_eval_str_invalid_escape(self):
111111 continue
112112 with self .assertWarns (DeprecationWarning ):
113113 self .assertEqual (eval (r"'\%c'" % b ), '\\ ' + chr (b ))
114+
114115 with warnings .catch_warnings (record = True ) as w :
115116 warnings .simplefilter ('always' , category = DeprecationWarning )
116117 eval ("'''\n \\ z'''" )
117118 self .assertEqual (len (w ), 1 )
118119 self .assertEqual (w [0 ].filename , '<string>' )
119120 self .assertEqual (w [0 ].lineno , 2 )
120121
122+ with warnings .catch_warnings (record = True ) as w :
123+ warnings .simplefilter ('error' , category = DeprecationWarning )
124+ with self .assertRaises (SyntaxError ) as cm :
125+ eval ("'''\n \\ z'''" )
126+ exc = cm .exception
127+ self .assertEqual (w , [])
128+ self .assertEqual (exc .filename , '<string>' )
129+ self .assertEqual (exc .lineno , 2 )
130+
121131 def test_eval_str_raw (self ):
122132 self .assertEqual (eval (""" r'x' """ ), 'x' )
123133 self .assertEqual (eval (r""" r'\x01' """ ), '\\ ' + 'x01' )
@@ -150,13 +160,23 @@ def test_eval_bytes_invalid_escape(self):
150160 continue
151161 with self .assertWarns (DeprecationWarning ):
152162 self .assertEqual (eval (r"b'\%c'" % b ), b'\\ ' + bytes ([b ]))
163+
153164 with warnings .catch_warnings (record = True ) as w :
154165 warnings .simplefilter ('always' , category = DeprecationWarning )
155166 eval ("b'''\n \\ z'''" )
156167 self .assertEqual (len (w ), 1 )
157168 self .assertEqual (w [0 ].filename , '<string>' )
158169 self .assertEqual (w [0 ].lineno , 2 )
159170
171+ with warnings .catch_warnings (record = True ) as w :
172+ warnings .simplefilter ('error' , category = DeprecationWarning )
173+ with self .assertRaises (SyntaxError ) as cm :
174+ eval ("b'''\n \\ z'''" )
175+ exc = cm .exception
176+ self .assertEqual (w , [])
177+ self .assertEqual (exc .filename , '<string>' )
178+ self .assertEqual (exc .lineno , 2 )
179+
160180 def test_eval_bytes_raw (self ):
161181 self .assertEqual (eval (""" br'x' """ ), b'x' )
162182 self .assertEqual (eval (""" rb'x' """ ), b'x' )
0 commit comments