Improve quoting in raises match failure message (#5553)
Improve quoting in raises match failure message
This commit is contained in:
		
						commit
						95824c588a
					
				| 
						 | 
					@ -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