diff --git a/dnf-behave-tests/dnf/list-showduplicates.feature b/dnf-behave-tests/dnf/list-showduplicates.feature index 5f30cd50c..16a536d00 100644 --- a/dnf-behave-tests/dnf/list-showduplicates.feature +++ b/dnf-behave-tests/dnf/list-showduplicates.feature @@ -1,5 +1,4 @@ @dnf5 -# TODO(nsella) Unknown argument "list" for command "microdnf" Feature: for list --showduplicates option diff --git a/dnf-behave-tests/dnf/list.feature b/dnf-behave-tests/dnf/list.feature index 335e7d74a..310d99679 100644 --- a/dnf-behave-tests/dnf/list.feature +++ b/dnf-behave-tests/dnf/list.feature @@ -1,3 +1,4 @@ +@dnf5 Feature: Test for dnf list (including all documented suboptions and yum compatibility) @@ -5,7 +6,6 @@ Background: Enable dnf-ci-fedora repository Given I use repository "dnf-ci-fedora" -@dnf5 Scenario: dnf list nonexistentpkg When I execute dnf with args "list non-existent-pkg" Then the exit code is 1 @@ -16,7 +16,6 @@ Scenario: dnf list nonexistentpkg """ -@dnf5 Scenario: List all packages available When I execute dnf with args "list" Then the exit code is 0 @@ -27,7 +26,6 @@ Scenario: List all packages available Then stdout section "Available packages" contains "glibc-all-langpacks.x86_64\s+2.28-9.fc29\s+dnf-ci-fedora" -@dnf5 Scenario: dnf list --extras (installed pkgs, not from known repos) When I execute dnf with args "install setup" Then the exit code is 0 @@ -45,7 +43,6 @@ Given I drop repository "dnf-ci-fedora" """ -@dnf5 Scenario: dnf list setup (when setup is installed) When I execute dnf with args "install setup" Then the exit code is 0 @@ -61,7 +58,7 @@ Given I drop repository "dnf-ci-fedora" setup.noarch +2.12.1-1.fc29 +dnf-ci-fedora """ -@dnf5 + Scenario: dnf list is case insensitive When I execute dnf with args "install setup" Then the exit code is 0 @@ -77,7 +74,7 @@ Given I drop repository "dnf-ci-fedora" setup.noarch +2.12.1-1.fc29 +dnf-ci-fedora """ -@dnf5 + Scenario: dnf list setup (when setup is not installed but it is available) When I execute dnf with args "list setup" Then stderr is @@ -92,7 +89,6 @@ Scenario: dnf list setup (when setup is not installed but it is available) """ -@dnf5 Scenario: dnf list --installed setup (when setup is installed) When I execute dnf with args "install setup" Then the exit code is 0 @@ -109,7 +105,6 @@ Given I drop repository "dnf-ci-fedora" """ -@dnf5 Scenario: List --installed alias packages from all enabled repositories When I execute dnf with args "install glibc" Then the exit code is 0 @@ -131,7 +126,6 @@ Scenario: List --installed alias packages from all enabled repositories """ -@dnf5 Scenario: dnf list --available setup (when setup is available) When I execute dnf with args "list --available setup" Then stderr is @@ -146,7 +140,6 @@ Scenario: dnf list --available setup (when setup is available) """ -@dnf5 Scenario: dnf list setup basesystem (when basesystem is not installed) When I execute dnf with args "install setup" Then the exit code is 0 @@ -167,7 +160,6 @@ Scenario: dnf list setup basesystem (when basesystem is not installed) """ -@dnf5 Scenario: dnf list installed setup basesystem (when basesystem is not installed) When I execute dnf with args "install setup" Then the exit code is 0 @@ -185,7 +177,6 @@ Scenario: dnf list installed setup basesystem (when basesystem is not installed) # Change in behavior compared to dnf4 - Available section contains all available # packages, installed versions are not filtered out -@dnf5 Scenario: dnf list available setup basesystem (when basesystem is available) When I execute dnf with args "install setup" Then the exit code is 0 @@ -204,7 +195,6 @@ Scenario: dnf list available setup basesystem (when basesystem is available) """ -@dnf5 Scenario: dnf list setup basesystem (when both are installed) When I execute dnf with args "install setup basesystem" Then the exit code is 0 @@ -250,7 +240,6 @@ Scenario: dnf list setup basesystem (when both are installed) """ -@dnf5 Scenario: dnf list glibc\* When I execute dnf with args "install glibc" Then the exit code is 0 @@ -263,7 +252,6 @@ Given I use repository "dnf-ci-fedora-updates" Then stdout does not contain "setup" -@dnf5 Scenario Outline: dnf list When I execute dnf with args "install glibc" Then the exit code is 0 @@ -288,7 +276,6 @@ Examples: | --updates | -@dnf5 Scenario: dnf list upgrades glibc (when glibc is not installed) Given I use repository "dnf-ci-fedora-updates" When I execute dnf with args "list --upgrades glibc" @@ -301,7 +288,6 @@ Given I use repository "dnf-ci-fedora-updates" And stdout is empty -@dnf5 Scenario: dnf list --obsoletes When I execute dnf with args "install glibc" Then the exit code is 0 @@ -320,7 +306,6 @@ Given I use repository "dnf-ci-fedora-updates" """ -@dnf5 Scenario: dnf list obsoletes setup (when setup is not obsoleted) When I execute dnf with args "install setup" Then the exit code is 0 @@ -333,17 +318,15 @@ Scenario: dnf list obsoletes setup (when setup is not obsoleted) """ -# TODO(mblaha) - the test does not respect dnf_command and runs dnf4 in subprocess @1550560 Scenario: dnf list available pkgs with long names piped to grep Given I use repository "dnf-ci-thirdparty" When I execute dnf with args "clean all" - When I execute "eval dnf -y --releasever={context.dnf.releasever} --installroot={context.dnf.installroot} --setopt=module_platform_id={context.dnf.module_platform_id} --disableplugin='*' list available | grep 1" in "{context.dnf.installroot}" + When I execute "eval {context.dnf.dnf_command} -y --releasever={context.dnf.releasever} --installroot={context.dnf.installroot} --setopt=module_platform_id={context.dnf.module_platform_id} --disableplugin='*' list --available | grep 1" in "{context.dnf.installroot}" Then the exit code is 0 Then stdout contains "forTestingPurposesWeEvenHaveReallyLongVersions.x86_64\s+1435347658326856238756823658aaaa-1\s+dnf-ci-thirdparty" -@dnf5 @bz1800342 Scenario: dnf list respects repo priorities Given I use repository "dnf-ci-fedora-updates" with configuration @@ -363,7 +346,6 @@ Scenario: dnf list respects repo priorities """ -@dnf5 Scenario: dnf list --showduplicates lists all (even from lower-priority repo) Given I use repository "dnf-ci-fedora-updates" with configuration | key | value | @@ -385,7 +367,6 @@ Scenario: dnf list --showduplicates lists all (even from lower-priority repo) """ -@dnf5 @bz1800342 Scenario: dnf list doesn't show any available packages when there are no upgrades in the highest-priority repo Given I use repository "dnf-ci-fedora-updates" with configuration @@ -406,7 +387,6 @@ Scenario: dnf list doesn't show any available packages when there are no upgrade """ -@dnf5 Scenario: dnf list shows available packages when there are upgrades in the highest-priority repo Given I use repository "dnf-ci-fedora-updates" with configuration | key | value | @@ -429,7 +409,6 @@ Scenario: dnf list shows available packages when there are upgrades in the highe """ -@dnf5 Scenario: dnf list doesn't show package with same nevra from lower-priority repo Given I configure a new repository "dnf-ci-fedora2" with | key | value | @@ -449,12 +428,13 @@ Scenario: dnf list doesn't show package with same nevra from lower-priority repo """ -# TODO(mblaha) --security not supported for list command +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1816 @bz2124483 Scenario: dnf list updates --security shows upgrades as available when it changes arch from noarch Given I use repository "security-upgrade" And I execute dnf with args "install change-arch-noarch-1-1.noarch" - When I execute dnf with args "list upgrades --security" + When I execute dnf with args "list --upgrades --security" Then the exit code is 0 And stderr is """ @@ -467,7 +447,8 @@ Given I use repository "security-upgrade" """ -# TODO(mblaha) --security not supported for list command +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1816 @bz2124483 Scenario: dnf list updates --security doesn't shnow an upgrade when it would require an arch change (when its not noarch) Given I use repository "security-upgrade" @@ -483,7 +464,7 @@ Given I use repository "security-upgrade" """ change-arch-0:2-2.x86_64 """ - When I execute dnf with args "list upgrades --security" + When I execute dnf with args "list --upgrades --security" Then the exit code is 0 And stderr is """ diff --git a/dnf-behave-tests/dnf/log-rotate.feature b/dnf-behave-tests/dnf/log-rotate.feature index cae3fe336..fbcca3009 100644 --- a/dnf-behave-tests/dnf/log-rotate.feature +++ b/dnf-behave-tests/dnf/log-rotate.feature @@ -1,50 +1,29 @@ -# @dnf5 -# TODO(nsella) different stdout +@dnf5 Feature: Log rotation +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1818 @bz1702690 @bz1816573 Scenario: Size and number of log files respects log_size and log_rotate options Given I use repository "dnf-ci-fedora" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 install glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 remove glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 install glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 remove glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 install glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 remove glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 install glibc" - And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 --setopt=logfilelevel=10 remove glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 install glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 remove glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 install glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 remove glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 install glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 remove glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 install glibc" + And I execute dnf with args "--setopt=log_size=1024 --setopt=log_rotate=2 remove glibc" - When I execute "ls {context.dnf.installroot}/var/log | grep "dnf\.log"" + When I execute "ls {context.dnf.installroot}/var/log | grep "dnf5\.log"" Then stdout is """ - dnf.log - dnf.log.1 - dnf.log.2 + dnf5.log + dnf5.log.1 + dnf5.log.2 """ - Then size of file "var/log/dnf.log" is at most "1024" - Then size of file "var/log/dnf.log.1" is at most "1024" - Then size of file "var/log/dnf.log.2" is at most "1024" - - When I execute "ls {context.dnf.installroot}/var/log | grep "dnf\.rpm\.log"" - Then stdout is - """ - dnf.rpm.log - dnf.rpm.log.1 - dnf.rpm.log.2 - """ - Then size of file "var/log/dnf.rpm.log" is at most "1024" - Then size of file "var/log/dnf.rpm.log.1" is at most "1024" - Then size of file "var/log/dnf.rpm.log.2" is at most "1024" - - When I execute "ls {context.dnf.installroot}/var/log | grep "dnf\.librepo\.log"" - Then stdout is - """ - dnf.librepo.log - dnf.librepo.log.1 - dnf.librepo.log.2 - """ - Then size of file "var/log/dnf.librepo.log" is at most "1024" - Then size of file "var/log/dnf.librepo.log.1" is at most "1024" - Then size of file "var/log/dnf.librepo.log.2" is at most "1024" + Then size of file "var/log/dnf5.log" is at most "1024" + Then size of file "var/log/dnf5.log.1" is at most "1024" + Then size of file "var/log/dnf5.log.2" is at most "1024" diff --git a/dnf-behave-tests/dnf/logs.feature b/dnf-behave-tests/dnf/logs.feature index 6c4bcfda9..5c4ddcde3 100644 --- a/dnf-behave-tests/dnf/logs.feature +++ b/dnf-behave-tests/dnf/logs.feature @@ -1,33 +1,9 @@ +@dnf5 Feature: Logs -@bz1739457 -Scenario: dnf.rpm.log doesn't contain duplicate entries () - Given I use repository "dnf-ci-fedora-updates" - And I execute dnf with args "install flac" - And I execute dnf with args "reinstall flac" - And I execute dnf with args "downgrade flac" - And I execute dnf with args "upgrade flac" - And I execute dnf with args "remove flac" - When I execute "cat {context.dnf.installroot}/var/log/dnf.rpm.log" - Then stdout matches line by line - """ - .* INFO --- logging initialized --- - .* SUBDEBUG Installed: flac-1.3.3-3.fc29.x86_64 - .* INFO --- logging initialized --- - .* SUBDEBUG Reinstall: flac-1.3.3-3.fc29.x86_64 - .* SUBDEBUG Reinstalled: flac-1.3.3-3.fc29.x86_64 - .* INFO --- logging initialized --- - .* SUBDEBUG Downgrade: flac-1.3.3-2.fc29.x86_64 - .* SUBDEBUG Downgraded: flac-1.3.3-3.fc29.x86_64 - .* INFO --- logging initialized --- - .* SUBDEBUG Upgrade: flac-1.3.3-3.fc29.x86_64 - .* SUBDEBUG Upgraded: flac-1.3.3-2.fc29.x86_64 - .* INFO --- logging initialized --- - .* SUBDEBUG Erase: flac-1.3.3-3.fc29.x86_64 - """ - - +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1819 @bz1802074 Scenario Outline: logfilelevel controls verbosity of dnf.log Given I use repository "dnf-ci-fedora-updates" @@ -36,13 +12,13 @@ Given I use repository "dnf-ci-fedora-updates" | logfilelevel | | And I execute dnf with args "install flac" And I execute dnf with args "remove flac" - Then file "/var/log/dnf.log" contains lines + Then file "/var/log/dnf5.log" contains lines """ """ - And file "/var/log/dnf.log" does not contain lines + And file "/var/log/dnf5.log" does not contain lines """ """ @@ -55,48 +31,12 @@ Examples: | 7 | .* INFO .* | .* DEBUG .* | .* DDEBUG .* | .* WARNING .* | -@bz1802074 -Scenario Outline: logfilelevel controls verbosity of dnf.librepo.log and hawkey.log -Given I use repository "dnf-ci-fedora-updates" - When I configure dnf with - | key | value | - | logfilelevel | | - And I execute dnf with args "install flac" - And I execute dnf with args "remove flac" - Then file "/var/log/dnf.librepo.log" contains lines - """ - .* - .* - """ - Then file "/var/log/hawkey.log" contains lines - """ - - - """ - Then file "/var/log/dnf.librepo.log" does not contain lines - """ - - """ - Then file "/var/log/hawkey.log" does not contain lines - """ - - """ - -Examples: - | level | info_line | debug_line | not_present | - | 1 | INFO .* | | DEBUG .* | - | 10 | INFO .* | DEBUG .* | WARNING .* | - - @bz1910084 Scenario: Logfiles are created with 644 permissions by default Given I use repository "dnf-ci-fedora-updates" When I execute dnf with args "install flac" Then the exit code is 0 - And file "/var/log/dnf.log" has mode "644" - And file "/var/log/dnf.librepo.log" has mode "644" - And file "/var/log/dnf.rpm.log" has mode "644" - And file "/var/log/hawkey.log" has mode "644" + And file "/var/log/dnf5.log" has mode "644" @bz1910084 @@ -105,27 +45,20 @@ Given I use repository "dnf-ci-fedora-updates" When I set umask to "0066" And I execute dnf with args "install flac" Then the exit code is 0 - And file "/var/log/dnf.log" has mode "600" - And file "/var/log/dnf.librepo.log" has mode "600" - And file "/var/log/dnf.rpm.log" has mode "600" - And file "/var/log/hawkey.log" has mode "600" + And file "/var/log/dnf5.log" has mode "600" Given I set umask to "0022" +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1820 @bz1910084 Scenario: Log rotation keeps file permissions Given I use repository "dnf-ci-fedora-updates" And I successfully execute dnf with args "install flac" # Set permissions to 600 - And I successfully execute "chmod 600 {context.dnf.installroot}/var/log/dnf.log" - And I successfully execute "chmod 600 {context.dnf.installroot}/var/log/dnf.librepo.log" - And I successfully execute "chmod 600 {context.dnf.installroot}/var/log/dnf.rpm.log" + And I successfully execute "chmod 600 {context.dnf.installroot}/var/log/dnf5.log" # Run dnf again, so that files are rotated When I execute dnf with args "--setopt=log_size=100 --setopt=log_rotate=2 remove flac" Then the exit code is 0 - And file "/var/log/dnf.log" has mode "600" - And file "/var/log/dnf.log.1" has mode "600" - And file "/var/log/dnf.librepo.log" has mode "600" - And file "/var/log/dnf.librepo.log.1" has mode "600" - And file "/var/log/dnf.rpm.log" has mode "600" - And file "/var/log/dnf.rpm.log.1" has mode "600" + And file "/var/log/dnf5.log" has mode "600" + And file "/var/log/dnf5.log.1" has mode "600" diff --git a/dnf-behave-tests/dnf/makecache.feature b/dnf-behave-tests/dnf/makecache.feature index 940df52bc..9ef929b81 100644 --- a/dnf-behave-tests/dnf/makecache.feature +++ b/dnf-behave-tests/dnf/makecache.feature @@ -1,5 +1,4 @@ -# @dnf5 -# TODO(nsella) Unknown argument "makecache" for command "microdnf" +@dnf5 Feature: makecache command @@ -8,5 +7,5 @@ Scenario: disabled makecache --timer does not invalidate cached metadata Given I use repository "dnf-ci-fedora" as http And I successfully execute dnf with args "makecache" When I execute dnf with args "makecache --timer --setopt=metadata_timer_sync=0" - And I execute dnf with args "install setup -v" - Then stdout contains "repo: using cache for: dnf-ci-fedora" + And I execute dnf with args "install setup" + Then stderr does not contain "dnf-ci-fedora test repository" diff --git a/dnf-behave-tests/dnf/mark.feature b/dnf-behave-tests/dnf/mark.feature index 3c0d4b0c7..6cc29dd66 100644 --- a/dnf-behave-tests/dnf/mark.feature +++ b/dnf-behave-tests/dnf/mark.feature @@ -1,7 +1,7 @@ +@dnf5 Feature: Mark command -@dnf5 Scenario Outline: Marking non-existent package as fails Given I use repository "dnf-ci-fedora" When I execute dnf with args "mark nosuchpkg" @@ -19,7 +19,6 @@ Examples: | weak | -@dnf5 Scenario: Marking as group for non-existent package or non-existent group fails Given I use repository "dnf-ci-thirdparty" And I use repository "dnf-ci-fedora" @@ -39,7 +38,6 @@ Scenario: Marking as group for non-existent package or non-existent group fails """ -@dnf5 Scenario: Marking available but not installed package fails Given I use repository "dnf-ci-fedora" When I execute dnf with args "mark user lame" @@ -51,7 +49,6 @@ Scenario: Marking available but not installed package fails """ -@dnf5 Scenario: Marking as dependency a list of pkgs when one of them is not available fails Given I use repository "dnf-ci-fedora" When I execute dnf with args "install lame" @@ -68,7 +65,6 @@ Scenario: Marking as dependency a list of pkgs when one of them is not available | lame-libs-3.100-4.fc29.x86_64 | Dependency | -@dnf5 Scenario: Marking as dependency a list of pkgs when one of them is not available passes with --skip-unavailable Given I use repository "dnf-ci-fedora" When I execute dnf with args "install lame" @@ -84,7 +80,6 @@ Scenario: Marking as dependency a list of pkgs when one of them is not available | lame-libs-3.100-4.fc29.x86_64 | Dependency | -@dnf5 Scenario Outline: Mark user installed package as Given I use repository "dnf-ci-fedora" When I execute dnf with args "install lame" @@ -102,7 +97,6 @@ Examples: | weak | Weak Dependency | -@dnf5 Scenario Outline: Mark package installed as dependency as Given I use repository "dnf-ci-fedora" When I execute dnf with args "install filesystem" @@ -124,7 +118,6 @@ Examples: | weak | Weak Dependency | -@dnf5 Scenario: Mark package as the same reason it currently has Given I use repository "dnf-ci-fedora" When I execute dnf with args "install lame" @@ -146,7 +139,7 @@ Scenario: Mark package as the same reason it currently has """ -#@dnf5 currently fails, see: +@xfail # https://github.com/rpm-software-management/dnf5/issues/935 Scenario: Mark user installed package as group Given I use repository "dnf-ci-thirdparty" @@ -172,7 +165,7 @@ Scenario: Mark user installed package as group | setup-2.12.1-1.fc29.noarch | Dependency | -#@dnf5 currently fails, see: +@xfail # https://github.com/rpm-software-management/dnf5/issues/935 # TODO (emrakova): update the scenario when the issue is fixed Scenario: Mark group installed package as user and back again @@ -202,7 +195,6 @@ Scenario: Mark group installed package as user and back again """ -@dnf5 Scenario: Marking dependency as user-installed should not remove it automatically Given I use repository "dnf-ci-fedora" When I execute dnf with args "install filesystem" @@ -226,7 +218,6 @@ Scenario: Marking dependency as user-installed should not remove it automaticall | remove | setup-0:2.12.1-1.fc29.noarch | -@dnf5 @bz2046581 Scenario: Marking installed package when history DB is not on the system (deleted or not created yet) When I execute rpm with args "-i {context.dnf.fixturesdir}/repos/dnf-ci-fedora-updates/x86_64/wget-1.19.6-5.fc29.x86_64.rpm" @@ -241,7 +232,6 @@ Scenario: Marking installed package when history DB is not on the system (delete | wget-1.19.6-5.fc29.x86_64 | User | -@dnf5 Scenario: Marking toplevel package as dependency should not remove shared dependencies on autoremove Given I use repository "dnf-ci-fedora" When I execute dnf with args "install nss_hesiod libnsl" diff --git a/dnf-behave-tests/dnf/metadata.feature b/dnf-behave-tests/dnf/metadata.feature index db3cf9a03..bcd9a3ec7 100644 --- a/dnf-behave-tests/dnf/metadata.feature +++ b/dnf-behave-tests/dnf/metadata.feature @@ -1,6 +1,7 @@ +@dnf5 Feature: Testing DNF metadata handling -@dnf5 + @bz1644283 Scenario: update expired metadata on first dnf update Given I create directory "/temp-repos/temp-repo" @@ -26,7 +27,6 @@ Given I copy directory "{context.scenario.repos_location}/dnf-ci-fedora" to "/te And stdout contains "\s+wget.src\s+1.19.5-5.fc29\s+testrepo" -@dnf5 @bz1866505 Scenario: I cannot create/overwrite a file in /etc from local repository # This directory structure is needed at the repo source so that it can be matched on the system running dnf @@ -49,7 +49,6 @@ Given I create file "/a/etc/malicious.file" with Then file "/etc/malicious.file" does not exist -@dnf5 @bz1866505 Scenario: I cannot create/overwrite a file in /etc from remote repository Given I create file "/a/etc/malicious.file" with @@ -74,12 +73,14 @@ Given I create file "/a/etc/malicious.file" with Then file "/etc/malicious.file" does not exist -# @dnf5 -# TODO(nsella) different stdout Scenario: present user understandable message when there is a mismatch between available repodata and packages Given I copy repository "simple-base" for modification And I use repository "simple-base" as http And I execute "echo \"checksum mismatch\" >> /{context.dnf.repos[simple-base].path}/x86_64/labirinto-1.0-1.fc29.x86_64.rpm" When I execute dnf with args "install labirinto" Then the exit code is 1 - And stdout contains "\[MIRROR\] labirinto-1.0-1.fc29.x86_64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: .*, repository metadata states file length: .* \(please report to repository maintainer\)" + And stderr contains "Interrupted by header callback: Inconsistent server data" + And file "/var/log/dnf5.log" contains lines + """ + .* INFO \[librepo\] Error during transfer: Interrupted by header callback: Inconsistent server data, reported file Content-Length: .*, repository metadata states file length: .* \(please report to repository maintainer\) + """ diff --git a/dnf-behave-tests/dnf/obsoletes.feature b/dnf-behave-tests/dnf/obsoletes.feature index 3451d0ed6..ed084bb76 100644 --- a/dnf-behave-tests/dnf/obsoletes.feature +++ b/dnf-behave-tests/dnf/obsoletes.feature @@ -1,3 +1,4 @@ +@dnf5 Feature: Obsoleted packages # dnf-ci-obsoletes repo contains: @@ -9,7 +10,6 @@ Background: Use dnf-ci-obsoletes repository Given I use repository "dnf-ci-obsoletes" -@dnf5 # PackageE has a split in its upgrade-path, PackageA-Obsoleter-1.0-1 obsoletes # non-best version of PackageE < 2 @bz1902279 @@ -27,7 +27,6 @@ Scenario: Install obsoleted package, even though obsoleter of older version is p | Install | PackageE-0:3.0-1.x86_64 | User | dnf-ci-obsoletes | -@dnf5 Scenario: Install alphabetically first of obsoleters when installing obsoleted package When I execute dnf with args "install PackageF" Then the exit code is 0 @@ -36,7 +35,6 @@ Scenario: Install alphabetically first of obsoleters when installing obsoleted p | install | PackageF-Obsoleter-0:3.0-1.x86_64 | -@dnf5 Scenario: Upgrade a package with multiple obsoleters will install all of them Given I execute dnf with args "install PackageF-1.0" Then the exit code is 0 @@ -51,15 +49,13 @@ Scenario: Upgrade a package with multiple obsoleters will install all of them | install | PackageF-Obsoleter-Second-0:3.0-1.x86_64 | | obsoleted | PackageF-0:1.0-1.x86_64 | -# @dnf5 -# TODO(nsella) different exit code + Scenario: Do not install of obsoleting package using upgrade command, when obsoleted package not on the system When I execute dnf with args "upgrade PackageA-Obsoleter" Then the exit code is 1 And Transaction is empty -@dnf5 @bz1818118 Scenario: Install of obsoleting package using upgrade command, when obsoleted package on the system Given I execute dnf with args "install PackageE-0:1.0-1.x86_64" @@ -81,8 +77,9 @@ Scenario: Install of obsoleting package using upgrade command, when obsoleted pa | Install | PackageA-Obsoleter-0:1.0-1.x86_64 | User | dnf-ci-obsoletes | | Replaced | PackageE-0:1.0-1.x86_64 | User | @System | -@dnf5 -# TODO(lukash) passes with reason = User, but correct outcome is reason = External User + +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1783 Scenario: Obsoleting a package that was installed via rpm, with --best When I execute rpm with args "-i --nodeps {context.scenario.repos_location}/dnf-ci-obsoletes/x86_64/PackageB-1.0-1.x86_64.rpm" Then the exit code is 0 @@ -93,14 +90,14 @@ Scenario: Obsoleting a package that was installed via rpm, with --best | install | PackageB-Obsoleter-0:1.0-1.x86_64 | | obsoleted | PackageB-0:1.0-1.x86_64 | And package state is - | package | reason | from_repo | - | PackageB-Obsoleter-1.0-1.x86_64 | User | dnf-ci-obsoletes | + | package | reason | from_repo | + | PackageB-Obsoleter-1.0-1.x86_64 | External User | dnf-ci-obsoletes | And dnf5 transaction items for transaction "last" are | action | package | reason | repository | - | Install | PackageB-Obsoleter-0:1.0-1.x86_64 | User | dnf-ci-obsoletes | + | Install | PackageB-Obsoleter-0:1.0-1.x86_64 | External User | dnf-ci-obsoletes | | Replaced | PackageB-0:1.0-1.x86_64 | External User | @System | -@dnf5 + Scenario: Obsoleting a package that was installed via rpm, with --nobest When I execute rpm with args "-i --nodeps {context.scenario.repos_location}/dnf-ci-obsoletes/x86_64/PackageB-1.0-1.x86_64.rpm" Then the exit code is 0 @@ -118,7 +115,7 @@ Scenario: Obsoleting a package that was installed via rpm, with --nobest | Install | PackageB-Obsoleter-0:1.0-1.x86_64 | External User | dnf-ci-obsoletes | | Replaced | PackageB-0:1.0-1.x86_64 | External User | @System | -@dnf5 + @bz1818118 Scenario: Install of obsoleting package from commandline using upgrade command, when obsoleted package on the system Given I execute dnf with args "install PackageE-0:1.0-1.x86_64" @@ -140,7 +137,7 @@ Scenario: Install of obsoleting package from commandline using upgrade command, | Install | PackageA-Obsoleter-0:1.0-1.x86_64 | User | @commandline | | Replaced | PackageE-0:1.0-1.x86_64 | User | @System | -@dnf5 + Scenario: Upgrade of obsoleted package by package of higher version than obsoleted When I execute dnf with args "install PackageA-1.0" Then the exit code is 0 @@ -161,7 +158,6 @@ Scenario: Upgrade of obsoleted package by package of higher version than obsolet | Replaced | PackageA-0:1.0-1.x86_64 | User | @System | -@dnf5 Scenario: Install of obsoleted package When I execute dnf with args "install PackageB" Then the exit code is 0 @@ -176,7 +172,6 @@ Scenario: Install of obsoleted package | Install | PackageB-Obsoleter-0:1.0-1.x86_64 | User | dnf-ci-obsoletes | -@dnf5 Scenario: Upgrade of obsoleted package When I execute dnf with args "install PackageB-1.0" Then the exit code is 0 @@ -198,7 +193,6 @@ Scenario: Upgrade of obsoleted package | Replaced | PackageB-0:1.0-1.x86_64 | User | @System | -@dnf5 Scenario: Upgrade of obsoleted package if package specified by version with glob (no obsoletes applied) When I execute dnf with args "install PackageB-1.0" Then the exit code is 0 @@ -219,27 +213,28 @@ Scenario: Upgrade of obsoleted package if package specified by version with glob | Replaced | PackageB-0:1.0-1.x86_64 | User | @System | -@xfail @bz1672618 +@xfail +# https://github.com/rpm-software-management/dnf5/issues/1783 +@bz1672618 Scenario: Keep reason of obsoleted package When I execute dnf with args "install PackageB-1.0" Then the exit code is 0 - When I execute dnf with args "mark remove PackageB" + When I execute dnf with args "mark dependency PackageB" Then the exit code is 0 - And package reasons are - | Package | Reason | - | PackageB-1.0-1 | dependency | + And package state is + | package | reason | from_repo | + | PackageB-1.0-1.x86_64 | Dependency | dnf-ci-obsoletes | When I execute dnf with args "upgrade" Then the exit code is 0 And Transaction is following | Action | Package | | install | PackageB-Obsoleter-0:1.0-1.x86_64 | - | remove | PackageB-0:1.0-1.x86_64 | - And package reasons are - | Package | Reason | - | PackageB-Obsoleter-1.0-1 | dependency | + | obsoleted | PackageB-0:1.0-1.x86_64 | + And package state is + | package | reason | from_repo | + | PackageB-Obsoleter-1.0-1.x86_64 | Dependency | dnf-ci-obsoletes | -@dnf5 Scenario: Autoremoval of obsoleted package When I execute dnf with args "install PackageB-1.0" Then the exit code is 0 @@ -261,7 +256,6 @@ Scenario: Autoremoval of obsoleted package But Transaction is empty -@xfail @bz1672947 Scenario: Multilib obsoletes during distro-sync Given I use repository "dnf-ci-fedora" @@ -278,12 +272,17 @@ Scenario: Multilib obsoletes during distro-sync And Transaction is following | Action | Package | | upgrade | lz4-0:1.8.2-2.fc29.x86_64 | - | install | lz4-libs-0:1.8.2-2.fc29.i686 | + | upgrade | lz4-0:1.8.2-2.fc29.i686 | | install | lz4-libs-0:1.8.2-2.fc29.x86_64 | - | remove | lz4-0:1.7.5-2.fc26.i686 | + And dnf5 transaction items for transaction "last" are + | action | package | reason | repository | + | Install | lz4-libs-0:1.8.2-2.fc29.x86_64 | User | dnf-ci-fedora-updates | + | Upgrade | lz4-0:1.8.2-2.fc29.x86_64 | User | dnf-ci-fedora-updates | + | Upgrade | lz4-0:1.8.2-2.fc29.i686 | User | dnf-ci-fedora-updates | + | Replaced | lz4-0:1.7.5-2.fc26.x86_64 | User | @System | + | Replaced | lz4-0:1.7.5-2.fc26.i686 | User | @System | -@dnf5 # PackageD-0:2.0-1.x86_64 obsoletes PackageC < 2 # PackageD-0:1.0-1.x86_64 does not obsolete anything @bz1761137 @@ -300,7 +299,6 @@ Scenario: Obsoleted package is not installed when group contains both obsoleter """ -@dnf5 @bz1761137 Scenario: Both packages are installed when group contains both obsoleter and obsoleted packages and obsoletes are switched off When I execute dnf with args "group install obsoleter-obsoleted --setopt=obsoletes=False" diff --git a/dnf-behave-tests/dnf/persistdir.feature b/dnf-behave-tests/dnf/persistdir.feature deleted file mode 100644 index bcfe39807..000000000 --- a/dnf-behave-tests/dnf/persistdir.feature +++ /dev/null @@ -1,14 +0,0 @@ -Feature: Track information in persistdir - - -@use.with_dnf=4 -Scenario: Persistdir is created during transaction - Given I use repository "dnf-ci-fedora" - Then file "/var/lib/dnf" does not exist - When I execute dnf with args "install filesystem" - Then the exit code is 0 - And Transaction is following - | Action | Package | - | install | filesystem-0:3.9-2.fc29.x86_64 | - | install-dep | setup-0:2.12.1-1.fc29.noarch | - And file "/var/lib/dnf" exists diff --git a/dnf-behave-tests/dnf/provides-alternatives.feature b/dnf-behave-tests/dnf/provides-alternatives.feature index 192575a63..0f78d1beb 100644 --- a/dnf-behave-tests/dnf/provides-alternatives.feature +++ b/dnf-behave-tests/dnf/provides-alternatives.feature @@ -1,12 +1,12 @@ -# @dnf5 -# TODO(nsella) different stdout +@dnf5 Feature: Alternative packages are suggested when package is not available + @bz1625586 Scenario: Alternative packages are suggested during package install Given I use repository "dnf-ci-thirdparty" When I execute dnf with args "install IHaveAlternatives" Then the exit code is 1 - And stdout contains "No match for argument: IHaveAlternatives" - And stdout contains "There are following alternatives for \"IHaveAlternatives\": alternator, alternator-alternator-cz" - And stderr contains "Error: Unable to find a match" + And stderr contains "Failed to resolve the transaction:" + And stderr contains "No match for argument: IHaveAlternatives" + And stderr contains "There are following alternatives for 'IHaveAlternatives': alternator, alternator-alternator-cz" diff --git a/dnf-behave-tests/dnf/proxy-username-password.feature b/dnf-behave-tests/dnf/proxy-username-password.feature index 19ef76d6b..6a2bf4123 100644 --- a/dnf-behave-tests/dnf/proxy-username-password.feature +++ b/dnf-behave-tests/dnf/proxy-username-password.feature @@ -1,3 +1,4 @@ +@dnf5 Feature: Accesing a proxy via proxy credentials username and password # it just tests whether the proxy credentials are passed correctly # URL of the test repo intentionally does not exist and so repoquery @@ -5,7 +6,6 @@ Feature: Accesing a proxy via proxy credentials username and password # dXNlcjoxMjM0NTY= is a base64 representation of user:123456 -@dnf5 Scenario: I can store proxy credentials in a repo config Given I copy repository "simple-base" for modification And I start http server "http_server" at "/{context.dnf.repos[simple-base].path}" @@ -28,7 +28,6 @@ Scenario: I can store proxy credentials in a repo config | Proxy-Authorization | Basic dXNlcjoxMjM0NTY= | -@dnf5 Scenario: I can store proxy credentials in dnf.conf Given I copy repository "simple-base" for modification And I start http server "http_server" at "/{context.dnf.repos[simple-base].path}"