@@ -116,7 +116,9 @@ def test_eval_str_invalid_escape(self):
116116            warnings .simplefilter ('always' , category = SyntaxWarning )
117117            eval ("'''\n \\ z'''" )
118118        self .assertEqual (len (w ), 1 )
119-         self .assertEqual (str (w [0 ].message ), r"invalid escape sequence '\z'" )
119+         self .assertEqual (str (w [0 ].message ), r'"\z" is an invalid escape sequence. ' 
120+                          r'Such sequences will not work in the future. ' 
121+                          r'Did you mean "\\z"? A raw string is also an option.' )
120122        self .assertEqual (w [0 ].filename , '<string>' )
121123        self .assertEqual (w [0 ].lineno , 1 )
122124
@@ -126,7 +128,8 @@ def test_eval_str_invalid_escape(self):
126128                eval ("'''\n \\ z'''" )
127129            exc  =  cm .exception 
128130        self .assertEqual (w , [])
129-         self .assertEqual (exc .msg , r"invalid escape sequence '\z'" )
131+         self .assertEqual (exc .msg , r'"\z" is an invalid escape sequence. ' 
132+                          r'Did you mean "\\z"? A raw string is also an option.' )
130133        self .assertEqual (exc .filename , '<string>' )
131134        self .assertEqual (exc .lineno , 1 )
132135        self .assertEqual (exc .offset , 1 )
@@ -153,7 +156,9 @@ def test_eval_str_invalid_octal_escape(self):
153156            eval ("'''\n \\ 407'''" )
154157        self .assertEqual (len (w ), 1 )
155158        self .assertEqual (str (w [0 ].message ),
156-                          r"invalid octal escape sequence '\407'" )
159+                          r'"\407" is an invalid octal escape sequence. ' 
160+                          r'Such sequences will not work in the future. ' 
161+                          r'Did you mean "\\407"? A raw string is also an option.' )
157162        self .assertEqual (w [0 ].filename , '<string>' )
158163        self .assertEqual (w [0 ].lineno , 1 )
159164
@@ -163,7 +168,8 @@ def test_eval_str_invalid_octal_escape(self):
163168                eval ("'''\n \\ 407'''" )
164169            exc  =  cm .exception 
165170        self .assertEqual (w , [])
166-         self .assertEqual (exc .msg , r"invalid octal escape sequence '\407'" )
171+         self .assertEqual (exc .msg , r'"\407" is an invalid octal escape sequence. ' 
172+                                  r'Did you mean "\\407"? A raw string is also an option.' )
167173        self .assertEqual (exc .filename , '<string>' )
168174        self .assertEqual (exc .lineno , 1 )
169175        self .assertEqual (exc .offset , 1 )
@@ -205,7 +211,9 @@ def test_eval_bytes_invalid_escape(self):
205211            warnings .simplefilter ('always' , category = SyntaxWarning )
206212            eval ("b'''\n \\ z'''" )
207213        self .assertEqual (len (w ), 1 )
208-         self .assertEqual (str (w [0 ].message ), r"invalid escape sequence '\z'" )
214+         self .assertEqual (str (w [0 ].message ), r'"\z" is an invalid escape sequence. ' 
215+                          r'Such sequences will not work in the future. ' 
216+                          r'Did you mean "\\z"? A raw string is also an option.' )
209217        self .assertEqual (w [0 ].filename , '<string>' )
210218        self .assertEqual (w [0 ].lineno , 1 )
211219
@@ -215,7 +223,8 @@ def test_eval_bytes_invalid_escape(self):
215223                eval ("b'''\n \\ z'''" )
216224            exc  =  cm .exception 
217225        self .assertEqual (w , [])
218-         self .assertEqual (exc .msg , r"invalid escape sequence '\z'" )
226+         self .assertEqual (exc .msg , r'"\z" is an invalid escape sequence. ' 
227+                          r'Did you mean "\\z"? A raw string is also an option.' )
219228        self .assertEqual (exc .filename , '<string>' )
220229        self .assertEqual (exc .lineno , 1 )
221230
@@ -228,8 +237,9 @@ def test_eval_bytes_invalid_octal_escape(self):
228237            warnings .simplefilter ('always' , category = SyntaxWarning )
229238            eval ("b'''\n \\ 407'''" )
230239        self .assertEqual (len (w ), 1 )
231-         self .assertEqual (str (w [0 ].message ),
232-                          r"invalid octal escape sequence '\407'" )
240+         self .assertEqual (str (w [0 ].message ), r'"\407" is an invalid octal escape sequence. ' 
241+                          r'Such sequences will not work in the future. ' 
242+                          r'Did you mean "\\407"? A raw string is also an option.' )
233243        self .assertEqual (w [0 ].filename , '<string>' )
234244        self .assertEqual (w [0 ].lineno , 1 )
235245
@@ -239,7 +249,8 @@ def test_eval_bytes_invalid_octal_escape(self):
239249                eval ("b'''\n \\ 407'''" )
240250            exc  =  cm .exception 
241251        self .assertEqual (w , [])
242-         self .assertEqual (exc .msg , r"invalid octal escape sequence '\407'" )
252+         self .assertEqual (exc .msg , r'"\407" is an invalid octal escape sequence. ' 
253+                          r'Did you mean "\\407"? A raw string is also an option.' )
243254        self .assertEqual (exc .filename , '<string>' )
244255        self .assertEqual (exc .lineno , 1 )
245256
0 commit comments