Skip to content

Instantly share code, notes, and snippets.

@mweinelt
Created March 18, 2024 00:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mweinelt/bb668e03a56ba4f86cfc4b1bfe7c0294 to your computer and use it in GitHub Desktop.
Save mweinelt/bb668e03a56ba4f86cfc4b1bfe7c0294 to your computer and use it in GitHub Desktop.
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0 -- /nix/store/7wz6hm9i8wljz0hgwz1wqmn2zlbgavrq-python3-3.11.8/bin/python3.11
pytest-mpl> cachedir: .pytest_cache
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-mpl-0.17.0
pytest-mpl> configfile: setup.cfg
pytest-mpl> testpaths: tests
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 120 items / 2 deselected / 118 selected
pytest-mpl>
pytest-mpl> tests/test_baseline_path.py::test_config[dir1-None-None-dir1-True] FAILED [ 0%]
pytest-mpl> tests/test_baseline_path.py::test_config[dir1-dir2-None-dir2-True] FAILED [ 1%]
pytest-mpl> tests/test_baseline_path.py::test_config[dir1-dir2-dir3-dir3-True] FAILED [ 2%]
pytest-mpl> tests/test_baseline_path.py::test_config[dir1-dir2-dir3-dir2-False] PASSED [ 3%]
pytest-mpl> tests/test_baseline_path.py::test_config[None-None-dir3-dir3-True] FAILED [ 4%]
pytest-mpl> tests/test_default_backend.py::test_config[backend1-None-None-backend1] PASSED [ 5%]
pytest-mpl> tests/test_default_backend.py::test_config[backend1-backend2-None-backend2] PASSED [ 5%]
pytest-mpl> tests/test_default_backend.py::test_config[backend1-backend2-backend3-backend3] PASSED [ 6%]
pytest-mpl> tests/test_default_style.py::test_config[sty1-None-None-sty1] PASSED [ 7%]
pytest-mpl> tests/test_default_style.py::test_config[sty1-sty2-None-sty2] PASSED [ 8%]
pytest-mpl> tests/test_default_style.py::test_config[sty1-sty2-sty3-sty3] PASSED [ 9%]
pytest-mpl> tests/test_default_tolerance.py::test_config[40-None-None-True] PASSED [ 10%]
pytest-mpl> tests/test_default_tolerance.py::test_config[30-40-None-True] PASSED [ 11%]
pytest-mpl> tests/test_default_tolerance.py::test_config[30-30-40-True] PASSED [ 11%]
pytest-mpl> tests/test_default_tolerance.py::test_config[30-40-30-False] PASSED [ 12%]
pytest-mpl> tests/test_default_tolerance.py::test_config[40-30-30-False] PASSED [ 13%]
pytest-mpl> tests/test_deterministic.py::test_multiple_cli_flags PASSED [ 14%]
pytest-mpl> tests/test_deterministic.py::test_warning PASSED [ 15%]
pytest-mpl> tests/test_deterministic.py::test_config[true--None-True-eps] SKIPPED [ 16%]
pytest-mpl> tests/test_deterministic.py::test_config[true--None-True-pdf] SKIPPED [ 16%]
pytest-mpl> tests/test_deterministic.py::test_config[true--None-True-png] PASSED [ 17%]
pytest-mpl> tests/test_deterministic.py::test_config[true--None-True-svg] SKIPPED [ 18%]
pytest-mpl> tests/test_deterministic.py::test_config[false---mpl-deterministic-None-True-eps] SKIPPED [ 19%]
pytest-mpl> tests/test_deterministic.py::test_config[false---mpl-deterministic-None-True-pdf] SKIPPED [ 20%]
pytest-mpl> tests/test_deterministic.py::test_config[false---mpl-deterministic-None-True-png] PASSED [ 21%]
pytest-mpl> tests/test_deterministic.py::test_config[false---mpl-deterministic-None-True-svg] SKIPPED [ 22%]
pytest-mpl> tests/test_deterministic.py::test_config[true---mpl-no-deterministic-None-False-eps] SKIPPED [ 22%]
pytest-mpl> tests/test_deterministic.py::test_config[true---mpl-no-deterministic-None-False-pdf] SKIPPED [ 23%]
pytest-mpl> tests/test_deterministic.py::test_config[true---mpl-no-deterministic-None-False-png] PASSED [ 24%]
pytest-mpl> tests/test_deterministic.py::test_config[true---mpl-no-deterministic-None-False-svg] SKIPPED [ 25%]
pytest-mpl> tests/test_deterministic.py::test_config[---mpl-no-deterministic-True-True-eps] SKIPPED [ 26%]
pytest-mpl> tests/test_deterministic.py::test_config[---mpl-no-deterministic-True-True-pdf] SKIPPED [ 27%]
pytest-mpl> tests/test_deterministic.py::test_config[---mpl-no-deterministic-True-True-png] PASSED [ 27%]
pytest-mpl> tests/test_deterministic.py::test_config[---mpl-no-deterministic-True-True-svg] SKIPPED [ 28%]
pytest-mpl> tests/test_deterministic.py::test_config[true--False-False-eps] SKIPPED [ 29%]
pytest-mpl> tests/test_deterministic.py::test_config[true--False-False-pdf] SKIPPED [ 30%]
pytest-mpl> tests/test_deterministic.py::test_config[true--False-False-png] PASSED [ 31%]
pytest-mpl> tests/test_deterministic.py::test_config[true--False-False-svg] SKIPPED [ 32%]
pytest-mpl> tests/test_generate.py::test_generate_baseline_images PASSED [ 33%]
pytest-mpl> tests/test_generate.py::test_generate_baseline_hashes PASSED [ 33%]
pytest-mpl> tests/test_generate.py::test_generate_baseline_images_and_hashes PASSED [ 34%]
pytest-mpl> tests/test_generate_summary.py::test_config[json-None-expected0] PASSED [ 35%]
pytest-mpl> tests/test_generate_summary.py::test_config[json-html-expected1] PASSED [ 36%]
pytest-mpl> tests/test_generate_summary.py::test_config[basic-html-json-expected2] PASSED [ 37%]
pytest-mpl> tests/test_generate_summary.py::test_config[None-json,basic-html,html-expected3] PASSED [ 38%]
pytest-mpl> tests/test_hash_library.py::test_config[bad-None-None-False] PASSED [ 38%]
pytest-mpl> tests/test_hash_library.py::test_config[good-None-None-True] PASSED [ 39%]
pytest-mpl> tests/test_hash_library.py::test_config[bad-good-None-True] PASSED [ 40%]
pytest-mpl> tests/test_hash_library.py::test_config[bad-bad-good-False] PASSED [ 41%]
pytest-mpl> tests/test_hash_library.py::test_config[bad-good-bad-True] PASSED [ 42%]
pytest-mpl> tests/test_pytest_mpl.py::test_succeeds PASSED [ 43%]
pytest-mpl> tests/test_pytest_mpl.py::test_succeeds_remote PASSED [ 44%]
pytest-mpl> tests/test_pytest_mpl.py::test_succeeds_faulty_mirror PASSED [ 44%]
pytest-mpl> tests/test_pytest_mpl.py::TestClass::test_succeeds PASSED [ 45%]
pytest-mpl> tests/test_pytest_mpl.py::test_dpi PASSED [ 46%]
pytest-mpl> tests/test_pytest_mpl.py::test_fails PASSED [ 47%]
pytest-mpl> tests/test_pytest_mpl.py::test_output_dir PASSED [ 48%]
pytest-mpl> tests/test_pytest_mpl.py::test_generate PASSED [ 49%]
pytest-mpl> tests/test_pytest_mpl.py::test_tolerance PASSED [ 50%]
pytest-mpl> tests/test_pytest_mpl.py::test_nofigure PASSED [ 50%]
pytest-mpl> tests/test_pytest_mpl.py::test_base_style PASSED [ 51%]
pytest-mpl> tests/test_pytest_mpl.py::test_remove_text PASSED [ 52%]
pytest-mpl> tests/test_pytest_mpl.py::test_parametrized[5] PASSED [ 53%]
pytest-mpl> tests/test_pytest_mpl.py::test_parametrized[50] PASSED [ 54%]
pytest-mpl> tests/test_pytest_mpl.py::test_parametrized[500] PASSED [ 55%]
pytest-mpl> tests/test_pytest_mpl.py::TestClassWithSetup::test_succeeds PASSED [ 55%]
pytest-mpl> tests/test_pytest_mpl.py::TestClassWithTestCase::test_succeeds PASSED [ 56%]
pytest-mpl> tests/test_pytest_mpl.py::test_hash_succeeds SKIPPED (No hash library
pytest-mpl> for this mpl version) [ 57%]
pytest-mpl> tests/test_pytest_mpl.py::test_hash_fail_hybrid SKIPPED (Incorrect
pytest-mpl> freetype version for hash check) [ 58%]
pytest-mpl> tests/test_pytest_mpl.py::test_hash_fail_new_hashes SKIPPED (Incorrect
pytest-mpl> freetype version for hash check) [ 59%]
pytest-mpl> tests/test_pytest_mpl.py::test_results_always SKIPPED (No hash library
pytest-mpl> for this mpl version) [ 60%]
pytest-mpl> tests/test_pytest_mpl.py::test_class_fail[\nimport pytest\nimport matplotlib.pyplot as plt\nclass TestClass(object):\n @pytest.mark.mpl_image_compare\n def test_fails(self):\n fig = plt.figure()\n ax = fig.add_subplot(1, 1, 1)\n ax.plot([1, 2, 3])\n return fig\n] PASSED [ 61%]
pytest-mpl> tests/test_pytest_mpl.py::test_class_fail[\nimport pytest\nimport matplotlib.pyplot as plt\nclass TestClassWithSetup:\n def setup_method(self, method):\n self.x = [1, 2, 3]\n @pytest.mark.mpl_image_compare\n def test_fails(self):\n fig = plt.figure()\n ax = fig.add_subplot(1, 1, 1)\n ax.plot(self.x)\n return fig\n] PASSED [ 61%]
pytest-mpl> tests/test_pytest_mpl.py::test_class_fail[\nfrom unittest import TestCase\nimport pytest\nimport matplotlib.pyplot as plt\nclass TestClassWithTestCase(TestCase):\n def setUp(self):\n self.x = [1, 2, 3]\n @pytest.mark.mpl_image_compare\n def test_fails(self):\n fig = plt.figure()\n ax = fig.add_subplot(1, 1, 1)\n ax.plot(self.x)\n return fig\n] PASSED [ 62%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_fail[runpytest_args0] PASSED [ 63%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_fail[runpytest_args1] PASSED [ 64%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_skip[runpytest_args0] PASSED [ 65%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_skip[runpytest_args1] PASSED [ 66%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_importorskip[runpytest_args0] PASSED [ 66%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_importorskip[runpytest_args1] PASSED [ 67%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_xfail[runpytest_args0] PASSED [ 68%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_xfail[runpytest_args1] PASSED [ 69%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_exit_success[runpytest_args0] PASSED [ 70%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_exit_success[runpytest_args1] PASSED [ 71%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_exit_failure[runpytest_args0] PASSED [ 72%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_exit_failure[runpytest_args1] PASSED [ 72%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_function_raises[runpytest_args0] PASSED [ 73%]
pytest-mpl> tests/test_pytest_mpl.py::test_user_function_raises[runpytest_args1] PASSED [ 74%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[eps-False-False] SKIPPEDed) [ 75%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[eps-False-True] SKIPPEDled) [ 76%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[eps-True-False] SKIPPEDled) [ 77%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[eps-True-True] SKIPPED (Comparing
pytest-mpl> EPS and PDF files requires ghostscript to be installed) [ 77%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[pdf-False-False] SKIPPEDed) [ 78%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[pdf-False-True] SKIPPEDled) [ 79%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[pdf-True-False] SKIPPEDled) [ 80%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[pdf-True-True] SKIPPED (Comparing
pytest-mpl> EPS and PDF files requires ghostscript to be installed) [ 81%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[png-False-False] PASSED [ 82%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[png-False-True] SKIPPED (No hash
pytest-mpl> library for this mpl version) [ 83%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[png-True-False] FAILED [ 83%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[png-True-True] SKIPPED (No hash
pytest-mpl> library for this mpl version) [ 84%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[svg-False-False] SKIPPED [ 85%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[svg-False-True] SKIPPED [ 86%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[svg-True-False] SKIPPED [ 87%]
pytest-mpl> tests/test_pytest_mpl.py::test_formats[svg-True-True] SKIPPED (Comparing
pytest-mpl> SVG files requires inkscape to be installed) [ 88%]
pytest-mpl> tests/test_results_always.py::test_config[None-None-False] FAILED [ 88%]
pytest-mpl> tests/test_results_always.py::test_config[True-None-True] FAILED [ 89%]
pytest-mpl> tests/test_results_always.py::test_config[False-None-False] FAILED [ 90%]
pytest-mpl> tests/test_results_always.py::test_config[False-True-True] FAILED [ 91%]
pytest-mpl> tests/test_results_always.py::test_config[True-True-True] FAILED [ 92%]
pytest-mpl> tests/test_results_path.py::test_config[dir1-None-dir1] PASSED [ 93%]
pytest-mpl> tests/test_results_path.py::test_config[dir1-dir2-dir2] PASSED [ 94%]
pytest-mpl> tests/test_results_path.py::test_config[None-dir2-dir2] PASSED [ 94%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[None-None-test_mpl-True] FAILED [ 95%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[False-None-test_mpl-True] FAILED [ 96%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[True-None-test_config.TestClass.test_mpl-True] FAILED [ 97%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[False-True-test_config.TestClass.test_mpl-True] FAILED [ 98%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[None-True-test_config.TestClass.test_mpl-True] FAILED [ 99%]
pytest-mpl> tests/test_use_full_test_name.py::test_config[True-True-bad_name-False] PASSED [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ____________________ test_config[dir1-None-None-dir1-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config0')>
pytest-mpl> ini = 'mpl-baseline-path = /build/pytest-of-nixbld/pytest-0/test_config0/dir1'
pytest-mpl> cli = '', kwarg = '', expected_baseline_path = 'dir1', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, kwarg, expected_baseline_path, success_expected",
pytest-mpl> [
pytest-mpl> ("dir1", None, None, "dir1", True),
pytest-mpl> ("dir1", "dir2", None, "dir2", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir3", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir2", False),
pytest-mpl> (None, None, "dir3", "dir3", True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, kwarg, expected_baseline_path, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> (path / expected_baseline_path).mkdir()
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / expected_baseline_path / "test_mpl.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-baseline-path = {path / ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> kwarg = f"baseline_dir=r'{path / kwarg}'" if kwarg else ""
pytest-mpl> pytester.makepyfile(
pytest-mpl> f"""
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare({kwarg})
pytest-mpl> def test_mpl():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = f"--mpl-baseline-path={path / cli}" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_baseline_path.py:48: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config0
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ___________________________________ test_mpl ___________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpte3ome4h/test_config.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpte3ome4h/test_config.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpte3ome4h/test_config.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_mpl - Failed: Error: Image files did not match.
pytest-mpl> ============================== 1 failed in 0.30s ===============================
pytest-mpl> ____________________ test_config[dir1-dir2-None-dir2-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config1')>
pytest-mpl> ini = 'mpl-baseline-path = /build/pytest-of-nixbld/pytest-0/test_config1/dir1'
pytest-mpl> cli = '--mpl-baseline-path=/build/pytest-of-nixbld/pytest-0/test_config1/dir2'
pytest-mpl> kwarg = '', expected_baseline_path = 'dir2', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, kwarg, expected_baseline_path, success_expected",
pytest-mpl> [
pytest-mpl> ("dir1", None, None, "dir1", True),
pytest-mpl> ("dir1", "dir2", None, "dir2", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir3", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir2", False),
pytest-mpl> (None, None, "dir3", "dir3", True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, kwarg, expected_baseline_path, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> (path / expected_baseline_path).mkdir()
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / expected_baseline_path / "test_mpl.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-baseline-path = {path / ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> kwarg = f"baseline_dir=r'{path / kwarg}'" if kwarg else ""
pytest-mpl> pytester.makepyfile(
pytest-mpl> f"""
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare({kwarg})
pytest-mpl> def test_mpl():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = f"--mpl-baseline-path={path / cli}" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_baseline_path.py:48: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config1
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ___________________________________ test_mpl ___________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpy1q3dfev/test_config.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpy1q3dfev/test_config.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpy1q3dfev/test_config.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_mpl - Failed: Error: Image files did not match.
pytest-mpl> ============================== 1 failed in 0.26s ===============================
pytest-mpl> ____________________ test_config[dir1-dir2-dir3-dir3-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config2')>
pytest-mpl> ini = 'mpl-baseline-path = /build/pytest-of-nixbld/pytest-0/test_config2/dir1'
pytest-mpl> cli = '--mpl-baseline-path=/build/pytest-of-nixbld/pytest-0/test_config2/dir2'
pytest-mpl> kwarg = "baseline_dir=r'/build/pytest-of-nixbld/pytest-0/test_config2/dir3'"
pytest-mpl> expected_baseline_path = 'dir3', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, kwarg, expected_baseline_path, success_expected",
pytest-mpl> [
pytest-mpl> ("dir1", None, None, "dir1", True),
pytest-mpl> ("dir1", "dir2", None, "dir2", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir3", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir2", False),
pytest-mpl> (None, None, "dir3", "dir3", True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, kwarg, expected_baseline_path, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> (path / expected_baseline_path).mkdir()
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / expected_baseline_path / "test_mpl.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-baseline-path = {path / ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> kwarg = f"baseline_dir=r'{path / kwarg}'" if kwarg else ""
pytest-mpl> pytester.makepyfile(
pytest-mpl> f"""
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare({kwarg})
pytest-mpl> def test_mpl():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = f"--mpl-baseline-path={path / cli}" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_baseline_path.py:48: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config2
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ___________________________________ test_mpl ___________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpmt34524a/test_config.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpmt34524a/test_config.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpmt34524a/test_config.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_mpl - Failed: Error: Image files did not match.
pytest-mpl> ============================== 1 failed in 0.30s ===============================
pytest-mpl> ____________________ test_config[None-None-dir3-dir3-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config4')>
pytest-mpl> ini = '', cli = ''
pytest-mpl> kwarg = "baseline_dir=r'/build/pytest-of-nixbld/pytest-0/test_config4/dir3'"
pytest-mpl> expected_baseline_path = 'dir3', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, kwarg, expected_baseline_path, success_expected",
pytest-mpl> [
pytest-mpl> ("dir1", None, None, "dir1", True),
pytest-mpl> ("dir1", "dir2", None, "dir2", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir3", True),
pytest-mpl> ("dir1", "dir2", "dir3", "dir2", False),
pytest-mpl> (None, None, "dir3", "dir3", True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, kwarg, expected_baseline_path, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> (path / expected_baseline_path).mkdir()
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / expected_baseline_path / "test_mpl.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-baseline-path = {path / ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> kwarg = f"baseline_dir=r'{path / kwarg}'" if kwarg else ""
pytest-mpl> pytester.makepyfile(
pytest-mpl> f"""
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare({kwarg})
pytest-mpl> def test_mpl():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = f"--mpl-baseline-path={path / cli}" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_baseline_path.py:48: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config4
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ___________________________________ test_mpl ___________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmp09g1l_fl/test_config.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmp09g1l_fl/test_config.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmp09g1l_fl/test_config.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_mpl - Failed: Error: Image files did not match.
pytest-mpl> ============================== 1 failed in 0.26s ===============================
pytest-mpl> _________________________ test_formats[png-True-False] _________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_formats10')>
pytest-mpl> use_hash_library = False, passes = True, file_format = 'png'
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize('use_hash_library', (False, True))
pytest-mpl> @pytest.mark.parametrize('passes', (False, True))
pytest-mpl> @pytest.mark.parametrize("file_format", ['eps', 'pdf', 'png', 'svg'])
pytest-mpl> def test_formats(pytester, use_hash_library, passes, file_format):
pytest-mpl> """
pytest-mpl> Note that we don't test all possible formats as some do not compress well
pytest-mpl> and would bloat the baseline directory.
pytest-mpl> """
pytest-mpl> skip_if_format_unsupported(file_format, using_hashes=use_hash_library)
pytest-mpl> if use_hash_library and not hash_library.exists():
pytest-mpl> pytest.skip("No hash library for this mpl version")
pytest-mpl>
pytest-mpl> pytester.makepyfile(
pytest-mpl> f"""
pytest-mpl> import os
pytest-mpl> import pytest
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> @pytest.mark.mpl_image_compare(baseline_dir=r"{baseline_dir_abs}",
pytest-mpl> {f'hash_library=r"{hash_library}",' if use_hash_library else ''}
pytest-mpl> tolerance={DEFAULT_TOLERANCE},
pytest-mpl> deterministic=True,
pytest-mpl> savefig_kwargs={{'format': '{file_format}'}})
pytest-mpl> def test_format_{file_format}():
pytest-mpl> fig = plt.figure()
pytest-mpl> ax = fig.add_subplot(1, 1, 1)
pytest-mpl> ax.plot([{1 if passes else 3}, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> result = pytester.runpytest('--mpl', '-rs')
pytest-mpl> if passes:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_pytest_mpl.py:699: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_formats10
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_formats.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_format_png ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 7.076026280100058
pytest-mpl> Expected:
pytest-mpl> /build/tmp82jq5tkd/test_formats.test_format_png/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmp82jq5tkd/test_formats.test_format_png/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmp82jq5tkd/test_formats.test_format_png/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> ============================== 1 failed in 0.26s ===============================
pytest-mpl> _________________________ test_config[None-None-False] _________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config45')>
pytest-mpl> ini = '', cli = '', enabled_expected = False
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, enabled_expected",
pytest-mpl> [
pytest-mpl> (None, None, False),
pytest-mpl> (True, None, True),
pytest-mpl> (False, None, False),
pytest-mpl> (False, True, True),
pytest-mpl> (True, True, True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, enabled_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> ini = f"mpl-results-always = {ini}" if ini else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {Path(__file__).parent / "baseline" / "2.0.x"}
pytest-mpl> mpl-results-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_base_style():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-results-always" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_results_always.py:42: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config45
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_base_style ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config45/test_config.test_base_style/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config45/test_config.test_base_style/result.png
pytest-mpl> Difference:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config45/test_config.test_base_style/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_base_style - Failed: Error: Image files did not m...
pytest-mpl> ============================== 1 failed in 0.24s ===============================
pytest-mpl> _________________________ test_config[True-None-True] __________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config46')>
pytest-mpl> ini = 'mpl-results-always = True', cli = '', enabled_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, enabled_expected",
pytest-mpl> [
pytest-mpl> (None, None, False),
pytest-mpl> (True, None, True),
pytest-mpl> (False, None, False),
pytest-mpl> (False, True, True),
pytest-mpl> (True, True, True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, enabled_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> ini = f"mpl-results-always = {ini}" if ini else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {Path(__file__).parent / "baseline" / "2.0.x"}
pytest-mpl> mpl-results-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_base_style():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-results-always" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_results_always.py:42: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config46
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_base_style ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config46/test_config.test_base_style/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config46/test_config.test_base_style/result.png
pytest-mpl> Difference:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config46/test_config.test_base_style/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_base_style - Failed: Error: Image files did not m...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> ________________________ test_config[False-None-False] _________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config47')>
pytest-mpl> ini = '', cli = '', enabled_expected = False
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, enabled_expected",
pytest-mpl> [
pytest-mpl> (None, None, False),
pytest-mpl> (True, None, True),
pytest-mpl> (False, None, False),
pytest-mpl> (False, True, True),
pytest-mpl> (True, True, True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, enabled_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> ini = f"mpl-results-always = {ini}" if ini else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {Path(__file__).parent / "baseline" / "2.0.x"}
pytest-mpl> mpl-results-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_base_style():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-results-always" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_results_always.py:42: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config47
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_base_style ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config47/test_config.test_base_style/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config47/test_config.test_base_style/result.png
pytest-mpl> Difference:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config47/test_config.test_base_style/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_base_style - Failed: Error: Image files did not m...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> _________________________ test_config[False-True-True] _________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config48')>
pytest-mpl> ini = '', cli = '--mpl-results-always', enabled_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, enabled_expected",
pytest-mpl> [
pytest-mpl> (None, None, False),
pytest-mpl> (True, None, True),
pytest-mpl> (False, None, False),
pytest-mpl> (False, True, True),
pytest-mpl> (True, True, True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, enabled_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> ini = f"mpl-results-always = {ini}" if ini else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {Path(__file__).parent / "baseline" / "2.0.x"}
pytest-mpl> mpl-results-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_base_style():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-results-always" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_results_always.py:42: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config48
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_base_style ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config48/test_config.test_base_style/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config48/test_config.test_base_style/result.png
pytest-mpl> Difference:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config48/test_config.test_base_style/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_base_style - Failed: Error: Image files did not m...
pytest-mpl> ============================== 1 failed in 0.56s ===============================
pytest-mpl> _________________________ test_config[True-True-True] __________________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config49')>
pytest-mpl> ini = 'mpl-results-always = True', cli = '--mpl-results-always'
pytest-mpl> enabled_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, enabled_expected",
pytest-mpl> [
pytest-mpl> (None, None, False),
pytest-mpl> (True, None, True),
pytest-mpl> (False, None, False),
pytest-mpl> (False, True, True),
pytest-mpl> (True, True, True),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, enabled_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> ini = f"mpl-results-always = {ini}" if ini else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {Path(__file__).parent / "baseline" / "2.0.x"}
pytest-mpl> mpl-results-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_base_style():
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-results-always" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_results_always.py:42: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config49
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> _______________________________ test_base_style ________________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config49/test_config.test_base_style/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config49/test_config.test_base_style/result.png
pytest-mpl> Difference:
pytest-mpl> /build/pytest-of-nixbld/pytest-0/test_config49/test_config.test_base_style/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::test_base_style - Failed: Error: Image files did not m...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> _____________________ test_config[None-None-test_mpl-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config53')>
pytest-mpl> ini = '', cli = '', expected_baseline_name = 'test_mpl', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, expected_baseline_name, success_expected",
pytest-mpl> [
pytest-mpl> (None, None, SHORT_TEST_NAME, True),
pytest-mpl> (False, None, SHORT_TEST_NAME, True),
pytest-mpl> (True, None, FULL_TEST_NAME, True),
pytest-mpl> (False, True, FULL_TEST_NAME, True),
pytest-mpl> (None, True, FULL_TEST_NAME, True),
pytest-mpl> (True, True, "bad_name", False),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, expected_baseline_name, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / f"{expected_baseline_name}.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-use-full-test-name = {ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> class TestClass:
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_mpl(self):
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-use-full-test-name" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_use_full_test_name.py:52: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config53
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ______________________________ TestClass.test_mpl ______________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpvjboq6hp/test_config.TestClass.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpvjboq6hp/test_config.TestClass.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpvjboq6hp/test_config.TestClass.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::TestClass::test_mpl - Failed: Error: Image files did n...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> ____________________ test_config[False-None-test_mpl-True] _____________________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config54')>
pytest-mpl> ini = 'mpl-use-full-test-name = False', cli = ''
pytest-mpl> expected_baseline_name = 'test_mpl', success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, expected_baseline_name, success_expected",
pytest-mpl> [
pytest-mpl> (None, None, SHORT_TEST_NAME, True),
pytest-mpl> (False, None, SHORT_TEST_NAME, True),
pytest-mpl> (True, None, FULL_TEST_NAME, True),
pytest-mpl> (False, True, FULL_TEST_NAME, True),
pytest-mpl> (None, True, FULL_TEST_NAME, True),
pytest-mpl> (True, True, "bad_name", False),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, expected_baseline_name, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / f"{expected_baseline_name}.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-use-full-test-name = {ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> class TestClass:
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_mpl(self):
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-use-full-test-name" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_use_full_test_name.py:52: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config54
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ______________________________ TestClass.test_mpl ______________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpskr7ynxm/test_config.TestClass.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpskr7ynxm/test_config.TestClass.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpskr7ynxm/test_config.TestClass.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::TestClass::test_mpl - Failed: Error: Image files did n...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> __________ test_config[True-None-test_config.TestClass.test_mpl-True] __________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config55')>
pytest-mpl> ini = 'mpl-use-full-test-name = True', cli = ''
pytest-mpl> expected_baseline_name = 'test_config.TestClass.test_mpl'
pytest-mpl> success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, expected_baseline_name, success_expected",
pytest-mpl> [
pytest-mpl> (None, None, SHORT_TEST_NAME, True),
pytest-mpl> (False, None, SHORT_TEST_NAME, True),
pytest-mpl> (True, None, FULL_TEST_NAME, True),
pytest-mpl> (False, True, FULL_TEST_NAME, True),
pytest-mpl> (None, True, FULL_TEST_NAME, True),
pytest-mpl> (True, True, "bad_name", False),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, expected_baseline_name, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / f"{expected_baseline_name}.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-use-full-test-name = {ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> class TestClass:
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_mpl(self):
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-use-full-test-name" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_use_full_test_name.py:52: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config55
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ______________________________ TestClass.test_mpl ______________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpg5wisx_p/test_config.TestClass.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpg5wisx_p/test_config.TestClass.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpg5wisx_p/test_config.TestClass.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::TestClass::test_mpl - Failed: Error: Image files did n...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> _________ test_config[False-True-test_config.TestClass.test_mpl-True] __________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config56')>
pytest-mpl> ini = 'mpl-use-full-test-name = False', cli = '--mpl-use-full-test-name'
pytest-mpl> expected_baseline_name = 'test_config.TestClass.test_mpl'
pytest-mpl> success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, expected_baseline_name, success_expected",
pytest-mpl> [
pytest-mpl> (None, None, SHORT_TEST_NAME, True),
pytest-mpl> (False, None, SHORT_TEST_NAME, True),
pytest-mpl> (True, None, FULL_TEST_NAME, True),
pytest-mpl> (False, True, FULL_TEST_NAME, True),
pytest-mpl> (None, True, FULL_TEST_NAME, True),
pytest-mpl> (True, True, "bad_name", False),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, expected_baseline_name, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / f"{expected_baseline_name}.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-use-full-test-name = {ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> class TestClass:
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_mpl(self):
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-use-full-test-name" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_use_full_test_name.py:52: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config56
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ______________________________ TestClass.test_mpl ______________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmp0uwkzwmp/test_config.TestClass.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmp0uwkzwmp/test_config.TestClass.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmp0uwkzwmp/test_config.TestClass.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::TestClass::test_mpl - Failed: Error: Image files did n...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> __________ test_config[None-True-test_config.TestClass.test_mpl-True] __________
pytest-mpl>
pytest-mpl> pytester = <Pytester PosixPath('/build/pytest-of-nixbld/pytest-0/test_config57')>
pytest-mpl> ini = '', cli = '--mpl-use-full-test-name'
pytest-mpl> expected_baseline_name = 'test_config.TestClass.test_mpl'
pytest-mpl> success_expected = True
pytest-mpl>
pytest-mpl> @pytest.mark.parametrize(
pytest-mpl> "ini, cli, expected_baseline_name, success_expected",
pytest-mpl> [
pytest-mpl> (None, None, SHORT_TEST_NAME, True),
pytest-mpl> (False, None, SHORT_TEST_NAME, True),
pytest-mpl> (True, None, FULL_TEST_NAME, True),
pytest-mpl> (False, True, FULL_TEST_NAME, True),
pytest-mpl> (None, True, FULL_TEST_NAME, True),
pytest-mpl> (True, True, "bad_name", False),
pytest-mpl> ],
pytest-mpl> )
pytest-mpl> def test_config(pytester, ini, cli, expected_baseline_name, success_expected):
pytest-mpl> path = pytester_path(pytester)
pytest-mpl> shutil.copyfile( # Test will only pass if baseline is at expected path
pytest-mpl> Path(__file__).parent / "baseline" / "2.0.x" / "test_base_style.png",
pytest-mpl> path / f"{expected_baseline_name}.png",
pytest-mpl> )
pytest-mpl> ini = f"mpl-use-full-test-name = {ini}" if ini is not None else ""
pytest-mpl> pytester.makeini(
pytest-mpl> f"""
pytest-mpl> [pytest]
pytest-mpl> mpl-default-style = fivethirtyeight
pytest-mpl> mpl-baseline-path = {path}
pytest-mpl> {ini}
pytest-mpl> """
pytest-mpl> )
pytest-mpl> pytester.makepyfile(
pytest-mpl> """
pytest-mpl> import matplotlib.pyplot as plt
pytest-mpl> import pytest
pytest-mpl> class TestClass:
pytest-mpl> @pytest.mark.mpl_image_compare
pytest-mpl> def test_mpl(self):
pytest-mpl> fig, ax = plt.subplots()
pytest-mpl> ax.plot([1, 2, 3])
pytest-mpl> return fig
pytest-mpl> """
pytest-mpl> )
pytest-mpl> cli = "--mpl-use-full-test-name" if cli else ""
pytest-mpl> result = pytester.runpytest("--mpl", cli)
pytest-mpl> if success_expected:
pytest-mpl> > result.assert_outcomes(passed=1)
pytest-mpl> E AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0, 'xpassed': 0, 'xfailed': 0} == {'passed': 1, 'skipped': 0, 'failed': 0, 'errors': 0, 'xpassed': 0, 'xfailed': 0}
pytest-mpl> E
pytest-mpl> E Common items:
pytest-mpl> E {'errors': 0, 'skipped': 0, 'xfailed': 0, 'xpassed': 0}
pytest-mpl> E Differing items:
pytest-mpl> E {'failed': 1} != {'failed': 0}
pytest-mpl> E {'passed': 0} != {'passed': 1}
pytest-mpl> E
pytest-mpl> E Full diff:
pytest-mpl> E {
pytest-mpl> E 'errors': 0,
pytest-mpl> E - 'failed': 0,
pytest-mpl> E ? ^
pytest-mpl> E + 'failed': 1,
pytest-mpl> E ? ^
pytest-mpl> E - 'passed': 1,
pytest-mpl> E ? ^
pytest-mpl> E + 'passed': 0,
pytest-mpl> E ? ^
pytest-mpl> E 'skipped': 0,
pytest-mpl> E 'xfailed': 0,
pytest-mpl> E 'xpassed': 0,
pytest-mpl> E }
pytest-mpl>
pytest-mpl> /build/pytest-mpl-0.17.0/tests/test_use_full_test_name.py:52: AssertionError
pytest-mpl> ----------------------------- Captured stdout call -----------------------------
pytest-mpl> ============================= test session starts ==============================
pytest-mpl> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
pytest-mpl> Matplotlib: 3.8.3
pytest-mpl> Freetype: 2.13.2
pytest-mpl> rootdir: /build/pytest-of-nixbld/pytest-0/test_config57
pytest-mpl> configfile: tox.ini
pytest-mpl> plugins: mpl-0.17.0
pytest-mpl> collected 1 item
pytest-mpl>
pytest-mpl> test_config.py F [100%]
pytest-mpl>
pytest-mpl> =================================== FAILURES ===================================
pytest-mpl> ______________________________ TestClass.test_mpl ______________________________
pytest-mpl> Error: Image files did not match.
pytest-mpl> RMS Value: 6.56291417343825
pytest-mpl> Expected:
pytest-mpl> /build/tmpa9f7cr86/test_config.TestClass.test_mpl/baseline.png
pytest-mpl> Actual:
pytest-mpl> /build/tmpa9f7cr86/test_config.TestClass.test_mpl/result.png
pytest-mpl> Difference:
pytest-mpl> /build/tmpa9f7cr86/test_config.TestClass.test_mpl/result-failed-diff.png
pytest-mpl> Tolerance:
pytest-mpl> 2
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED test_config.py::TestClass::test_mpl - Failed: Error: Image files did n...
pytest-mpl> ============================== 1 failed in 0.25s ===============================
pytest-mpl> =========================== short test summary info ============================
pytest-mpl> FAILED tests/test_baseline_path.py::test_config[dir1-None-None-dir1-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_baseline_path.py::test_config[dir1-dir2-None-dir2-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_baseline_path.py::test_config[dir1-dir2-dir3-dir3-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_baseline_path.py::test_config[None-None-dir3-dir3-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_pytest_mpl.py::test_formats[png-True-False] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_results_always.py::test_config[None-None-False] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_results_always.py::test_config[True-None-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_results_always.py::test_config[False-None-False] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_results_always.py::test_config[False-True-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_results_always.py::test_config[True-True-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_use_full_test_name.py::test_config[None-None-test_mpl-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_use_full_test_name.py::test_config[False-None-test_mpl-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_use_full_test_name.py::test_config[True-None-test_config.TestClass.test_mpl-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_use_full_test_name.py::test_config[False-True-test_config.TestClass.test_mpl-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> FAILED tests/test_use_full_test_name.py::test_config[None-True-test_config.TestClass.test_mpl-True] - AssertionError: assert {'passed': 0, 'skipped': 0, 'failed': 1, 'errors': 0...
pytest-mpl> =========== 15 failed, 70 passed, 33 skipped, 2 deselected in 30.22s ===========
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment