From fa51a26743930576e2587a92217b1d9f5063175d Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Thu, 12 Dec 2019 07:48:07 -0300 Subject: [PATCH] Make -r letters "s" and "S" aliases Similar reasons as the previous commit --- src/_pytest/terminal.py | 8 ++++---- testing/test_terminal.py | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/_pytest/terminal.py b/src/_pytest/terminal.py index d1ee701e8..2a99bfdd5 100644 --- a/src/_pytest/terminal.py +++ b/src/_pytest/terminal.py @@ -172,10 +172,11 @@ def getreportopt(config: Config) -> str: reportchars += "w" elif config.option.disable_warnings and "w" in reportchars: reportchars = reportchars.replace("w", "") + aliases = {"F", "S"} for char in reportchars: - # f and F are aliases - if char == "F": - char = "f" + # handle old aliases + if char in aliases: + char = char.lower() if char == "a": reportopts = "sxXwEf" elif char == "A": @@ -989,7 +990,6 @@ class TerminalReporter: "X": show_xpassed, "f": partial(show_simple, "failed"), "s": show_skipped, - "S": show_skipped, "p": partial(show_simple, "passed"), "E": partial(show_simple, "error"), } # type: Mapping[str, Callable[[List[str]], None]] diff --git a/testing/test_terminal.py b/testing/test_terminal.py index 2d875a64c..0fe0e09e1 100644 --- a/testing/test_terminal.py +++ b/testing/test_terminal.py @@ -755,6 +755,7 @@ class TestTerminalFunctional: result.stdout.fnmatch_lines(["collected 3 items", "hello from hook: 3 items"]) def test_summary_f_alias(self, testdir): + """Test that 'f' and 'F' report chars are aliases and don't show up twice in the summary (#6334)""" testdir.makepyfile( """ def test(): @@ -766,6 +767,22 @@ class TestTerminalFunctional: result.stdout.fnmatch_lines([expected]) assert result.stdout.lines.count(expected) == 1 + def test_summary_s_alias(self, testdir): + """Test that 's' and 'S' report chars are aliases and don't show up twice in the summary""" + testdir.makepyfile( + """ + import pytest + + @pytest.mark.skip + def test(): + pass + """ + ) + result = testdir.runpytest("-rsS") + expected = "SKIPPED [1] test_summary_s_alias.py:3: unconditional skip" + result.stdout.fnmatch_lines([expected]) + assert result.stdout.lines.count(expected) == 1 + def test_fail_extra_reporting(testdir, monkeypatch): monkeypatch.setenv("COLUMNS", "80")