terminal: report collection errors as "ERROR" in short summary
This commit is contained in:
		
							parent
							
								
									d1bc2601e4
								
							
						
					
					
						commit
						82753bec50
					
				| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					Collection errors are reported as errors (and not failures like before) in the terminal's short test summary.
 | 
				
			||||||
| 
						 | 
					@ -187,7 +187,13 @@ def pytest_report_teststatus(report):
 | 
				
			||||||
        letter = "F"
 | 
					        letter = "F"
 | 
				
			||||||
        if report.when != "call":
 | 
					        if report.when != "call":
 | 
				
			||||||
            letter = "f"
 | 
					            letter = "f"
 | 
				
			||||||
    return report.outcome, letter, report.outcome.upper()
 | 
					
 | 
				
			||||||
 | 
					    # Report failed CollectReports as "error" (in line with pytest_collectreport).
 | 
				
			||||||
 | 
					    outcome = report.outcome
 | 
				
			||||||
 | 
					    if report.when == "collect" and outcome == "failed":
 | 
				
			||||||
 | 
					        outcome = "error"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return outcome, letter, outcome.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@attr.s
 | 
					@attr.s
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1776,3 +1776,20 @@ def test_format_session_duration(seconds, expected):
 | 
				
			||||||
    from _pytest.terminal import format_session_duration
 | 
					    from _pytest.terminal import format_session_duration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    assert format_session_duration(seconds) == expected
 | 
					    assert format_session_duration(seconds) == expected
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def test_collecterror(testdir):
 | 
				
			||||||
 | 
					    p1 = testdir.makepyfile("raise SyntaxError()")
 | 
				
			||||||
 | 
					    result = testdir.runpytest("-ra", str(p1))
 | 
				
			||||||
 | 
					    result.stdout.fnmatch_lines(
 | 
				
			||||||
 | 
					        [
 | 
				
			||||||
 | 
					            "collected 0 items / 1 errors",
 | 
				
			||||||
 | 
					            "*= ERRORS =*",
 | 
				
			||||||
 | 
					            "*_ ERROR collecting test_collecterror.py _*",
 | 
				
			||||||
 | 
					            "E   SyntaxError: *",
 | 
				
			||||||
 | 
					            "*= short test summary info =*",
 | 
				
			||||||
 | 
					            "ERROR test_collecterror.py",
 | 
				
			||||||
 | 
					            "*! Interrupted: 1 errors during collection !*",
 | 
				
			||||||
 | 
					            "*= 1 error in *",
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue