Interpret assignments while examining asserts corrects
fixes #105 --HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									add518e6b6
								
							
						
					
					
						commit
						610cde6f85
					
				|  | @ -34,6 +34,7 @@ New features | ||||||
| Bug fixes / Maintenance | Bug fixes / Maintenance | ||||||
| ++++++++++++++++++++++++++ | ++++++++++++++++++++++++++ | ||||||
| 
 | 
 | ||||||
|  | - fix issue105 assignment on the same line as a failing assertion | ||||||
| - fix issue104 proper escaping for test names in junitxml plugin | - fix issue104 proper escaping for test names in junitxml plugin | ||||||
| - fix issue57 -f|--looponfail to work with xpassing tests | - fix issue57 -f|--looponfail to work with xpassing tests | ||||||
| - fix pyimport() to work with directories | - fix pyimport() to work with directories | ||||||
|  |  | ||||||
|  | @ -324,10 +324,11 @@ class DebugInterpreter(ast.NodeVisitor): | ||||||
|     def visit_Assign(self, assign): |     def visit_Assign(self, assign): | ||||||
|         value_explanation, value_result = self.visit(assign.value) |         value_explanation, value_result = self.visit(assign.value) | ||||||
|         explanation = "... = %s" % (value_explanation,) |         explanation = "... = %s" % (value_explanation,) | ||||||
|         name = ast.Name("__exprinfo_expr", ast.Load(), assign.value.lineno, |         name = ast.Name("__exprinfo_expr", ast.Load(), | ||||||
|                         assign.value.col_offset) |                         lineno=assign.value.lineno, | ||||||
|         new_assign = ast.Assign(assign.targets, name, assign.lineno, |                         col_offset=assign.value.col_offset) | ||||||
|                                 assign.col_offset) |         new_assign = ast.Assign(assign.targets, name, lineno=assign.lineno, | ||||||
|  |                                 col_offset=assign.col_offset) | ||||||
|         mod = ast.Module([new_assign]) |         mod = ast.Module([new_assign]) | ||||||
|         co = self._compile(mod, "exec") |         co = self._compile(mod, "exec") | ||||||
|         try: |         try: | ||||||
|  |  | ||||||
|  | @ -139,6 +139,13 @@ def test_assert_with_brokenrepr_arg(): | ||||||
|     if e.msg.find("broken __repr__") == -1: |     if e.msg.find("broken __repr__") == -1: | ||||||
|         py.test.fail("broken __repr__ not handle correctly") |         py.test.fail("broken __repr__ not handle correctly") | ||||||
| 
 | 
 | ||||||
|  | def test_multiple_statements_per_line(): | ||||||
|  |     try: | ||||||
|  |         a = 1; assert a == 2 | ||||||
|  |     except AssertionError: | ||||||
|  |         e = exvalue() | ||||||
|  |         assert "assert 1 == 2" in e.msg | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class TestView: | class TestView: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue