diff --git a/CHANGES.md b/CHANGES.md index 7e51924..f9362de 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,8 @@ 0.7 (unreleased) ---------------- +- Fix broken ``single_reference=True`` usage. [#43] + 0.6 (2023-11-15) ---------------- diff --git a/pytest_arraydiff/plugin.py b/pytest_arraydiff/plugin.py index f476e68..825c9b6 100755 --- a/pytest_arraydiff/plugin.py +++ b/pytest_arraydiff/plugin.py @@ -310,8 +310,10 @@ def pytest_runtest_call(self, item): # Find test name to use as plot name filename = compare.kwargs.get('filename', None) if filename is None: - filename = item.name + '.' + extension - if not single_reference: + if single_reference: + filename = item.originalname + '.' + extension + else: + filename = item.name + '.' + extension filename = filename.replace('[', '_').replace(']', '_') filename = filename.replace('_.' + extension, '.' + extension) diff --git a/tests/baseline/test_single_reference.fits b/tests/baseline/test_single_reference.fits new file mode 100644 index 0000000..9fab1ae Binary files /dev/null and b/tests/baseline/test_single_reference.fits differ diff --git a/tests/test_pytest_arraydiff.py b/tests/test_pytest_arraydiff.py index 5ad20dc..da603fa 100644 --- a/tests/test_pytest_arraydiff.py +++ b/tests/test_pytest_arraydiff.py @@ -152,5 +152,27 @@ def test_absolute_tolerance(): return np.ones((3, 4)) * 1.6 + 1.4 +@pytest.mark.array_compare( + reference_dir=reference_dir, + atol=1.5, + file_format='fits', + single_reference=True) +@pytest.mark.parametrize('spam', ('egg', 'bacon')) +def test_single_reference(spam): + return np.ones((3, 4)) * 1.6 + 1.4 + + +class TestSingleReferenceClass: + + @pytest.mark.array_compare( + reference_dir=reference_dir, + atol=1.5, + file_format='fits', + single_reference=True) + @pytest.mark.parametrize('spam', ('egg', 'bacon')) + def test_single_reference(self, spam): + return np.ones((3, 4)) * 1.6 + 1.4 + + def test_nofile(): pass