Improve quoting in raises match failure message
This commit is contained in:
		
							parent
							
								
									b08ae4449b
								
							
						
					
					
						commit
						caa08ebd45
					
				|  | @ -0,0 +1 @@ | ||||||
|  | Improve quoting in ``raises`` match failure message. | ||||||
|  | @ -544,7 +544,7 @@ class ExceptionInfo: | ||||||
|         """ |         """ | ||||||
|         __tracebackhide__ = True |         __tracebackhide__ = True | ||||||
|         if not re.search(regexp, str(self.value)): |         if not re.search(regexp, str(self.value)): | ||||||
|             assert 0, "Pattern '{!s}' not found in '{!s}'".format(regexp, self.value) |             assert 0, "Pattern {!r} not found in {!r}".format(regexp, str(self.value)) | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -220,13 +220,20 @@ class TestRaises: | ||||||
|             int("asdf") |             int("asdf") | ||||||
| 
 | 
 | ||||||
|         msg = "with base 16" |         msg = "with base 16" | ||||||
|         expr = r"Pattern '{}' not found in 'invalid literal for int\(\) with base 10: 'asdf''".format( |         expr = r"Pattern '{}' not found in \"invalid literal for int\(\) with base 10: 'asdf'\"".format( | ||||||
|             msg |             msg | ||||||
|         ) |         ) | ||||||
|         with pytest.raises(AssertionError, match=expr): |         with pytest.raises(AssertionError, match=expr): | ||||||
|             with pytest.raises(ValueError, match=msg): |             with pytest.raises(ValueError, match=msg): | ||||||
|                 int("asdf", base=10) |                 int("asdf", base=10) | ||||||
| 
 | 
 | ||||||
|  |     def test_match_failure_string_quoting(self): | ||||||
|  |         with pytest.raises(AssertionError) as excinfo: | ||||||
|  |             with pytest.raises(AssertionError, match="'foo"): | ||||||
|  |                 raise AssertionError("'bar") | ||||||
|  |         msg, = excinfo.value.args | ||||||
|  |         assert msg == 'Pattern "\'foo" not found in "\'bar"' | ||||||
|  | 
 | ||||||
|     def test_raises_match_wrong_type(self): |     def test_raises_match_wrong_type(self): | ||||||
|         """Raising an exception with the wrong type and match= given. |         """Raising an exception with the wrong type and match= given. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue