diff --git a/changelog/3853.bugfix.rst b/changelog/3853.bugfix.rst new file mode 100644 index 000000000..2a89b9c35 --- /dev/null +++ b/changelog/3853.bugfix.rst @@ -0,0 +1 @@ +Cache plugin now obeys the ``-q`` flag when ``--last-failed`` and ``--failed-first`` flags are used. diff --git a/src/_pytest/cacheprovider.py b/src/_pytest/cacheprovider.py index dc72512b8..114c6723a 100755 --- a/src/_pytest/cacheprovider.py +++ b/src/_pytest/cacheprovider.py @@ -132,7 +132,7 @@ class LFPlugin(object): self._no_failures_behavior = self.config.getoption("last_failed_no_failures") def pytest_report_collectionfinish(self): - if self.active: + if self.active and self.config.getoption("verbose") >= 0: if not self._previously_failed_count: mode = "run {} (no recorded failures)".format( self._no_failures_behavior diff --git a/testing/test_cacheprovider.py b/testing/test_cacheprovider.py index cfeb4a0cf..c86ff2e4a 100644 --- a/testing/test_cacheprovider.py +++ b/testing/test_cacheprovider.py @@ -559,6 +559,19 @@ class TestLastFailed(object): testdir.runpytest("-q", "--lf") assert os.path.exists(".pytest_cache/v/cache/lastfailed") + @pytest.mark.parametrize("quiet", [True, False]) + @pytest.mark.parametrize("opt", ["--ff", "--lf"]) + def test_lf_and_ff_obey_verbosity(self, quiet, opt, testdir): + testdir.makepyfile("def test(): pass") + args = [opt] + if quiet: + args.append("-q") + result = testdir.runpytest(*args) + if quiet: + assert "run all" not in result.stdout.str() + else: + assert "run all" in result.stdout.str() + def test_xfail_not_considered_failure(self, testdir): testdir.makepyfile( """