Merge pull request #4451 from asottile/report_correct_filename_raises_exec
Fix `raises(..., "code(string)")` frame filename.
This commit is contained in:
		
						commit
						860bc50772
					
				|  | @ -0,0 +1 @@ | ||||||
|  | Fix ``raises(..., 'code(string)')`` frame filename. | ||||||
|  | @ -679,7 +679,7 @@ def raises(expected_exception, *args, **kwargs): | ||||||
|         loc.update(kwargs) |         loc.update(kwargs) | ||||||
|         # print "raises frame scope: %r" % frame.f_locals |         # print "raises frame scope: %r" % frame.f_locals | ||||||
|         try: |         try: | ||||||
|             code = _pytest._code.Source(code).compile() |             code = _pytest._code.Source(code).compile(_genframe=frame) | ||||||
|             six.exec_(code, frame.f_globals, loc) |             six.exec_(code, frame.f_globals, loc) | ||||||
|             # XXX didn't mean f_globals == f_locals something special? |             # XXX didn't mean f_globals == f_locals something special? | ||||||
|             #     this is destroyed here ... |             #     this is destroyed here ... | ||||||
|  |  | ||||||
|  | @ -17,6 +17,10 @@ class TestRaises(object): | ||||||
|     def test_raises_exec(self): |     def test_raises_exec(self): | ||||||
|         pytest.raises(ValueError, "a,x = []") |         pytest.raises(ValueError, "a,x = []") | ||||||
| 
 | 
 | ||||||
|  |     def test_raises_exec_correct_filename(self): | ||||||
|  |         excinfo = pytest.raises(ValueError, 'int("s")') | ||||||
|  |         assert __file__ in excinfo.traceback[-1].path | ||||||
|  | 
 | ||||||
|     def test_raises_syntax_error(self): |     def test_raises_syntax_error(self): | ||||||
|         pytest.raises(SyntaxError, "qwe qwe qwe") |         pytest.raises(SyntaxError, "qwe qwe qwe") | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue