Respect --fulltrace with collection errors
This commit is contained in:
		
							parent
							
								
									5b3867fd65
								
							
						
					
					
						commit
						2d449e95e4
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					``--fulltrace`` is honored with collection errors.
 | 
				
			||||||
| 
						 | 
					@ -365,12 +365,14 @@ class Collector(Node):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def repr_failure(self, excinfo):
 | 
					    def repr_failure(self, excinfo):
 | 
				
			||||||
        """ represent a collection failure. """
 | 
					        """ represent a collection failure. """
 | 
				
			||||||
        if excinfo.errisinstance(self.CollectError):
 | 
					        if excinfo.errisinstance(self.CollectError) and not self.config.getoption(
 | 
				
			||||||
 | 
					            "fulltrace", False
 | 
				
			||||||
 | 
					        ):
 | 
				
			||||||
            exc = excinfo.value
 | 
					            exc = excinfo.value
 | 
				
			||||||
            return str(exc.args[0])
 | 
					            return str(exc.args[0])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Respect explicit tbstyle option, but default to "short"
 | 
					        # Respect explicit tbstyle option, but default to "short"
 | 
				
			||||||
        # (None._repr_failure_py defaults to "long" without "fulltrace" option).
 | 
					        # (_repr_failure_py uses "long" with "fulltrace" option always).
 | 
				
			||||||
        tbstyle = self.config.getoption("tbstyle", "auto")
 | 
					        tbstyle = self.config.getoption("tbstyle", "auto")
 | 
				
			||||||
        if tbstyle == "auto":
 | 
					        if tbstyle == "auto":
 | 
				
			||||||
            tbstyle = "short"
 | 
					            tbstyle = "short"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1210,6 +1210,28 @@ def test_syntax_error_with_non_ascii_chars(testdir):
 | 
				
			||||||
    result.stdout.fnmatch_lines(["*ERROR collecting*", "*SyntaxError*", "*1 error in*"])
 | 
					    result.stdout.fnmatch_lines(["*ERROR collecting*", "*SyntaxError*", "*1 error in*"])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def test_collecterror_with_fulltrace(testdir):
 | 
				
			||||||
 | 
					    testdir.makepyfile("assert 0")
 | 
				
			||||||
 | 
					    result = testdir.runpytest("--fulltrace")
 | 
				
			||||||
 | 
					    result.stdout.fnmatch_lines(
 | 
				
			||||||
 | 
					        [
 | 
				
			||||||
 | 
					            "collected 0 items / 1 error",
 | 
				
			||||||
 | 
					            "",
 | 
				
			||||||
 | 
					            "*= ERRORS =*",
 | 
				
			||||||
 | 
					            "*_ ERROR collecting test_collecterror_with_fulltrace.py _*",
 | 
				
			||||||
 | 
					            "",
 | 
				
			||||||
 | 
					            "*/_pytest/python.py:*: ",
 | 
				
			||||||
 | 
					            "_ _ _ _ _ _ _ _ *",
 | 
				
			||||||
 | 
					            "",
 | 
				
			||||||
 | 
					            ">   assert 0",
 | 
				
			||||||
 | 
					            "E   assert 0",
 | 
				
			||||||
 | 
					            "",
 | 
				
			||||||
 | 
					            "test_collecterror_with_fulltrace.py:1: AssertionError",
 | 
				
			||||||
 | 
					            "*! Interrupted: 1 error during collection !*",
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_skip_duplicates_by_default(testdir):
 | 
					def test_skip_duplicates_by_default(testdir):
 | 
				
			||||||
    """Test for issue https://github.com/pytest-dev/pytest/issues/1609 (#1609)
 | 
					    """Test for issue https://github.com/pytest-dev/pytest/issues/1609 (#1609)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue