diff --git a/lib/packagetest.pm b/lib/packagetest.pm index ae4cc525..358488a6 100644 --- a/lib/packagetest.pm +++ b/lib/packagetest.pm @@ -9,15 +9,17 @@ use testapi; our @EXPORT = qw/prepare_test_packages verify_installed_packages verify_updated_packages/; # enable the openqa test package repositories and install the main -# test packages, remove python3-kickstart and install the fake one +# test packages, remove test package and install the fake one sub prepare_test_packages { + my ($package) = @_; + $package //= "python3-kickstart"; # remove python3-kickstart if installed (we don't use assert # here in case it's not) - script_run 'dnf -y remove python3-kickstart', 180; + script_run "dnf -y remove $package", 180; # grab the test repo definitions assert_script_run 'curl -o /etc/yum.repos.d/openqa-testrepo-1.repo https://fedorapeople.org/groups/qa/openqa-repos/openqa-testrepo-1.repo'; # install the test packages from repo1 - assert_script_run 'dnf -y --disablerepo=* --enablerepo=openqa-testrepo-1 install python3-kickstart'; + assert_script_run "dnf -y --disablerepo=* --enablerepo=openqa-testrepo-1 install $package"; if (get_var("DESKTOP") eq 'kde' && get_var("TEST") eq 'desktop_update_graphical') { # kick pkcon so our special update will definitely get installed assert_script_run 'pkcon refresh force'; @@ -27,15 +29,19 @@ sub prepare_test_packages { # check our test packages installed correctly (this is a test that dnf # actually does what it claims) sub verify_installed_packages { - validate_script_output 'rpm -q python3-kickstart', sub { $_ =~ m/^python3-kickstart-1.1.noarch$/ }; - assert_script_run 'rpm -V python3-kickstart'; + my ($package) = @_; + $package //= "python3-kickstart"; + validate_script_output "rpm -q $package", sub { $_ =~ m/^$package-1.1.noarch$/ }; + assert_script_run "rpm -V $package"; } # check updating the test packages and the fake python3-kickstart work # as expected sub verify_updated_packages { - # we don't know what version of python3-kickstart we'll actually + my ($package) = @_; + $package //= "python3-kickstart"; + # we don't know what version of the test package we'll actually # get, so just check it's *not* the fake one - validate_script_output 'rpm -q python3-kickstart', sub { $_ !~ m/^python3-kickstart-1-1.noarch$/ }; - assert_script_run 'rpm -V python3-kickstart'; + validate_script_output "rpm -q $package", sub { $_ !~ m/^$package-1-1.noarch$/ }; + assert_script_run "rpm -V $package"; } diff --git a/tests/desktop_update_graphical.pm b/tests/desktop_update_graphical.pm index 3ec6c6e2..3f59ca68 100644 --- a/tests/desktop_update_graphical.pm +++ b/tests/desktop_update_graphical.pm @@ -17,7 +17,12 @@ sub run { if (get_var("ADVISORY_OR_TASK") && get_var("VERSION") eq get_var("RAWREL")) { assert_script_run 'dnf config-manager --set-disabled koji-rawhide'; } - prepare_test_packages; + # for tests of pykickstart updates, we need to use a different dummy + my $package = "python3-kickstart"; + if (get_var("ADVISORY_OR_TASK")) { + $package = "python3-blivet" unless (script_run "grep python3-kickstart /mnt/updatepkgs.txt"); + } + prepare_test_packages $package; # get back to the desktop desktop_vt; @@ -135,7 +140,7 @@ sub run { } # back to console to verify updates $self->root_console(tty => 3); - verify_updated_packages; + verify_updated_packages $package; } sub test_flags {