diff --git a/.github/workflows/test_and_publish.yml b/.github/workflows/test_and_publish.yml index e2519a7..bd3a917 100644 --- a/.github/workflows/test_and_publish.yml +++ b/.github/workflows/test_and_publish.yml @@ -26,29 +26,27 @@ jobs: - ghostscript - inkscape envs: | - # Test oldest NEP 29 configurations + # Test oldest SPEC 0 configurations + - linux: py311-test-mpl38 + - macos: py311-test-mpl38 + - windows: py311-test-mpl38 + # Test newest configurations + - linux: py313-test-mpl310 + - macos: py313-test-mpl310 + - windows: py313-test-mpl310 + # Test intermediate SPEC 0 configurations on Linux + - linux: py311-test-mpl39 + - linux: py312-test-mpl39 + - linux: py311-test-mpl310 + - linux: py312-test-mpl310 + # Test non-SPEC 0 configurations + - linux: py313-test-mpldev-pytestdev + - linux: py311-test-mpl37-pytest74 + - linux: py39-test-mpl33-pytest62 + # Test oldest non-SPEC 0 configurations - linux: py39-test-mpl33 - macos: py39-test-mpl33 - windows: py39-test-mpl33 - # Test oldest non-NEP 29 configurations - - linux: py36-test-mpl20 - runs-on: ubuntu-20.04 - - macos: py36-test-mpl20 - - windows: py36-test-mpl20 - # Test newest configurations - - linux: py312-test-mpl38 - - macos: py312-test-mpl38 - - windows: py312-test-mpl38 - # Test intermediate NEP 29 configurations on Linux - - linux: py39-test-mpl38 - - linux: py310-test-mpl38 - - linux: py310-test-mpl35 - - linux: py311-test-mpl36 - - linux: py311-test-mpl37 - # Test different versions of pytest - - linux: py312-test-mpldev-pytestdev - - linux: py39-test-mpl33-pytest62 - - linux: py38-test-mpl31-pytest54 coverage: 'codecov' publish: @@ -57,7 +55,5 @@ jobs: uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1 with: test_command: pytest $GITHUB_WORKSPACE/tests; pytest --mpl $GITHUB_WORKSPACE/tests - # Remove python-version when python-dateutil >2.8.2 - python-version: "3.11" secrets: pypi_token: ${{ secrets.pypi_password }} diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 02fe0e9..a482151 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -5,6 +5,9 @@ build: tools: python: "3.11" +sphinx: + configuration: docs/conf.py + python: install: - method: pip diff --git a/docs/installing.rst b/docs/installing.rst index 9bd0279..c4ce2d0 100644 --- a/docs/installing.rst +++ b/docs/installing.rst @@ -4,7 +4,7 @@ Installation Guide ################## -This plugin is compatible with Python 3.6 and later, and +This plugin is compatible with Python 3.9 and later, and requires `pytest `__ and `matplotlib `__ to be installed. diff --git a/pytest_mpl/plugin.py b/pytest_mpl/plugin.py index 6232db2..49029d6 100644 --- a/pytest_mpl/plugin.py +++ b/pytest_mpl/plugin.py @@ -411,22 +411,24 @@ def __init__( self._test_stats = None self.return_value = {} + def get_logger(self): # configure a separate logger for this pluggin which is independent # of the options that are configured for pytest or for the code that # is tested; turn debug prints on only if "-vv" or more passed - level = logging.DEBUG if config.option.verbose > 1 else logging.INFO - if config.option.log_cli_format is not None: - fmt = config.option.log_cli_format + level = logging.DEBUG if self.config.option.verbose > 1 else logging.INFO + if self.config.option.log_cli_format is not None: + fmt = self.config.option.log_cli_format else: # use pytest's default fmt fmt = "%(levelname)-8s %(name)s:%(filename)s:%(lineno)d %(message)s" formatter = logging.Formatter(fmt) handler = logging.StreamHandler() handler.setFormatter(formatter) - self.logger = logging.getLogger('pytest-mpl') - self.logger.propagate = False - self.logger.setLevel(level) - self.logger.addHandler(handler) + logger = logging.getLogger('pytest-mpl') + logger.propagate = False + logger.setLevel(level) + logger.addHandler(handler) + return logger def _file_extension(self, item): compare = get_compare(item) @@ -502,7 +504,7 @@ def _download_file(self, baseline, filename): u = urlopen(base_url + filename) content = u.read() except Exception as e: - self.logger.info(f'Downloading {base_url + filename} failed: {repr(e)}') + self.get_logger().info(f'Downloading {base_url + filename} failed: {repr(e)}') else: break else: # Could not download baseline image from any of the available URLs diff --git a/setup.cfg b/setup.cfg index a874af3..2d6642e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,7 +23,7 @@ long_description_content_type = text/x-rst zip_safe = True packages = find: include_package_data = True -python_requires = >=3.6 +python_requires = >=3.9 install_requires = pytest matplotlib @@ -41,9 +41,9 @@ test = pytest-cov docs = sphinx - mpl_sphinx_theme>=3.6.0.dev0 + mpl_sphinx_theme>=3.9.0 sphinx_design - matplotlib==3.6 + matplotlib==3.9.* [tool:pytest] testpaths = tests diff --git a/tests/baseline/hashes/mpl20_ft261.json b/tests/baseline/hashes/mpl20_ft261.json deleted file mode 100644 index 47c4eac..0000000 --- a/tests/baseline/hashes/mpl20_ft261.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "480062c2239ed9d70e361d1a5b578dc2aa756971161ac6e7287b492ae6118c59", - "test.test_modified": "54f6cf83d5b06fa2ecb7fa23d6e87898679178ef5d0dfdd2551a139f1932127b", - "test.test_new": "54f6cf83d5b06fa2ecb7fa23d6e87898679178ef5d0dfdd2551a139f1932127b", - "test.test_unmodified": "54f6cf83d5b06fa2ecb7fa23d6e87898679178ef5d0dfdd2551a139f1932127b", - "test_formats.test_format_png": "480062c2239ed9d70e361d1a5b578dc2aa756971161ac6e7287b492ae6118c59" -} diff --git a/tests/baseline/hashes/mpl21_ft261.json b/tests/baseline/hashes/mpl21_ft261.json deleted file mode 100644 index 73286d5..0000000 --- a/tests/baseline/hashes/mpl21_ft261.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "17b65dd0247b0dfd8c1b4b079352414ae0fe03c0a3e79d63c8b8670d84d4098f", - "test.test_modified": "14d326881467bc613e6504b87bd7d556a5e58668ff16b896fa3c15745cfb6336", - "test.test_new": "14d326881467bc613e6504b87bd7d556a5e58668ff16b896fa3c15745cfb6336", - "test.test_unmodified": "14d326881467bc613e6504b87bd7d556a5e58668ff16b896fa3c15745cfb6336", - "test_formats.test_format_eps": "f8a0fbb33dcd473ef5cfdd69317db6eb58d64a7f5f3b5072e0de69aa9e201224", - "test_formats.test_format_pdf": "82b2b58fc3a74591c85cdf2f06b2f72dfc154820fca98e7cfd5cb6904ed60b23", - "test_formats.test_format_png": "d577a3c8c7550413d8d50bc26a68f3e8d9c35d4763c52cbcc15df4f61c8406b2" -} diff --git a/tests/baseline/hashes/mpl22_ft261.json b/tests/baseline/hashes/mpl22_ft261.json deleted file mode 100644 index fbde756..0000000 --- a/tests/baseline/hashes/mpl22_ft261.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e80557c8784fb920fb79b03b26dc072649a98811f00a8c212df8761e4351acde", - "test.test_modified": "80e0ee6df7cf7d9d9407395a25af30beb8763e98820a7be972764899246d2cd7", - "test.test_new": "80e0ee6df7cf7d9d9407395a25af30beb8763e98820a7be972764899246d2cd7", - "test.test_unmodified": "80e0ee6df7cf7d9d9407395a25af30beb8763e98820a7be972764899246d2cd7", - "test_formats.test_format_eps": "f8a0fbb33dcd473ef5cfdd69317db6eb58d64a7f5f3b5072e0de69aa9e201224", - "test_formats.test_format_pdf": "8963ba9209080091c0961553bdf195cdcd0f2ba29081a122f9aad8e94c444aff", - "test_formats.test_format_png": "d577a3c8c7550413d8d50bc26a68f3e8d9c35d4763c52cbcc15df4f61c8406b2" -} diff --git a/tests/baseline/hashes/mpl30_ft261.json b/tests/baseline/hashes/mpl30_ft261.json deleted file mode 100644 index b928fbb..0000000 --- a/tests/baseline/hashes/mpl30_ft261.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "ffbe386e7bbd8c720a44d2775dfe207b6dcca9304d845b557071a72b8c31ce04", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "4a605a2cd24101b9292151f5ab6d6846ba1b9c856cfda2bee6a142380e257b04", - "test_formats.test_format_pdf": "34a9eb10372b35c0bd26472e8571a91031c055ab47cc3682ebc0c5e47c2b6cbd", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904" -} diff --git a/tests/baseline/hashes/mpl31_ft261.json b/tests/baseline/hashes/mpl31_ft261.json deleted file mode 100644 index 421a2ab..0000000 --- a/tests/baseline/hashes/mpl31_ft261.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "d577a3c8c7550413d8d50bc26a68f3e8d9c35d4763c52cbcc15df4f61c8406b2", - "test.test_modified": "b7a4b4a01e8cf66c805ab456bf3f807066acf86a11af669b557b2aa98586f2c0", - "test.test_new": "b7a4b4a01e8cf66c805ab456bf3f807066acf86a11af669b557b2aa98586f2c0", - "test.test_unmodified": "b7a4b4a01e8cf66c805ab456bf3f807066acf86a11af669b557b2aa98586f2c0", - "test_formats.test_format_eps": "108a341ce450cb5adef9f41e27175da1809fcdeb64f17b13f58d3eb0efc08006", - "test_formats.test_format_pdf": "8963ba9209080091c0961553bdf195cdcd0f2ba29081a122f9aad8e94c444aff", - "test_formats.test_format_png": "d577a3c8c7550413d8d50bc26a68f3e8d9c35d4763c52cbcc15df4f61c8406b2" -} diff --git a/tests/baseline/hashes/mpl32_ft261.json b/tests/baseline/hashes/mpl32_ft261.json deleted file mode 100644 index b928fbb..0000000 --- a/tests/baseline/hashes/mpl32_ft261.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "ffbe386e7bbd8c720a44d2775dfe207b6dcca9304d845b557071a72b8c31ce04", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "4a605a2cd24101b9292151f5ab6d6846ba1b9c856cfda2bee6a142380e257b04", - "test_formats.test_format_pdf": "34a9eb10372b35c0bd26472e8571a91031c055ab47cc3682ebc0c5e47c2b6cbd", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904" -} diff --git a/tests/baseline/hashes/mpl33_ft261.json b/tests/baseline/hashes/mpl33_ft261.json deleted file mode 100644 index 3fdf024..0000000 --- a/tests/baseline/hashes/mpl33_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "4a605a2cd24101b9292151f5ab6d6846ba1b9c856cfda2bee6a142380e257b04", - "test_formats.test_format_pdf": "34a9eb10372b35c0bd26472e8571a91031c055ab47cc3682ebc0c5e47c2b6cbd", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "b7f85f4b44e0c5871f5cc230b5a9042f2e73aa70384ab584d6cd8cde29344cd2" -} diff --git a/tests/baseline/hashes/mpl34_ft261.json b/tests/baseline/hashes/mpl34_ft261.json deleted file mode 100644 index 3fdf024..0000000 --- a/tests/baseline/hashes/mpl34_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "4a605a2cd24101b9292151f5ab6d6846ba1b9c856cfda2bee6a142380e257b04", - "test_formats.test_format_pdf": "34a9eb10372b35c0bd26472e8571a91031c055ab47cc3682ebc0c5e47c2b6cbd", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "b7f85f4b44e0c5871f5cc230b5a9042f2e73aa70384ab584d6cd8cde29344cd2" -} diff --git a/tests/baseline/hashes/mpl35_ft261.json b/tests/baseline/hashes/mpl35_ft261.json deleted file mode 100644 index 5abbe0d..0000000 --- a/tests/baseline/hashes/mpl35_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "eafdced089e99355680744ac0b03d0beb3908c356c15f42e3fb299fa96cce46b", - "test_formats.test_format_pdf": "43ff9cc711b1d5e94bb904fc0ba872ea1c0a3fc778ed6eb705c5fc9305928c6b", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "43a859a3642b9ce15578d25c6fd7d13edfee3a18457949a1ed4e841a83aa2942" -} diff --git a/tests/baseline/hashes/mpl36_ft261.json b/tests/baseline/hashes/mpl36_ft261.json deleted file mode 100644 index ef249c3..0000000 --- a/tests/baseline/hashes/mpl36_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "f7a03867e26b8ae32ed6f22972dfdc571a974df80881dc24bb8f840681f2ac5f", - "test_formats.test_format_pdf": "492152532625c1c4ea404854b75923c5dae0c253873b3715edba29d93b326d07", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "4d1390489561a93e5413071632cfdab79ca1efbebf55337af2ab462cf1d4b9db" -} diff --git a/tests/baseline/hashes/mpl37_ft261.json b/tests/baseline/hashes/mpl37_ft261.json deleted file mode 100644 index d02bd2e..0000000 --- a/tests/baseline/hashes/mpl37_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "f7a03867e26b8ae32ed6f22972dfdc571a974df80881dc24bb8f840681f2ac5f", - "test_formats.test_format_pdf": "492152532625c1c4ea404854b75923c5dae0c253873b3715edba29d93b326d07", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "cb648df098fa1dd1ba0ed81e6498d31a152a43c47882e2503d093f83306ff403" -} diff --git a/tests/baseline/hashes/mpl38_ft261.json b/tests/baseline/hashes/mpl38_ft261.json deleted file mode 100644 index 7104aec..0000000 --- a/tests/baseline/hashes/mpl38_ft261.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test.test_modified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_new": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test.test_unmodified": "025d344bc9667222abc27f2d746618bce9da8ae44fa9afa1220ac83f230b4e4e", - "test_formats.test_format_eps": "f730e67270aeeb2a0bedee168d7c421b952cbf486ea371987cc4cea503a7d7ff", - "test_formats.test_format_pdf": "492152532625c1c4ea404854b75923c5dae0c253873b3715edba29d93b326d07", - "test_formats.test_format_png": "e73d228183ddfdced366191399cdecef9685d1248b852162f179750fc7b8b904", - "test_formats.test_format_svg": "6309fd2c3f328ca3c5614c58c118780c94035eb3690fc4b95d1923699b28ff8e" -} diff --git a/tests/baseline/test_hash_lib.json b/tests/baseline/test_hash_lib.json deleted file mode 100644 index 03ca95e..0000000 --- a/tests/baseline/test_hash_lib.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "test_pytest_mpl.test_hash_succeeds": "cd01b7a39330033b18d54b507635236214cae5e24f9e09d84b56462a9ac81052", - "test.test_hash_fails": "FAIL", - "test.test_hash_fail_hybrid": "FAIL" -} diff --git a/tests/helpers.py b/tests/helpers.py index ce41235..9eff19f 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -1,4 +1,3 @@ -import sys from pathlib import Path import matplotlib @@ -20,15 +19,11 @@ def skip_if_format_unsupported(file_format, using_hashes=False): pytest.skip('SVG comparison is only supported in Matplotlib 3.3 and above') if using_hashes: - if file_format == 'pdf' and MPL_VERSION < Version('2.1'): pytest.skip('PDF hashes are only deterministic in Matplotlib 2.1 and above') elif file_format == 'eps' and MPL_VERSION < Version('2.1'): pytest.skip('EPS hashes are only deterministic in Matplotlib 2.1 and above') - if using_hashes and not sys.platform.startswith('linux'): - pytest.skip('Hashes for vector graphics are only provided in the hash library for Linux') - if file_format != 'png' and file_format not in converter: if file_format == 'svg': pytest.skip('Comparing SVG files requires inkscape to be installed') diff --git a/tests/subtests/result_hashes/mpl33_ft261.json b/tests/subtests/result_hashes/mpl33_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl33_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/result_hashes/mpl34_ft261.json b/tests/subtests/result_hashes/mpl34_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl34_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/result_hashes/mpl35_ft261.json b/tests/subtests/result_hashes/mpl35_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl35_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/result_hashes/mpl36_ft261.json b/tests/subtests/result_hashes/mpl36_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl36_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/result_hashes/mpl37_ft261.json b/tests/subtests/result_hashes/mpl37_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl37_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/result_hashes/mpl38_ft261.json b/tests/subtests/result_hashes/mpl38_ft261.json deleted file mode 100644 index 95904f0..0000000 --- a/tests/subtests/result_hashes/mpl38_ft261.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "b92c5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "567f014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "b6673bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "e37bd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_functions.test_hmissing_imatch": "592d12cc2d5749a6607bbf98d715b95c06a2af6572a7e298bcae349648b9997e", - "subtests.subtest.test_functions.test_hmissing_idiff": "9e98dbd2027525c776212daa061180b4fc40ad12dfc2cdfe4b86694ede14e0c3", - "subtests.subtest.test_functions.test_hmissing_idiffshape": "5534324f9da5c1c104c3ef3435dc6fa9792c0d0d8b762fad5d7f81abd91fbb89", - "subtests.subtest.test_functions.test_hmissing_imissing": "2d15274f0e9b44f1c16e6b237710cd36a3de5c5b7596ef0e65e7a33ce4624cf4", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "f26ca66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "0a0514c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "588ad00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "a78ad7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "2bb430367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl33_ft261.json b/tests/subtests/subtest/hashes/mpl33_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl33_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl34_ft261.json b/tests/subtests/subtest/hashes/mpl34_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl34_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl35_ft261.json b/tests/subtests/subtest/hashes/mpl35_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl35_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl36_ft261.json b/tests/subtests/subtest/hashes/mpl36_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl36_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl37_ft261.json b/tests/subtests/subtest/hashes/mpl37_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl37_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/hashes/mpl38_ft261.json b/tests/subtests/subtest/hashes/mpl38_ft261.json deleted file mode 100644 index ed5bb0e..0000000 --- a/tests/subtests/subtest/hashes/mpl38_ft261.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "subtests.subtest.test_classes.TestClass.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_classes.TestClass.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hmatch_imatch_testclasswithsetupmethod": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupMethod.test_hdiff_idiff_testclasswithsetupmethod": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hmatch_imatch_testclasswithsetupclass": "8c4fa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithSetupClass.test_hdiff_idiff_testclasswithsetupclass": "d1ffa5f95b2a2b424ad9e441b6aeeced9d51a52fe7f19870eedcdfdcf6d39818", - "subtests.subtest.test_classes.TestClassWithFixture.test_hmatch_imatch_testclasswithfixture": "ee0c290d66d17e4e40991c31eee0c55bd724922a3ecb66f7300b2ce8abf3d204", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_first": "3f8d2c1facdf6e34e43b4343abd888bd5ee9d2d451ce285e62bf0c65d6cdcdce", - "subtests.subtest.test_classes.TestMultipleFigures.test_hmatch_imatch_multiplefigures_second": "9a6b008431f0b47a8866d87a9f1e9352fd73407a3ee2dd756a8ccbfa5a835a08", - "subtests.subtest.test_functions.test_hmatch_imatch": "d21af7f9a2c1cbaf3c9bca3598f1b32b36891ac9d5db47e81a7bcaa342f7d4fc", - "subtests.subtest.test_functions.test_hmatch_idiff": "085fcb22e9d6cfbb2bb6e0efbf749fa598be27e837c348130adc21a6dc2fc5fe", - "subtests.subtest.test_functions.test_hmatch_idiffshape": "a8f866c3b765e274c217d49ba72c9ce3bd4b316491ffd34a124ef03643ce45b8", - "subtests.subtest.test_functions.test_hmatch_imissing": "f06e910b6c80db28e1eb08fdb8e1ab9211434498c134d00820900a13a4f2568c", - "subtests.subtest.test_functions.test_hdiff_imatch": "d1ff5c6bc631fbdaffa23d3d57fc027768fcded889f3b269941da859110ce282", - "subtests.subtest.test_functions.test_hdiff_idiff": "d1ff014f73cdfea555e46a29aaac43c4394c3c4c21998e54971edb773eee6c95", - "subtests.subtest.test_functions.test_hdiff_idiffshape": "d1ff3bafdcc8350c612bc925269fc4332dd9062a6399701067863b178568b219", - "subtests.subtest.test_functions.test_hdiff_imissing": "d1ffd5868d14547557653c051d23d3fd48d198d3f59006dc5ba390433d6670ff", - "subtests.subtest.test_special.test_hdiff_imatch_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_idiff_tolerance": "d1ffa66a7c02ae64c8b2512021e0450cbe64c084c9d5f7e2600a7342a559c0b1", - "subtests.subtest.test_special.test_hdiff_imatch_savefig": "d1ff14c35f1da18de3f4ceb1901501e5a8a5a0d18eb8a7b4db5cfde170b57423", - "subtests.subtest.test_special.test_hdiff_imatch_style": "d1ffd00c4b99c6087d04f84ca071a5997b4ecf76cf859ce3548634e67841a79b", - "subtests.subtest.test_special.test_hdiff_imatch_removetext": "d1ffd7512c6d886262b1bcb4501374bfc61ef8569d24930b0258dab08e6eca9a", - "subtests.subtest.test_unittest.TestCase.test_hdiff_idiff_testclass": "d1ff30367cdf04b7b5f3af8c50652964ff27def9fc0a75a68b4775ba1eb8e827", - "subtests.subtest.test_unittest.TestCase.test_hmatch_imatch_testclass": "af966da7f2e57908211d559ff0a24a52c363c3fabca9e810138ad60e3fd2bcc9", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hdiff_idiff_testcasewithsetup": "d1ff0363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUp.test_hmatch_imatch_testcasewithsetup": "56d00363330cb7d959d6cfdc1335901716e841f54014cb6e657d1c4721384252", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hdiff_idiff_testcasewithsetupclass": "d1ff6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602", - "subtests.subtest.test_unittest.TestCaseWithSetUpClass.test_hmatch_imatch_testcasewithsetupclass": "5f1e6e2b775a1b1d1e9e20a4d929586a9accb08b2fddaec8a24fb4acfc83c602" -} diff --git a/tests/subtests/subtest/pytest.ini b/tests/subtests/subtest/pytest.ini index faaaaad..cf0cae2 100644 --- a/tests/subtests/subtest/pytest.ini +++ b/tests/subtests/subtest/pytest.ini @@ -6,3 +6,4 @@ filterwarnings = error ignore:distutils Version classes are deprecated ignore:the imp module is deprecated in favour of importlib + ignore:Auto-close\(\)ing of figures upon backend switching is deprecated diff --git a/tests/subtests/test_subtest.py b/tests/subtests/test_subtest.py index 6bf4c8d..73f7c52 100644 --- a/tests/subtests/test_subtest.py +++ b/tests/subtests/test_subtest.py @@ -17,9 +17,7 @@ MPL_VERSION = Version(matplotlib.__version__) FTV = matplotlib.ft2font.__freetype_version__.replace('.', '') VERSION_ID = f"mpl{MPL_VERSION.major}{MPL_VERSION.minor}_ft{FTV}" -HASH_LIBRARY = Path(__file__).parent / 'subtest' / 'hashes' / (VERSION_ID + ".json") -RESULT_LIBRARY = Path(__file__).parent / 'result_hashes' / (VERSION_ID + ".json") -HASH_LIBRARY_FLAG = rf'--mpl-hash-library={HASH_LIBRARY}' +HASH_LIBRARY_FLAG = r'--mpl-hash-library={hash_library}' FULL_BASELINE_PATH = Path(__file__).parent / 'subtest' / 'baseline' BASELINE_IMAGES_FLAG_REL = ['--mpl-baseline-path=baseline', '--mpl-baseline-relative'] @@ -50,7 +48,7 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=True, - has_result_hashes=False, generating_hashes=False, + has_result_hashes=False, generating_hashes=False, testing_hashes=False, update_baseline=UPDATE_BASELINE, update_summary=UPDATE_SUMMARY): """ Run pytest (within pytest) and check JSON summary report. @@ -72,6 +70,8 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru generating_hashes : bool, optional, default=False Whether `--mpl-generate-hash-library` was specified and both of `--mpl-hash-library` and `hash_library=` were not. + testing_hashes : bool, optional, default=False + Whether the subtest is comparing hashes and therefore needs baseline hashes generated. """ if update_baseline and update_summary: raise ValueError("Cannot enable both `update_baseline` and `update_summary`.") @@ -86,14 +86,28 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru results_path = tmp_path / 'results' results_path.mkdir() + baseline_hash_library = tmp_path / 'hashes' / 'baseline.json' + expected_result_hash_library = tmp_path / 'hashes' / 'expected_result.json' + # Configure the arguments to run the test pytest_args = [sys.executable, '-m', 'pytest', str(TEST_FILE)] mpl_args = ['--mpl', rf'--mpl-results-path={results_path.as_posix()}', f'--mpl-generate-summary={summaries}'] if update_baseline: mpl_args += [rf'--mpl-generate-path={FULL_BASELINE_PATH}'] - if HASH_LIBRARY.exists(): - mpl_args += [rf'--mpl-generate-hash-library={HASH_LIBRARY}'] + args = [ + HASH_LIBRARY_FLAG.format(hash_library=baseline_hash_library) + if x == HASH_LIBRARY_FLAG else x + for x in args + ] + + if testing_hashes or has_result_hashes or generating_hashes: + hash_gen_args = [f'--mpl-generate-hash-library={expected_result_hash_library}'] + if " ".join(HASH_COMPARISON_MODE) in " ".join(args): + hash_gen_args += HASH_COMPARISON_MODE + subprocess.call(pytest_args + hash_gen_args) + shutil.copy(expected_result_hash_library, baseline_hash_library) + transform_hashes(baseline_hash_library) # Run the test and record exit status status = subprocess.call(pytest_args + mpl_args + args) @@ -102,9 +116,6 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru if update_baseline: assert status == 0 transform_images(FULL_BASELINE_PATH) # Make image comparison tests fail correctly - if HASH_LIBRARY.exists(): - shutil.copy(HASH_LIBRARY, RESULT_LIBRARY) - transform_hashes(HASH_LIBRARY) # Make hash comparison tests fail correctly pytest.skip("Skipping testing, since `update_baseline` is enabled.") return @@ -135,7 +146,8 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru # Compare summaries diff_summary(baseline_summary, result_summary, - baseline_hash_library=HASH_LIBRARY, result_hash_library=RESULT_LIBRARY, + baseline_hash_library=baseline_hash_library, + result_hash_library=expected_result_hash_library, generating_hashes=generating_hashes) # Ensure reported images exist @@ -146,12 +158,12 @@ def run_subtest(baseline_summary_name, tmp_path, args, summaries=None, xfail=Tru result_hash_file = tmp_path / 'results' / has_result_hashes has_result_hashes = True # convert to bool after processing str else: - result_hash_file = tmp_path / 'results' / HASH_LIBRARY.name + result_hash_file = tmp_path / 'results' / 'baseline.json' # Compare the generated hash library to the expected hash library if has_result_hashes: assert result_hash_file.exists() - with open(RESULT_LIBRARY, "r") as f: + with open(expected_result_hash_library, "r") as f: baseline = json.load(f) with open(result_hash_file, "r") as f: result = json.load(f) @@ -173,19 +185,18 @@ def test_default(tmp_path): run_subtest('test_default', tmp_path, [*IMAGE_COMPARISON_MODE]) -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_hash(tmp_path): - run_subtest('test_hash', tmp_path, [HASH_LIBRARY_FLAG, *HASH_COMPARISON_MODE]) + run_subtest('test_hash', tmp_path, + [HASH_LIBRARY_FLAG, *HASH_COMPARISON_MODE], + testing_hashes=True) -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_results_always(tmp_path): run_subtest('test_results_always', tmp_path, [HASH_LIBRARY_FLAG, BASELINE_IMAGES_FLAG_ABS, '--mpl-results-always'], has_result_hashes=True) -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_html(tmp_path): run_subtest('test_results_always', tmp_path, [HASH_LIBRARY_FLAG, BASELINE_IMAGES_FLAG_ABS], summaries=['html'], @@ -195,7 +206,6 @@ def test_html(tmp_path): assert (tmp_path / 'results' / 'styles.css').exists() -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_html_hashes_only(tmp_path): run_subtest('test_html_hashes_only', tmp_path, [HASH_LIBRARY_FLAG, *HASH_COMPARISON_MODE], @@ -212,7 +222,6 @@ def test_html_images_only(tmp_path): assert (tmp_path / 'results' / 'styles.css').exists() -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_basic_html(tmp_path): run_subtest('test_results_always', tmp_path, [HASH_LIBRARY_FLAG, *BASELINE_IMAGES_FLAG_REL], summaries=['basic-html'], @@ -220,7 +229,6 @@ def test_basic_html(tmp_path): assert (tmp_path / 'results' / 'fig_comparison_basic.html').exists() -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_generate(tmp_path): # generating hashes and images; no testing run_subtest('test_generate', tmp_path, @@ -235,7 +243,6 @@ def test_generate_images_only(tmp_path): [rf'--mpl-generate-path={tmp_path}', *IMAGE_COMPARISON_MODE], xfail=False) -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_generate_hashes_only(tmp_path): # generating hashes; testing images run_subtest('test_generate_hashes_only', tmp_path, @@ -243,7 +250,6 @@ def test_generate_hashes_only(tmp_path): generating_hashes=True) -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_html_generate(tmp_path): # generating hashes and images; no testing run_subtest('test_html_generate', tmp_path, @@ -262,7 +268,6 @@ def test_html_generate_images_only(tmp_path): assert (tmp_path / 'results' / 'fig_comparison.html').exists() -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_html_generate_hashes_only(tmp_path): # generating hashes; testing images run_subtest('test_html_generate_hashes_only', tmp_path, @@ -271,7 +276,6 @@ def test_html_generate_hashes_only(tmp_path): assert (tmp_path / 'results' / 'fig_comparison.html').exists() -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_html_run_generate_hashes_only(tmp_path): # generating hashes; testing hashes run_subtest('test_html_hashes_only', tmp_path, @@ -282,6 +286,5 @@ def test_html_run_generate_hashes_only(tmp_path): # Run a hybrid mode test last so if generating hash libraries, it includes all the hashes. -@pytest.mark.skipif(not HASH_LIBRARY.exists(), reason="No hash library for this mpl version") def test_hybrid(tmp_path): - run_subtest('test_hybrid', tmp_path, [HASH_LIBRARY_FLAG, BASELINE_IMAGES_FLAG_ABS]) + run_subtest('test_hybrid', tmp_path, [HASH_LIBRARY_FLAG, BASELINE_IMAGES_FLAG_ABS], testing_hashes=True) diff --git a/tests/test_pytest_mpl.py b/tests/test_pytest_mpl.py index e04cec9..62e6d79 100644 --- a/tests/test_pytest_mpl.py +++ b/tests/test_pytest_mpl.py @@ -6,34 +6,17 @@ from unittest import TestCase import matplotlib -import matplotlib.ft2font import matplotlib.pyplot as plt import pytest from helpers import skip_if_format_unsupported -from packaging.version import Version - -MPL_VERSION = Version(matplotlib.__version__) baseline_dir = 'baseline' - -if MPL_VERSION >= Version('2'): - baseline_subdir = '2.0.x' +baseline_subdir = '2.0.x' baseline_dir_local = os.path.join(baseline_dir, baseline_subdir) baseline_dir_remote = 'http://matplotlib.github.io/pytest-mpl/' + baseline_subdir + '/' -ftv = matplotlib.ft2font.__freetype_version__.replace('.', '') -hash_filename = f"mpl{MPL_VERSION.major}{MPL_VERSION.minor}_ft{ftv}.json" - -if "+" in matplotlib.__version__: - hash_filename = "mpldev.json" - -hash_library = (Path(__file__).parent / "baseline" / # noqa - "hashes" / hash_filename) - -fail_hash_library = Path(__file__).parent / "baseline" / "test_hash_lib.json" baseline_dir_abs = Path(__file__).parent / "baseline" / baseline_subdir -hash_baseline_dir_abs = Path(__file__).parent / "baseline" / "hybrid" WIN = sys.platform.startswith('win') @@ -277,228 +260,6 @@ def test_succeeds(self): return fig -# hashlib - -@pytest.mark.skipif(not hash_library.exists(), reason="No hash library for this mpl version") -@pytest.mark.mpl_image_compare(hash_library=hash_library, deterministic=True) -def test_hash_succeeds(): - fig = plt.figure() - ax = fig.add_subplot(1, 1, 1) - ax.plot([1, 2, 3]) - return fig - - -TEST_FAILING_HASH = rf""" -import pytest -import matplotlib.pyplot as plt -@pytest.mark.mpl_image_compare(hash_library=r"{fail_hash_library}", deterministic=True) -def test_hash_fails(): - fig = plt.figure() - ax = fig.add_subplot(1,1,1) - ax.plot([1,2,2]) - return fig -""" - - -def test_hash_fails(tmp_path): - test_file = tmp_path / "test.py" - test_file.write_text(TEST_FAILING_HASH, encoding="ascii") - test_file = str(test_file) - - # If we use --mpl, it should detect that the figure is wrong - output = assert_pytest_fails_with(['--mpl', test_file], "doesn't match hash FAIL in library") - # We didn't specify a baseline dir so we shouldn't attempt to find one - assert "Image file not found for comparison test" not in output, output - - # Check that the summary path is printed and that it exists. - output = assert_pytest_fails_with(['--mpl', test_file, '--mpl-generate-summary=html'], - "doesn't match hash FAIL in library") - # We didn't specify a baseline dir so we shouldn't attempt to find one - print_message = "A summary of test results can be found at:" - assert print_message in output, output - printed_path = Path(output.split(print_message)[1].strip()) - assert printed_path.exists() - - # If we don't use --mpl option, the test should succeed - code = call_pytest([test_file]) - assert code == 0 - - -TEST_FAILING_HYBRID = rf""" -import pytest -import matplotlib.pyplot as plt -@pytest.mark.mpl_image_compare(hash_library=r"{fail_hash_library}", - tolerance=2, deterministic=True) -def test_hash_fail_hybrid(): - fig = plt.figure() - ax = fig.add_subplot(1,1,1) - ax.plot([1,2,3]) - return fig -""" - - -@pytest.mark.skipif(ftv != '261', reason="Incorrect freetype version for hash check") -def test_hash_fail_hybrid(tmp_path): - - test_file = tmp_path / "test.py" - test_file.write_text(TEST_FAILING_HYBRID, encoding="ascii") - test_file = str(test_file) - - # Assert that image comparison runs and fails - output = assert_pytest_fails_with(['--mpl', test_file, - rf'--mpl-baseline-path={hash_baseline_dir_abs / "fail"}'], - "doesn't match hash FAIL in library") - assert "Error: Image files did not match." in output, output - - # Assert reports missing baseline image - output = assert_pytest_fails_with(['--mpl', test_file, - '--mpl-baseline-path=/not/a/path'], - "doesn't match hash FAIL in library") - assert "Image file not found for comparison test" in output, output - - # Assert reports image comparison succeeds - output = assert_pytest_fails_with(['--mpl', test_file, - rf'--mpl-baseline-path={hash_baseline_dir_abs / "succeed"}'], - "doesn't match hash FAIL in library") - assert "The comparison to the baseline image succeeded." in output, output - - # If we don't use --mpl option, the test should succeed - code = call_pytest([test_file]) - assert code == 0 - - -TEST_FAILING_NEW_HASH = r""" -import pytest -import matplotlib.pyplot as plt -@pytest.mark.mpl_image_compare -def test_hash_fails(): - fig = plt.figure() - ax = fig.add_subplot(1,1,1) - ax.plot([1,2,2]) - return fig -""" - - -@pytest.mark.skipif(ftv != '261', reason="Incorrect freetype version for hash check") -def test_hash_fail_new_hashes(tmp_path): - # Check that the hash comparison fails even if a new hash file is requested - test_file = tmp_path / "test.py" - test_file.write_text(TEST_FAILING_NEW_HASH, encoding="ascii") - test_file = str(test_file) - - # Assert that image comparison runs and fails - assert_pytest_fails_with(['--mpl', test_file, - f'--mpl-hash-library={fail_hash_library}'], - "doesn't match hash FAIL in library") - - hash_file = tmp_path / "new_hashes.json" - # Assert that image comparison runs and fails - assert_pytest_fails_with(['--mpl', test_file, - f'--mpl-hash-library={fail_hash_library}', - f'--mpl-generate-hash-library={hash_file}'], - "doesn't match hash FAIL") - - -TEST_MISSING_HASH = """ -import pytest -import matplotlib.pyplot as plt -@pytest.mark.mpl_image_compare -def test_hash_missing(): - fig = plt.figure() - ax = fig.add_subplot(1,1,1) - ax.plot([1,2,2]) - return fig -""" - - -def test_hash_missing(tmp_path): - test_file = tmp_path / "test.py" - test_file.write_text(TEST_MISSING_HASH) - test_file = str(test_file) - - # Assert fails if hash library missing - assert_pytest_fails_with(['--mpl', test_file, '--mpl-hash-library=/not/a/path'], - "Can't find hash library at path") - - # Assert fails if hash not in library - assert_pytest_fails_with(['--mpl', test_file, f'--mpl-hash-library={fail_hash_library}'], - "Hash for test 'test.test_hash_missing' not found in") - - # If we don't use --mpl option, the test should succeed - code = call_pytest([test_file]) - assert code == 0 - - -TEST_RESULTS_ALWAYS = """ -import pytest -import matplotlib.pyplot as plt -def plot(): - fig = plt.figure() - ax = fig.add_subplot(1,1,1) - ax.plot([1,2,2]) - return fig -@pytest.mark.mpl_image_compare(deterministic=True) -def test_modified(): return plot() -@pytest.mark.mpl_image_compare(deterministic=True) -def test_new(): return plot() -@pytest.mark.mpl_image_compare(deterministic=True) -def test_unmodified(): return plot() -""" - - -@pytest.mark.skipif(not hash_library.exists(), reason="No hash library for this mpl version") -def test_results_always(tmp_path): - test_file = tmp_path / "test.py" - test_file.write_text(TEST_RESULTS_ALWAYS) - results_path = tmp_path / "results" - results_path.mkdir() - - code = call_pytest(['--mpl', str(test_file), '--mpl-results-always', - rf'--mpl-hash-library={hash_library}', - rf'--mpl-baseline-path={baseline_dir_abs}', - '--mpl-generate-summary=html,json,basic-html', - rf'--mpl-results-path={results_path}']) - assert code == 0 # hashes correct, so all should pass - - # assert files for interactive HTML exist - assert (results_path / "fig_comparison.html").exists() - assert (results_path / "styles.css").exists() - assert (results_path / "extra.js").exists() - - html = (results_path / "fig_comparison_basic.html").read_text() - with (results_path / "results.json").open("r") as f: - json_results = json.load(f) - - # each test, and which images should exist - for test, exists in [ - ('test_modified', ['baseline', 'result-failed-diff', 'result']), - ('test_new', ['result']), - ('test_unmodified', ['baseline', 'result']), - ]: - - test_name = f'test.{test}' - - summary = f'
{test_name.split(".")[-1]}
' - assert summary in html - - assert test_name in json_results.keys() - json_res = json_results[test_name] - assert json_res['status'] == 'passed' - - for image_type in ['baseline', 'result-failed-diff', 'result']: - image = f'{test_name}/{image_type}.png' - image_exists = (results_path / image).exists() - json_image_key = f"{image_type.split('-')[-1]}_image" - if image_type in exists: # assert image so pytest prints it on error - assert image and image_exists - assert image in html - assert json_res[json_image_key] == image - else: - assert image and not image_exists - assert image not in html - assert json_res[json_image_key] is None - - TEST_FAILING_CLASS = """ import pytest import matplotlib.pyplot as plt @@ -668,14 +429,15 @@ def test_raises(): @pytest.mark.parametrize('use_hash_library', (False, True)) @pytest.mark.parametrize('passes', (False, True)) @pytest.mark.parametrize("file_format", ['eps', 'pdf', 'png', 'svg']) -def test_formats(pytester, use_hash_library, passes, file_format): +def test_formats(pytester, tmp_path, use_hash_library, passes, file_format): """ Note that we don't test all possible formats as some do not compress well and would bloat the baseline directory. """ skip_if_format_unsupported(file_format, using_hashes=use_hash_library) - if use_hash_library and not hash_library.exists(): - pytest.skip("No hash library for this mpl version") + + tmp_hash_library = tmp_path / f"hash_library_{file_format}.json" + tmp_hash_library.write_text("{}") pytester.makepyfile( f""" @@ -683,7 +445,7 @@ def test_formats(pytester, use_hash_library, passes, file_format): import pytest import matplotlib.pyplot as plt @pytest.mark.mpl_image_compare(baseline_dir=r"{baseline_dir_abs}", - {f'hash_library=r"{hash_library}",' if use_hash_library else ''} + {f'hash_library=r"{tmp_hash_library}",' if use_hash_library else ''} tolerance={DEFAULT_TOLERANCE}, deterministic=True, savefig_kwargs={{'format': '{file_format}'}}) @@ -694,6 +456,17 @@ def test_format_{file_format}(): return fig """ ) + + if use_hash_library: + pytester.runpytest(f'--mpl-generate-hash-library={tmp_hash_library.as_posix()}', '-rs') + hash_data = json.loads(tmp_hash_library.read_text()) + assert len(hash_data[f"test_formats.test_format_{file_format}"]) == 64 + if not passes: + hash_data[f"test_formats.test_format_{file_format}"] = ( + "d1ff" + hash_data[f"test_formats.test_format_{file_format}"][4:] + ) + tmp_hash_library.write_text(json.dumps(hash_data)) + result = pytester.runpytest('--mpl', '-rs') if passes: result.assert_outcomes(passed=1) diff --git a/tox.ini b/tox.ini index 450f49d..cff7325 100644 --- a/tox.ini +++ b/tox.ini @@ -19,20 +19,23 @@ setenv = changedir = .tmp/{envname} description = run tests deps = - py312: git+https://github.com/dateutil/dateutil.git#egg=python-dateutil mpl20: matplotlib==2.0.* - mpl20: nose mpl21: matplotlib==2.1.* mpl22: matplotlib==2.2.* + mpl22: numpy<2 mpl30: matplotlib==3.0.* mpl31: matplotlib==3.1.* + mpl31: numpy<2 mpl32: matplotlib==3.2.* mpl33: matplotlib==3.3.* + mpl33: numpy<2 mpl34: matplotlib==3.4.* mpl35: matplotlib==3.5.* mpl36: matplotlib==3.6.* mpl37: matplotlib==3.7.* mpl38: matplotlib==3.8.* + mpl39: matplotlib==3.9.* + mpl310: matplotlib==3.10.* mpldev: matplotlib>=0.0.dev0 pytest54: pytest==5.4.* pytest60: pytest==6.0.* @@ -43,6 +46,10 @@ deps = pytest72: pytest==7.2.* pytest73: pytest==7.3.* pytest74: pytest==7.4.* + pytest80: pytest==8.0.* + pytest81: pytest==8.1.* + pytest82: pytest==8.2.* + pytest83: pytest==8.3.* pytestdev: git+https://github.com/pytest-dev/pytest.git#egg=pytest extras = test @@ -51,7 +58,8 @@ commands = # Make sure the tests pass with and without --mpl # Use -m so pytest skips "subtests" which always apply --mpl pytest '{toxinidir}' -m "mpl_image_compare" {posargs} - pytest '{toxinidir}' --mpl --cov pytest_mpl {posargs} + coverage run --source=pytest_mpl -m pytest '{toxinidir}' --mpl + coverage xml -o '{toxinidir}{/}coverage.xml' [testenv:codestyle] skip_install = true