mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-27 08:03:08 +00:00
Compare commits
4 Commits
7429b438fd
...
ffab8bce75
Author | SHA1 | Date | |
---|---|---|---|
|
ffab8bce75 | ||
|
6e9213f4b7 | ||
|
ffbb618d03 | ||
|
f915297475 |
@ -158,12 +158,13 @@ sub post_fail_hook {
|
|||||||
upload_logs "/var/tmp/imgbuild/lorax.log", failok => 1;
|
upload_logs "/var/tmp/imgbuild/lorax.log", failok => 1;
|
||||||
upload_logs "/var/tmp/imgbuild/program.log", failok => 1;
|
upload_logs "/var/tmp/imgbuild/program.log", failok => 1;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
# For update tests, let's do the update package info log stuff,
|
# For update tests, let's do the update package info log stuff,
|
||||||
# it may be useful for diagnosing the cause of the failure
|
# it may be useful for diagnosing the cause of the failure
|
||||||
advisory_get_installed_packages;
|
advisory_get_installed_packages;
|
||||||
advisory_check_nonmatching_packages(fatal => 0);
|
advisory_check_nonmatching_packages(fatal => 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
21
lib/utils.pm
21
lib/utils.pm
@ -553,7 +553,7 @@ sub _repo_setup_compose {
|
|||||||
sub _repo_setup_updates {
|
sub _repo_setup_updates {
|
||||||
# Appropriate repo setup steps for testing a Bodhi update
|
# Appropriate repo setup steps for testing a Bodhi update
|
||||||
# Check if we already ran, bail if so
|
# Check if we already ran, bail if so
|
||||||
return if (get_var("_ADVISORY_REPO_DONE"));
|
return unless script_run "test -f /mnt/updatepkgs.txt";
|
||||||
my $version = get_var("VERSION");
|
my $version = get_var("VERSION");
|
||||||
my $currrel = get_var("CURRREL", "0");
|
my $currrel = get_var("CURRREL", "0");
|
||||||
my $arch = get_var("ARCH");
|
my $arch = get_var("ARCH");
|
||||||
@ -677,9 +677,6 @@ sub _repo_setup_updates {
|
|||||||
type_string "exit\n";
|
type_string "exit\n";
|
||||||
wait_still_screen 5;
|
wait_still_screen 5;
|
||||||
}
|
}
|
||||||
# mark via a variable that we've set up the update/task repo and done
|
|
||||||
# all the logging stuff above
|
|
||||||
set_var('_ADVISORY_REPO_DONE', '1');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub repo_setup {
|
sub repo_setup {
|
||||||
@ -1106,12 +1103,14 @@ sub quit_with_shortcut {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# For update tests (this only works if we've been through
|
||||||
|
# _repo_setup_updates), figure out which packages from the update
|
||||||
|
# are currently installed. This is here so we can do it both in
|
||||||
|
# _advisory_post and post_fail_hook.
|
||||||
sub advisory_get_installed_packages {
|
sub advisory_get_installed_packages {
|
||||||
# For update tests (this only works if we've been through
|
# bail out if the file doesn't exist: this is in case we get
|
||||||
# _repo_setup_updates), figure out which packages from the update
|
# here in the post-fail hook but we failed before creating it
|
||||||
# are currently installed. This is here so we can do it both in
|
return if script_run "test -f /mnt/updatepkgs.txt";
|
||||||
# _advisory_post and post_fail_hook.
|
|
||||||
return unless (get_var("_ADVISORY_REPO_DONE"));
|
|
||||||
assert_script_run 'rpm -qa --qf "%{SOURCERPM} %{EPOCH} %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -u > /tmp/allpkgs.txt', timeout => 90;
|
assert_script_run 'rpm -qa --qf "%{SOURCERPM} %{EPOCH} %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -u > /tmp/allpkgs.txt', timeout => 90;
|
||||||
# this finds lines which appear in both files
|
# this finds lines which appear in both files
|
||||||
# http://www.unix.com/unix-for-dummies-questions-and-answers/34549-find-matching-lines-between-2-files.html
|
# http://www.unix.com/unix-for-dummies-questions-and-answers/34549-find-matching-lines-between-2-files.html
|
||||||
@ -1137,7 +1136,9 @@ sub advisory_check_nonmatching_packages {
|
|||||||
fatal => 1,
|
fatal => 1,
|
||||||
@_
|
@_
|
||||||
);
|
);
|
||||||
return unless (get_var("_ADVISORY_REPO_DONE"));
|
# bail out if the file doesn't exist: this is in case we get
|
||||||
|
# here in the post-fail hook but we failed before creating it
|
||||||
|
return if script_run "test -f /mnt/updatepkgnames.txt";
|
||||||
# if this fails in advisory_post, we don't want to do it *again*
|
# if this fails in advisory_post, we don't want to do it *again*
|
||||||
# unnecessarily in post_fail_hook
|
# unnecessarily in post_fail_hook
|
||||||
return if (get_var("_ACNMP_DONE"));
|
return if (get_var("_ACNMP_DONE"));
|
||||||
|
8
main.pm
8
main.pm
@ -295,9 +295,11 @@ sub load_postinstall_tests() {
|
|||||||
# install the updates to be tested). Don't do this for UPGRADE tests, as
|
# install the updates to be tested). Don't do this for UPGRADE tests, as
|
||||||
# the update gets installed as part of the upgrade in that case and we
|
# the update gets installed as part of the upgrade in that case and we
|
||||||
# don't need the extra reboot. Don't do this for INSTALL test(s); these
|
# don't need the extra reboot. Don't do this for INSTALL test(s); these
|
||||||
# are checking that an installer image built from the update works and do
|
# are checking that an installer image built from the update works, and
|
||||||
# not install the update themselves in this manner
|
# packages from the update should have been installed as part of the
|
||||||
if (get_var("ADVISORY_OR_TASK") && !get_var("UPGRADE") && !get_var("INSTALL")) {
|
# install process. Don't do this for START_AFTER_TEST tests, as there we
|
||||||
|
# presume the previous test already did this, and it saves a reboot.
|
||||||
|
if (get_var("ADVISORY_OR_TASK") && !get_var("UPGRADE") && !get_var("INSTALL") && !get_var("START_AFTER_TEST")) {
|
||||||
autotest::loadtest "tests/_advisory_update.pm";
|
autotest::loadtest "tests/_advisory_update.pm";
|
||||||
# now load the early boot tests again, as _advisory_update reboots
|
# now load the early boot tests again, as _advisory_update reboots
|
||||||
_load_early_postinstall_tests(2);
|
_load_early_postinstall_tests(2);
|
||||||
|
@ -87,31 +87,27 @@ sub run {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# For GNOME, handle initial-setup or welcome tour, unless START_AFTER_TEST
|
# For GNOME, handle initial-setup or welcome tour, unless _WELCOME_DONE
|
||||||
# is set in which case it will have been done already. Always
|
# is set (indicating it's been done previously within this test run,
|
||||||
# do it if ADVISORY_OR_TASK is set, as for the update testing flow,
|
# e.g. the second time this module runs on the update flow, or earlier
|
||||||
# START_AFTER_TEST is set but a no-op and this hasn't happened
|
# in the boot process on the INSTALL_NO_USER flow), or START_AFTER_TEST
|
||||||
if ($desktop eq 'gnome' && (get_var("ADVISORY_OR_TASK") || !get_var("START_AFTER_TEST"))) {
|
# is set to the same value as DEPLOY_UPLOAD_TEST (in which case it will
|
||||||
# as this test gets loaded twice on the ADVISORY_OR_TASK flow, and
|
# have been done by the previous test run)
|
||||||
# we might be on the INSTALL_NO_USER flow, check whether
|
# the point of the default values here is to make the check fail if
|
||||||
# this happened already
|
# neither var is set, without needing an extra condition
|
||||||
handle_welcome_screen unless (get_var("_WELCOME_DONE"));
|
my $sat = get_var("START_AFTER_TEST", "1");
|
||||||
}
|
my $dut = get_var("DEPLOY_UPLOAD_TEST", "2");
|
||||||
if ($desktop eq 'gnome' && get_var("INSTALL_NO_USER")) {
|
handle_welcome_screen if ($desktop eq 'gnome' && $sat ne $dut && !get_var("_WELCOME_DONE"));
|
||||||
# handle welcome screen if we didn't do it above (holy flow
|
if (get_var("IMAGE_DEPLOY")) {
|
||||||
# control, Batman!)
|
|
||||||
handle_welcome_screen unless (get_var("_WELCOME_DONE"));
|
|
||||||
# if this was an image deployment, we also need to create
|
# if this was an image deployment, we also need to create
|
||||||
# root user now, for subsequent tests to work
|
# root user now, for subsequent tests to work
|
||||||
if (get_var("IMAGE_DEPLOY")) {
|
send_key "ctrl-alt-f3";
|
||||||
send_key "ctrl-alt-f3";
|
console_login(user => get_var("USER_LOGIN", "test"), password => get_var("USER_PASSWORD", "weakpassword"));
|
||||||
console_login(user => get_var("USER_LOGIN", "test"), password => get_var("USER_PASSWORD", "weakpassword"));
|
type_string "sudo su\n";
|
||||||
type_string "sudo su\n";
|
type_string "$password\n";
|
||||||
type_string "$password\n";
|
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
|
||||||
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
|
assert_script_run "echo 'root:$root_password' | chpasswd";
|
||||||
assert_script_run "echo 'root:$root_password' | chpasswd";
|
desktop_vt;
|
||||||
desktop_vt;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Move the mouse somewhere it won't highlight the match areas
|
# Move the mouse somewhere it won't highlight the match areas
|
||||||
|
@ -23,7 +23,9 @@ sub run {
|
|||||||
unless ($version > $currrel) {
|
unless ($version > $currrel) {
|
||||||
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
||||||
}
|
}
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo --repo=/etc/yum.repos.d/workarounds.repo ./results";
|
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo --repo=/etc/yum.repos.d/workarounds.repo";
|
||||||
|
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
||||||
|
$cmd .= " ./results";
|
||||||
assert_script_run $cmd, 2400;
|
assert_script_run $cmd, 2400;
|
||||||
# good to have the log around for checks
|
# good to have the log around for checks
|
||||||
upload_logs "pylorax.log", failok => 1;
|
upload_logs "pylorax.log", failok => 1;
|
||||||
|
@ -44,9 +44,15 @@ sub run {
|
|||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/workarounds_repo\', \'/mnt/workarounds_repo\'))" >> /etc/mock/openqa.cfg';
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/workarounds_repo\', \'/mnt/workarounds_repo\'))" >> /etc/mock/openqa.cfg';
|
||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/dev/' . $serialdev . '\', \'/dev/' . $serialdev . '\'))" >> /etc/mock/openqa.cfg';
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/dev/' . $serialdev . '\', \'/dev/' . $serialdev . '\'))" >> /etc/mock/openqa.cfg';
|
||||||
# add the side repo and workarounds to the config
|
# add the side repo and workarounds to the config
|
||||||
assert_script_run 'printf "config_opts[\'dnf.conf\'] += \"\"\"\n[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n\n[workarounds]\nname=Workarounds repo\nbaseurl=file:///mnt/workarounds_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n\"\"\"" >> /etc/mock/openqa.cfg';
|
my $repos = 'config_opts[\'dnf.conf\'] += \"\"\"\n[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n\n[workarounds]\nname=Workarounds repo\nbaseurl=file:///mnt/workarounds_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n';
|
||||||
|
# also the buildroot repo, for Rawhide
|
||||||
|
if ($version eq $rawrel) {
|
||||||
|
$repos .= '\n[koji-rawhide]\nname=Buildroot repo\nbaseurl=https://kojipkgs.fedoraproject.org/repos/rawhide/latest/\$basearch/\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n';
|
||||||
|
}
|
||||||
|
$repos .= '\"\"\"';
|
||||||
|
assert_script_run 'printf "' . $repos . '" >> /etc/mock/openqa.cfg';
|
||||||
# replace metalink with mirrorlist so we don't get slow mirrors
|
# replace metalink with mirrorlist so we don't get slow mirrors
|
||||||
repos_mirrorlist("/etc/mock/openqa.cfg");
|
repos_mirrorlist("/etc/mock/templates/*.tpl");
|
||||||
# upload the config so we can check it's OK
|
# upload the config so we can check it's OK
|
||||||
upload_logs "/etc/mock/openqa.cfg";
|
upload_logs "/etc/mock/openqa.cfg";
|
||||||
# now check out the kickstarts
|
# now check out the kickstarts
|
||||||
@ -57,6 +63,10 @@ sub run {
|
|||||||
assert_script_run 'echo "repo --name=advisory --baseurl=file:///mnt/update_repo" >> ' . $repoks;
|
assert_script_run 'echo "repo --name=advisory --baseurl=file:///mnt/update_repo" >> ' . $repoks;
|
||||||
# and the workarounds repo
|
# and the workarounds repo
|
||||||
assert_script_run 'echo "repo --name=workarounds --baseurl=file:///mnt/workarounds_repo" >> ' . $repoks;
|
assert_script_run 'echo "repo --name=workarounds --baseurl=file:///mnt/workarounds_repo" >> ' . $repoks;
|
||||||
|
# and the buildroot repo, for Rawhide
|
||||||
|
if ($version eq $rawrel) {
|
||||||
|
assert_script_run 'echo "repo --name=koji-rawhide --baseurl=https://kojipkgs.fedoraproject.org/repos/rawhide/latest/\$basearch/" >> ' . $repoks;
|
||||||
|
}
|
||||||
# FIXME: this is a workaround for #2119518, disabling oomd so it
|
# FIXME: this is a workaround for #2119518, disabling oomd so it
|
||||||
# doesn't go crazy killing things
|
# doesn't go crazy killing things
|
||||||
my $relnum = get_release_number;
|
my $relnum = get_release_number;
|
||||||
|
@ -38,11 +38,14 @@ sub run {
|
|||||||
assert_script_run 'git clone https://pagure.io/workstation-ostree-config.git';
|
assert_script_run 'git clone https://pagure.io/workstation-ostree-config.git';
|
||||||
assert_script_run 'pushd workstation-ostree-config';
|
assert_script_run 'pushd workstation-ostree-config';
|
||||||
assert_script_run "git checkout ${branch}";
|
assert_script_run "git checkout ${branch}";
|
||||||
# now copy the advisory and workaround repo config files in
|
# now copy the advisory, workaround repo and koji-rawhide config files
|
||||||
assert_script_run 'cp /etc/yum.repos.d/advisory.repo .';
|
assert_script_run 'cp /etc/yum.repos.d/advisory.repo .';
|
||||||
assert_script_run 'cp /etc/yum.repos.d/workarounds.repo .';
|
assert_script_run 'cp /etc/yum.repos.d/workarounds.repo .';
|
||||||
|
assert_script_run 'cp /etc/yum.repos.d/koji-rawhide.repo .' if ($version eq $rawrel);
|
||||||
# and add them to the config file
|
# and add them to the config file
|
||||||
assert_script_run 'sed -i -e "s,repos:,repos:\n - advisory\n - workarounds,g" fedora-' . $lcsubv . '.yaml';
|
my $repl = 'repos:\n - advisory\n - workarounds';
|
||||||
|
$repl .= '\n - koji-rawhide' if ($version eq $rawrel);
|
||||||
|
assert_script_run 'sed -i -e "s,repos:,' . $repl . ',g" fedora-' . $lcsubv . '.yaml';
|
||||||
# upload the config so we can check it
|
# upload the config so we can check it
|
||||||
upload_logs "fedora-$lcsubv.yaml";
|
upload_logs "fedora-$lcsubv.yaml";
|
||||||
assert_script_run 'popd';
|
assert_script_run 'popd';
|
||||||
|
Loading…
Reference in New Issue
Block a user