diff --git a/opensuse-test.patch b/opensuse-test.patch new file mode 100644 index 0000000..429fd58 --- /dev/null +++ b/opensuse-test.patch @@ -0,0 +1,34 @@ +--- + tests/test_ansi2html.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: ansi2html-1.9.2/tests/test_ansi2html.py +=================================================================== +--- ansi2html-1.9.2.orig/tests/test_ansi2html.py 2024-06-22 19:22:24.000000000 +0200 ++++ ansi2html-1.9.2/tests/test_ansi2html.py 2025-06-17 22:27:11.354092953 +0200 +@@ -50,6 +50,7 @@ + + class TestAnsi2HTML: + maxDiff = None ++ cmd_exe = "ansi2html-" + '.'.join([str(x) for x in sys.version_info[:2]]) + + def test_linkify(self) -> None: + ansi = "http://threebean.org#foobar" +@@ -465,7 +466,7 @@ + assert target in html + + def test_command_script(self) -> None: +- result = run(["ansi2html", "--version"], check=True) ++ result = run([self.cmd_exe, "--version"], check=True) + assert result.returncode == 0 + + def test_command_input_output_encoding(self) -> None: +@@ -480,7 +481,7 @@ + + with Popen( + [ +- "ansi2html", ++ self.cmd_exe, + "--inline", + f"--input-encoding={input_encoding}", + f"--output-encoding={output_encoding}", diff --git a/python-ansi2html.changes b/python-ansi2html.changes index 49e0779..e2176a8 100644 --- a/python-ansi2html.changes +++ b/python-ansi2html.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jun 17 20:29:28 UTC 2025 - Matej Cepl + +- Add opensuse-test.patch making the tests work even with + versioned executables in the testing environment (i.e., before + the alts scriptlets kick in). + ------------------------------------------------------------------- Mon Jun 16 12:20:51 UTC 2025 - Markéta Machová diff --git a/python-ansi2html.spec b/python-ansi2html.spec index d2cb8eb..10a54ac 100644 --- a/python-ansi2html.spec +++ b/python-ansi2html.spec @@ -26,6 +26,11 @@ License: LGPL-3.0-or-later Group: Development/Languages/Python URL: https://github.com/pycontribs/ansi2html/ Source: https://github.com/pycontribs/ansi2html/archive/v%{version}.tar.gz +# PATCH-FIX-OPENSUSE opensuse-test.patch bsc#[0-9]+ mcepl@suse.com +# Make tests work with versioned executables before alts kick in +# If any other test fails, because the executable is not +# "ansi2html", replace it with self.cmd_exe +Patch0: opensuse-test.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} @@ -45,7 +50,7 @@ Inspired by and developed off of the work of pixelbeat and blackjack. Read the [docs](https://ansi2html.readthedocs.io/) for more informations. %prep -%setup -q -n ansi2html-%{version} +%autosetup -p1 -n ansi2html-%{version} %build %pyproject_wheel @@ -58,9 +63,10 @@ Read the [docs](https://ansi2html.readthedocs.io/) for more informations. %check # https://github.com/pycontribs/ansi2html/issues/169 sed -i 's:from mock:from unittest.mock:' tests/test_ansi2html.py +export PATH=$PATH:%{buildroot}%{_bindir} # ansi2html not available (update alternatives); solvable # but it runs just ansi2html --version -%pytest -k 'not test_command_script' +%pytest %pre %python_libalternatives_reset_alternative ansi2html