Merge pull request #6107 from MarcoGorelli/color-percentage-indicator
Color percentage indicator
This commit is contained in:
@@ -21,6 +21,10 @@ from _pytest.terminal import getreportopt
|
||||
from _pytest.terminal import TerminalReporter
|
||||
|
||||
DistInfo = collections.namedtuple("DistInfo", ["project_name", "version"])
|
||||
RED = r"\x1b\[31m"
|
||||
GREEN = r"\x1b\[32m"
|
||||
YELLOW = r"\x1b\[33m"
|
||||
RESET = r"\x1b\[0m"
|
||||
|
||||
|
||||
class Option:
|
||||
@@ -1487,6 +1491,43 @@ class TestProgressOutputStyle:
|
||||
]
|
||||
)
|
||||
|
||||
def test_colored_progress(self, testdir, monkeypatch):
|
||||
monkeypatch.setenv("PY_COLORS", "1")
|
||||
testdir.makepyfile(
|
||||
test_bar="""
|
||||
import pytest
|
||||
@pytest.mark.parametrize('i', range(10))
|
||||
def test_bar(i): pass
|
||||
""",
|
||||
test_foo="""
|
||||
import pytest
|
||||
import warnings
|
||||
@pytest.mark.parametrize('i', range(5))
|
||||
def test_foo(i):
|
||||
warnings.warn(DeprecationWarning("collection"))
|
||||
pass
|
||||
""",
|
||||
test_foobar="""
|
||||
import pytest
|
||||
@pytest.mark.parametrize('i', range(5))
|
||||
def test_foobar(i): raise ValueError()
|
||||
""",
|
||||
)
|
||||
output = testdir.runpytest()
|
||||
output.stdout.re_match_lines(
|
||||
[
|
||||
r"test_bar.py ({green}\.{reset}){{10}}{green} \s+ \[ 50%\]{reset}".format(
|
||||
green=GREEN, reset=RESET
|
||||
),
|
||||
r"test_foo.py ({green}\.{reset}){{5}}{yellow} \s+ \[ 75%\]{reset}".format(
|
||||
green=GREEN, reset=RESET, yellow=YELLOW
|
||||
),
|
||||
r"test_foobar.py ({red}F{reset}){{5}}{red} \s+ \[100%\]{reset}".format(
|
||||
reset=RESET, red=RED
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
def test_count(self, many_tests_files, testdir):
|
||||
testdir.makeini(
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user