Backport upstream fix for unit test
Resolves: RHEL-32133 Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
parent
734f364e56
commit
2c96df2d45
112
PR1825.patch
Normal file
112
PR1825.patch
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
From 1f628f20d75472e2e629c637dec0dec1d82769eb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
|
||||||
|
Date: Mon, 29 Jul 2024 10:17:02 +0200
|
||||||
|
Subject: [PATCH 1/2] Test/dnf4.mark: make the test compatible with all dnf
|
||||||
|
versions
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Let's revert to using plain 'dnf', add an explicit newline in the query
|
||||||
|
format and skip empty lines when processing the output. This makes the
|
||||||
|
test case compatible with all DNF versions, even with dnf5 once this
|
||||||
|
issue gets fixed.
|
||||||
|
|
||||||
|
The previous approach didn't work on c9s / el9, because there is no
|
||||||
|
'/usr/bin/dnf4 -> dnf-3' symlink.
|
||||||
|
|
||||||
|
Also see:
|
||||||
|
https://github.com/osbuild/osbuild/actions/runs/10136827918/job/28026181824
|
||||||
|
|
||||||
|
Co-authored-by: Michael Vogt <michael.vogt@gmail.com>
|
||||||
|
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
|
||||||
|
---
|
||||||
|
test/run/test_stages.py | 13 ++++++++-----
|
||||||
|
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/run/test_stages.py b/test/run/test_stages.py
|
||||||
|
index ca224f07..476be949 100644
|
||||||
|
--- a/test/run/test_stages.py
|
||||||
|
+++ b/test/run/test_stages.py
|
||||||
|
@@ -537,15 +537,12 @@ class TestStages(test.TestBase):
|
||||||
|
assert os.path.isdir(tree)
|
||||||
|
|
||||||
|
# we're going to verify that packages in the tree are marked according to
|
||||||
|
- # Explicitly use 'dnf4' for now, because 'dnf5' contains a breaking change
|
||||||
|
- # in the repoquery --qf output, specifically it does not add a trailing newline.
|
||||||
|
- # We can use plan 'dnf' again once https://github.com/rpm-software-management/dnf5/issues/709 is fixed.
|
||||||
|
r = subprocess.run(
|
||||||
|
[
|
||||||
|
- "dnf4",
|
||||||
|
+ "dnf",
|
||||||
|
"--installroot", tree,
|
||||||
|
"repoquery", "--installed",
|
||||||
|
- "--qf", "%{name},%{reason}"
|
||||||
|
+ "--qf", "%{name},%{reason}\n"
|
||||||
|
],
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE,
|
||||||
|
@@ -554,6 +551,12 @@ class TestStages(test.TestBase):
|
||||||
|
)
|
||||||
|
|
||||||
|
for line in r.stdout.splitlines():
|
||||||
|
+ # 'dnf5' contains a breaking change in the repoquery --qf output, specifically it does not add
|
||||||
|
+ # a trailing newline. For this reason, we add it explicitly in the query format above. This however
|
||||||
|
+ # means that there are empty lines in the output, if 'dnf' points to 'dnf4'.
|
||||||
|
+ # Upstream bug https://github.com/rpm-software-management/dnf5/issues/709
|
||||||
|
+ if not line:
|
||||||
|
+ continue
|
||||||
|
package, mark = line.strip().split(",")
|
||||||
|
|
||||||
|
if package == "dnf":
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
||||||
|
|
||||||
|
From 4c4a23e5f628e9553328bc8342212e3272c7ab3f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= <thozza@redhat.com>
|
||||||
|
Date: Mon, 29 Jul 2024 10:19:13 +0200
|
||||||
|
Subject: [PATCH 2/2] Test/dnf4.mark: make failures to parse dnf output easier
|
||||||
|
to debug
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The test case still fails on RHEL-10.0 Beta, even when not using dnf5,
|
||||||
|
with:
|
||||||
|
|
||||||
|
```
|
||||||
|
for line in r.stdout.splitlines():
|
||||||
|
> package, mark = line.strip().split(",")
|
||||||
|
E ValueError: not enough values to unpack (expected 2, got 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
Make debugging of failures like this easier by printing the line when
|
||||||
|
the issue happens.
|
||||||
|
|
||||||
|
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
|
||||||
|
---
|
||||||
|
test/run/test_stages.py | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/test/run/test_stages.py b/test/run/test_stages.py
|
||||||
|
index 476be949..dc91bf8f 100644
|
||||||
|
--- a/test/run/test_stages.py
|
||||||
|
+++ b/test/run/test_stages.py
|
||||||
|
@@ -557,7 +557,12 @@ class TestStages(test.TestBase):
|
||||||
|
# Upstream bug https://github.com/rpm-software-management/dnf5/issues/709
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
- package, mark = line.strip().split(",")
|
||||||
|
+
|
||||||
|
+ try:
|
||||||
|
+ package, mark = line.strip().split(",")
|
||||||
|
+ except ValueError:
|
||||||
|
+ print(f"Failed to parse line: {line}")
|
||||||
|
+ raise
|
||||||
|
|
||||||
|
if package == "dnf":
|
||||||
|
assert mark == "user"
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
@ -9,7 +9,7 @@ Version: 123
|
|||||||
%global pkgdir %{_prefix}/lib/%{pypi_name}
|
%global pkgdir %{_prefix}/lib/%{pypi_name}
|
||||||
|
|
||||||
Name: %{pypi_name}
|
Name: %{pypi_name}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
|
|
||||||
URL: %{forgeurl}
|
URL: %{forgeurl}
|
||||||
@ -20,6 +20,8 @@ Summary: A build system for OS images
|
|||||||
|
|
||||||
# https://github.com/osbuild/osbuild/pull/1824
|
# https://github.com/osbuild/osbuild/pull/1824
|
||||||
Patch0: PR1824.patch
|
Patch0: PR1824.patch
|
||||||
|
# https://github.com/osbuild/osbuild/pull/1825
|
||||||
|
Patch1: PR1825.patch
|
||||||
|
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
@ -289,6 +291,9 @@ fi
|
|||||||
%{_libexecdir}/osbuild-depsolve-dnf
|
%{_libexecdir}/osbuild-depsolve-dnf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 29 2024 Tomáš Hozza <thozza@redhat.com>
|
||||||
|
- Backport upstream fix for unit test
|
||||||
|
|
||||||
* Thu Jul 25 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 123-1
|
* Thu Jul 25 2024 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 123-1
|
||||||
- New upstream release
|
- New upstream release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user