From 01e6e2186e1a3c1dff21af420988f7930ed30501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Wed, 16 Oct 2024 13:23:12 +0200 Subject: [PATCH 1/5] Since the Curl error messages were updated in f41 run the test only there The change is already present in libcurl-0:8.9.1-2.fc41.x86_64. --- dnf-behave-tests/dnf/config.feature | 4 +- dnf-behave-tests/dnf/download-source.feature | 10 ++-- .../dnf/microdnf/makecache.feature | 4 +- .../dnf/microdnf/reinstall4.feature | 4 +- .../dnf/microdnf/reinstall5.feature | 4 +- dnf-behave-tests/dnf/repo-sync.feature | 46 ++++++++++++------- 6 files changed, 47 insertions(+), 25 deletions(-) diff --git a/dnf-behave-tests/dnf/config.feature b/dnf-behave-tests/dnf/config.feature index ac9f95e2e..7feb64d8f 100644 --- a/dnf-behave-tests/dnf/config.feature +++ b/dnf-behave-tests/dnf/config.feature @@ -178,6 +178,8 @@ Scenario: Dnf can use config file from remote location @bz1721091 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Dnf prints reasonable error when remote config file is not downloadable Given I create directory "/remotedir" And I set up a http server for directory "/remotedir" @@ -203,7 +205,7 @@ Scenario: Dnf prints reasonable error when remote config file is not downloadabl And stderr matches line by line """ Config error: Configuration file URL "http://the_host:[\d]+/does-not-exist\.conf" could not be downloaded: - Curl error \(6\): Couldn't resolve host name for http://the_host:[\d]+/does-not-exist\.conf \[Could not resolve host: the_host\] + Curl error \(6\): Could not resolve hostname for http://the_host:[\d]+/does-not-exist\.conf \[Could not resolve host: the_host\] """ diff --git a/dnf-behave-tests/dnf/download-source.feature b/dnf-behave-tests/dnf/download-source.feature index 072f18806..45cd7c636 100644 --- a/dnf-behave-tests/dnf/download-source.feature +++ b/dnf-behave-tests/dnf/download-source.feature @@ -54,8 +54,8 @@ Given I create directory "/baseurlrepo" And stderr is empty -# @dnf5 -# TODO(nsella) Unknown argument "makecache" for command "microdnf" +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: no working donwload source result in an error Given I create directory "/baseurlrepo" And I execute "createrepo_c {context.dnf.installroot}/baseurlrepo" @@ -71,9 +71,9 @@ Given I create directory "/baseurlrepo" When I execute dnf with args "makecache" Then the exit code is 1 And stderr contains "Errors during downloading metadata for repository 'testrepo':" - And stderr contains "- Curl error \(37\): Couldn't read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" - And stderr contains "- Curl error \(7\): Couldn't connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Couldn't connect to server]" - And stderr contains "- Curl error \(37\): Couldn't read a file:// file for file:///tmp/dnf_ci_installroot_.*/I_dont_exist/repodata/repomd.xml \[Couldn't open file /tmp/dnf_ci_installroot_.*/I_dont_exist/repodata/repomd.xml\]" + And stderr contains "- Curl error \(37\): Could not read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" + And stderr contains "- Curl error \(7\): Could not connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Could not connect to server]" + And stderr contains "- Curl error \(37\): Could not read a file:// file for file:///tmp/dnf_ci_installroot_.*/I_dont_exist/repodata/repomd.xml \[Couldn't open file /tmp/dnf_ci_installroot_.*/I_dont_exist/repodata/repomd.xml\]" And stderr contains "Error: Failed to download metadata for repo 'testrepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried" diff --git a/dnf-behave-tests/dnf/microdnf/makecache.feature b/dnf-behave-tests/dnf/microdnf/makecache.feature index e477e4dc9..50629fb22 100644 --- a/dnf-behave-tests/dnf/microdnf/makecache.feature +++ b/dnf-behave-tests/dnf/microdnf/makecache.feature @@ -33,6 +33,8 @@ Scenario: Tests that "repoquery" downloads metadata (creates a cache) and then " """ +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: makecache with skip_if_unavailable=0 repo doesn't succeed Given I configure a new repository "non-existent" with | key | value | @@ -48,5 +50,5 @@ Given I configure a new repository "non-existent" with """ And stderr is """ - error: cannot update repo 'non-existent': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Couldn't resolve host name for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] + error: cannot update repo 'non-existent': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Could not resolve hostname for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] """ diff --git a/dnf-behave-tests/dnf/microdnf/reinstall4.feature b/dnf-behave-tests/dnf/microdnf/reinstall4.feature index fc054b033..4908081ee 100644 --- a/dnf-behave-tests/dnf/microdnf/reinstall4.feature +++ b/dnf-behave-tests/dnf/microdnf/reinstall4.feature @@ -2,6 +2,8 @@ Feature: Reinstall +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Try to reinstall a pkg if repo not available Given I use repository "simple-base" And I successfully execute microdnf with args "install labirinto" @@ -12,5 +14,5 @@ Scenario: Try to reinstall a pkg if repo not available Then the exit code is 1 And stderr is """ - error: cannot update repo 'simple-base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Couldn't resolve host name for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] + error: cannot update repo 'simple-base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Could not resolve hostname for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] """ diff --git a/dnf-behave-tests/dnf/microdnf/reinstall5.feature b/dnf-behave-tests/dnf/microdnf/reinstall5.feature index d55b12e48..3c7e37ddb 100644 --- a/dnf-behave-tests/dnf/microdnf/reinstall5.feature +++ b/dnf-behave-tests/dnf/microdnf/reinstall5.feature @@ -2,6 +2,8 @@ Feature: Reinstall +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Try to reinstall a pkg if repo not available Given I use repository "simple-base" And I successfully execute microdnf with args "install labirinto" @@ -14,5 +16,5 @@ Scenario: Try to reinstall a pkg if repo not available Then the exit code is 1 And stderr is """ - error: cannot update repo 'non-existent': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Couldn't resolve host name for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] + error: cannot update repo 'non-existent': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Could not resolve hostname for https://www.not-available-repo.com/repodata/repomd.xml [Could not resolve host: www.not-available-repo.com] """ diff --git a/dnf-behave-tests/dnf/repo-sync.feature b/dnf-behave-tests/dnf/repo-sync.feature index 3a9155bf3..409dcbd01 100644 --- a/dnf-behave-tests/dnf/repo-sync.feature +++ b/dnf-behave-tests/dnf/repo-sync.feature @@ -5,6 +5,8 @@ Feature: Tests for the repository syncing functionality @bz1763663 @bz1679509 @bz1692452 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: The default value of skip_if_unavailable is False Given I configure dnf with | key | value | @@ -17,11 +19,13 @@ Scenario: The default value of skip_if_unavailable is False And stderr is """ Errors during downloading metadata for repository 'testrepo': - - Curl error (37): Couldn't read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] + - Curl error (37): Could not read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] Error: Failed to download metadata for repo 'testrepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried """ +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 @bz1689931 Scenario: There is global skip_if_unavailable option Given I configure dnf with @@ -41,12 +45,14 @@ Scenario: There is global skip_if_unavailable option And stderr is """ Errors during downloading metadata for repository 'testrepo': - - Curl error (37): Couldn't read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] + - Curl error (37): Could not read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] Error: Failed to download metadata for repo 'testrepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried Ignoring repositories: testrepo """ +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Per repo skip_if_unavailable configuration Given I configure dnf with | key | value | @@ -65,13 +71,15 @@ Scenario: Per repo skip_if_unavailable configuration And stderr is """ Errors during downloading metadata for repository 'testrepo': - - Curl error (37): Couldn't read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] + - Curl error (37): Could not read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] Error: Failed to download metadata for repo 'testrepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried Ignoring repositories: testrepo """ @bz1689931 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: The repo configuration takes precedence over the global one Given I configure dnf with | key | value | @@ -86,13 +94,15 @@ Scenario: The repo configuration takes precedence over the global one And stderr is """ Errors during downloading metadata for repository 'testrepo': - - Curl error (37): Couldn't read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] + - Curl error (37): Could not read a file:// file for file:///non/existent/repo/repodata/repomd.xml [Couldn't open file /non/existent/repo/repodata/repomd.xml] Error: Failed to download metadata for repo 'testrepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried """ @bz1741442 @bz1752362 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Test repo_gpgcheck=1 error if repomd.xml.asc is not present Given I use repository "dnf-ci-fedora" with configuration | key | value | @@ -100,8 +110,8 @@ Given I use repository "dnf-ci-fedora" with configuration When I execute dnf with args "makecache" Then the exit code is 1 And stderr contains "Errors during downloading metadata for repository 'dnf-ci-fedora':" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file://.*/dnf-ci-fedora/repodata/repomd.xml.asc \[Couldn't open file .*/dnf-ci-fedora/repodata/repomd.xml.asc\]" - And stderr contains "Error: Failed to download metadata for repo 'dnf-ci-fedora': GPG verification is enabled, but GPG signature is not available. This may be an error or the repository does not support GPG verification: Curl error \(37\): Couldn't read a file:// file for file://.*/dnf-ci-fedora/repodata/repomd.xml.asc \[Couldn't open file .*/dnf-ci-fedora/repodata/repomd.xml.asc\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file://.*/dnf-ci-fedora/repodata/repomd.xml.asc \[Couldn't open file .*/dnf-ci-fedora/repodata/repomd.xml.asc\]" + And stderr contains "Error: Failed to download metadata for repo 'dnf-ci-fedora': GPG verification is enabled, but GPG signature is not available. This may be an error or the repository does not support GPG verification: Curl error \(37\): Could not read a file:// file for file://.*/dnf-ci-fedora/repodata/repomd.xml.asc \[Couldn't open file .*/dnf-ci-fedora/repodata/repomd.xml.asc\]" @bz1713627 @@ -125,6 +135,8 @@ Scenario: Missing baseurl/metalink/mirrorlist @bz1605117 @bz1713627 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Nonexistent GPG key Given I use repository "dnf-ci-fedora" with configuration | key | value | @@ -133,19 +145,21 @@ Scenario: Nonexistent GPG key When I execute dnf with args "makecache" Then the exit code is 1 And stderr contains "Errors during downloading metadata for repository 'dnf-ci-fedora':" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistentkey \[Couldn't open file /nonexistentkey\]" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for .*repomd.xml.asc \[Couldn't open file .*repomd.xml.asc\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistentkey \[Couldn't open file /nonexistentkey\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for .*repomd.xml.asc \[Couldn't open file .*repomd.xml.asc\]" And stderr contains "Error: Failed to retrieve GPG key for repo 'dnf-ci-fedora'" When I execute dnf with args "makecache --setopt=*.skip_if_unavailable=1" Then the exit code is 0 And stderr contains "Errors during downloading metadata for repository 'dnf-ci-fedora':" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistentkey \[Couldn't open file /nonexistentkey\]" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for .*repomd.xml.asc \[Couldn't open file .*repomd.xml.asc\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistentkey \[Couldn't open file /nonexistentkey\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for .*repomd.xml.asc \[Couldn't open file .*repomd.xml.asc\]" And stderr contains "Error: Failed to retrieve GPG key for repo 'dnf-ci-fedora'" And stderr contains "Ignoring repositories: dnf-ci-fedora" @bz1713627 +# Since the Curl error messages were updated in f41 run the test only there +@not.with_os=fedora__lt__41 Scenario: Mirrorlist with invalid mirrors Given I create file "/tmp/mirrorlist" with """ @@ -160,16 +174,16 @@ Scenario: Mirrorlist with invalid mirrors When I execute dnf with args "makecache" Then the exit code is 1 And stderr contains "Errors during downloading metadata for repository 'dnf-ci-fedora':" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" - And stderr contains " - Curl error \(7\): Couldn't connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Couldn't connect to server\]" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" + And stderr contains " - Curl error \(7\): Could not connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Could not connect to server\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" And stderr contains "Error: Failed to download metadata for repo 'dnf-ci-fedora': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried" When I execute dnf with args "makecache --setopt=*.skip_if_unavailable=1" Then the exit code is 0 And stderr contains "Errors during downloading metadata for repository 'dnf-ci-fedora':" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" - And stderr contains " - Curl error \(7\): Couldn't connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Couldn't connect to server\]" - And stderr contains " - Curl error \(37\): Couldn't read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" + And stderr contains " - Curl error \(7\): Could not connect to server for http://127.0.0.1:5000/nonexistent/repodata/repomd.xml \[Failed to connect to 127.0.0.1 port 5000 after 0 ms: Could not connect to server\]" + And stderr contains " - Curl error \(37\): Could not read a file:// file for file:///nonexistent.repo/repodata/repomd.xml \[Couldn't open file /nonexistent.repo/repodata/repomd.xml\]" And stderr contains "Error: Failed to download metadata for repo 'dnf-ci-fedora': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried" And stderr contains "Ignoring repositories: dnf-ci-fedora" From 233b6c92cdfd18c8a4b1e516d891107e4d429750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Wed, 16 Oct 2024 13:25:06 +0200 Subject: [PATCH 2/5] Disable dnf-automatic and debug plugin tests on Fedora >= 41 The builds for both of them are disabled on Fedora >= 41. --- dnf-behave-tests/dnf/dnf-automatic/error-report.feature | 2 ++ dnf-behave-tests/dnf/dnf-automatic/update.feature | 2 ++ dnf-behave-tests/dnf/plugins-core/debug-dump.feature | 2 ++ .../dnf/plugins-core/debug-restore-obsoletes.feature | 2 ++ dnf-behave-tests/dnf/plugins-core/debug-restore.feature | 2 ++ 5 files changed, 10 insertions(+) diff --git a/dnf-behave-tests/dnf/dnf-automatic/error-report.feature b/dnf-behave-tests/dnf/dnf-automatic/error-report.feature index 842106224..1d28267e1 100644 --- a/dnf-behave-tests/dnf/dnf-automatic/error-report.feature +++ b/dnf-behave-tests/dnf/dnf-automatic/error-report.feature @@ -1,3 +1,5 @@ +@not.with_os=fedora__ge__41 +# dnf-automatic disabled by https://github.com/rpm-software-management/dnf/pull/2129 @no_installroot Feature: dnf-automatic reports an error when transaction failed diff --git a/dnf-behave-tests/dnf/dnf-automatic/update.feature b/dnf-behave-tests/dnf/dnf-automatic/update.feature index 581dee895..925f38539 100644 --- a/dnf-behave-tests/dnf/dnf-automatic/update.feature +++ b/dnf-behave-tests/dnf/dnf-automatic/update.feature @@ -1,3 +1,5 @@ +@not.with_os=fedora__ge__41 +# dnf-automatic disabled by https://github.com/rpm-software-management/dnf/pull/2129 @no_installroot Feature: dnf-automatic performs update diff --git a/dnf-behave-tests/dnf/plugins-core/debug-dump.feature b/dnf-behave-tests/dnf/plugins-core/debug-dump.feature index 8462e00e2..f474a4dd7 100644 --- a/dnf-behave-tests/dnf/plugins-core/debug-dump.feature +++ b/dnf-behave-tests/dnf/plugins-core/debug-dump.feature @@ -1,3 +1,5 @@ +@not.with_os=fedora__ge__41 +# The plugin was disabled by https://github.com/rpm-software-management/dnf-plugins-core/pull/541 Feature: Test for debug plugin - dumping diff --git a/dnf-behave-tests/dnf/plugins-core/debug-restore-obsoletes.feature b/dnf-behave-tests/dnf/plugins-core/debug-restore-obsoletes.feature index 6dfe9204a..181b194f3 100644 --- a/dnf-behave-tests/dnf/plugins-core/debug-restore-obsoletes.feature +++ b/dnf-behave-tests/dnf/plugins-core/debug-restore-obsoletes.feature @@ -1,3 +1,5 @@ +@not.with_os=fedora__ge__41 +# The plugin was disabled by https://github.com/rpm-software-management/dnf-plugins-core/pull/541 Feature: Test for debug plugin - restoring obsoleted package diff --git a/dnf-behave-tests/dnf/plugins-core/debug-restore.feature b/dnf-behave-tests/dnf/plugins-core/debug-restore.feature index 839b13397..0ff0aa646 100644 --- a/dnf-behave-tests/dnf/plugins-core/debug-restore.feature +++ b/dnf-behave-tests/dnf/plugins-core/debug-restore.feature @@ -1,3 +1,5 @@ +@not.with_os=fedora__ge__41 +# The plugin was disabled by https://github.com/rpm-software-management/dnf-plugins-core/pull/541 Feature: Test for debug plugin - restoring From fa6e3f50898a73ad9cf09c2a055909d7885cb4f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Wed, 16 Oct 2024 13:29:12 +0200 Subject: [PATCH 3/5] Update transaction-output test not to rely on rpm processing order --- dnf-behave-tests/dnf/transaction-output.feature | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dnf-behave-tests/dnf/transaction-output.feature b/dnf-behave-tests/dnf/transaction-output.feature index 9a3c4b154..07aa53102 100644 --- a/dnf-behave-tests/dnf/transaction-output.feature +++ b/dnf-behave-tests/dnf/transaction-output.feature @@ -63,11 +63,11 @@ Scenario: Packages in transaction are sorted by NEVRA Installing : glibc-all-langpacks-2.28-9.fc29.x86_64 4/11 Installing : glibc-common-2.28-9.fc29.x86_64 5/11 Installing : glibc-2.28-9.fc29.x86_64 6/11 - Installing : FlacBetterEncoder-1.0-1.x86_64 7/11 - Installing : flac-1.3.2-8.fc29.x86_64 8/11 - Installing : wget-1.19.5-5.fc29.x86_64 9/11 - Installing : abcde-2.9.2-1.fc29.noarch 10/11 - Installing : SuperRipper-1.0-1.x86_64 11/11 + Installing : * + Installing : * + Installing : * + Installing : * + Installing : * Installed: FlacBetterEncoder-1.0-1.x86_64 SuperRipper-1.0-1.x86_64 From 08d1edfe4f74b45cfb7698d4d2ec30f1249d6195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Wed, 16 Oct 2024 13:30:29 +0200 Subject: [PATCH 4/5] Temoporarily disable failing encoding test due to python change The issue is reported to swig: https://github.com/swig/swig/issues/3051 The same problem is present also for dnf5. --- dnf-behave-tests/dnf/encoding.feature | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dnf-behave-tests/dnf/encoding.feature b/dnf-behave-tests/dnf/encoding.feature index beecf0022..fc173fb46 100644 --- a/dnf-behave-tests/dnf/encoding.feature +++ b/dnf-behave-tests/dnf/encoding.feature @@ -21,6 +21,8 @@ Scenario: UTF-8 characters in .repo filename # @dnf5 # TODO(nsella) different stderr @bz1803038 +# Reported as https://github.com/swig/swig/issues/3051 +@not.with_os=fedora__ge__41 Scenario: non-UTF-8 characters in .repo filename Given I configure dnf with | key | value | From 925167efe6f1c868c64020e63baa6fab18253ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= Date: Wed, 16 Oct 2024 13:33:38 +0200 Subject: [PATCH 5/5] Update container build to also work on fedora >= 41 --- Dockerfile | 12 +++++++++++- dnf-behave-tests/requirements.spec | 7 +++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8de88ad11..59ca93baf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,9 +40,19 @@ RUN set -x && \ # copy test suite COPY ./dnf-behave-tests/ /opt/ci/dnf-behave-tests +# remove dnf5 and exclude it to ensure we test old dnf +RUN set -x && \ + dnf -y remove dnf5 --setopt=protected_packages=,; \ + echo "excludepkgs=dnf5*" >> /etc/dnf/dnf.conf + +# On Fedora > 40 the symlinks to dnf-3 and yum are missing (because dnf5 provides dnf), add them manually +RUN set -x && \ + ln -sf /usr/bin/dnf-3 /usr/bin/dnf; \ + ln -sf /usr/bin/dnf-3 /usr/bin/yum + # install test suite dependencies RUN set -x && \ - dnf -y builddep /opt/ci/dnf-behave-tests/requirements.spec --exclude=dnf5 && \ + dnf -y builddep /opt/ci/dnf-behave-tests/requirements.spec && \ pip3 install -r /opt/ci/dnf-behave-tests/requirements.txt # install local RPMs if available diff --git a/dnf-behave-tests/requirements.spec b/dnf-behave-tests/requirements.spec index 0a8fe4f62..a412b02aa 100644 --- a/dnf-behave-tests/requirements.spec +++ b/dnf-behave-tests/requirements.spec @@ -42,9 +42,16 @@ BuildRequires: zchunk # tested packages BuildRequires: createrepo_c +# For newer fedoras we don't build dnf-automatic and dnf/yum packages because of dnf5 +# https://github.com/rpm-software-management/dnf/commit/f519e602a70ce6d3494a9d9d70464187eb9c263e +# https://github.com/rpm-software-management/dnf/commit/d50a6b2a63976bd3e4a0cf99b53aa9cfc189f68a +%if 0%{?fedora} < 41 BuildRequires: dnf BuildRequires: dnf-automatic BuildRequires: yum +%else +BuildRequires: python3-dnf +%endif BuildRequires: dnf-plugins-core BuildRequires: dnf-utils