2020-06-04 18:00:32 +00:00
|
|
|
use base "installedtest";
|
|
|
|
use strict;
|
|
|
|
use testapi;
|
|
|
|
use utils;
|
|
|
|
|
|
|
|
sub run {
|
|
|
|
|
|
|
|
my $self = shift;
|
2022-07-28 20:32:57 +00:00
|
|
|
$self->root_console(tty => 3);
|
2020-06-04 18:00:32 +00:00
|
|
|
|
|
|
|
# list available branches
|
|
|
|
assert_script_run "ostree remote refs fedora-iot";
|
|
|
|
|
|
|
|
# check arch
|
|
|
|
my $arch = lc(get_var("ARCH"));
|
|
|
|
|
|
|
|
# set default for rawhide or devel
|
|
|
|
my $rebase = "stable";
|
|
|
|
|
|
|
|
# if testing the current release, rebase to devel
|
|
|
|
unless (script_run "rpm-ostree status -b | grep stable") {
|
2022-07-28 20:32:57 +00:00
|
|
|
$rebase = "devel";
|
2020-06-04 18:00:32 +00:00
|
|
|
}
|
|
|
|
# rebase to the appropriate release, arch
|
|
|
|
validate_script_output "rpm-ostree rebase fedora/${rebase}/${arch}/iot", sub { m/systemctl reboot/ }, 300;
|
|
|
|
script_run "systemctl reboot", 0;
|
|
|
|
|
|
|
|
boot_to_login_screen;
|
2022-07-28 20:32:57 +00:00
|
|
|
$self->root_console(tty => 3);
|
2020-06-04 18:00:32 +00:00
|
|
|
|
|
|
|
# check booted branch to make sure successful rebase
|
|
|
|
if ($rebase eq "devel") {
|
|
|
|
validate_script_output "rpm-ostree status -b", sub { m/devel/ }, 300;
|
|
|
|
}
|
|
|
|
if ($rebase eq "stable") {
|
|
|
|
validate_script_output "rpm-ostree status -b", sub { m/stable/ }, 300;
|
|
|
|
}
|
|
|
|
|
|
|
|
# rollback and reboot
|
|
|
|
validate_script_output "rpm-ostree rollback", sub { m/systemctl reboot/ }, 300;
|
|
|
|
script_run "systemctl reboot", 0;
|
|
|
|
|
|
|
|
boot_to_login_screen;
|
2022-07-28 20:32:57 +00:00
|
|
|
$self->root_console(tty => 3);
|
2020-06-04 18:00:32 +00:00
|
|
|
|
|
|
|
# check to make sure rollback successful, also account for branched (devel)
|
|
|
|
if ($rebase eq "devel") {
|
|
|
|
validate_script_output "rpm-ostree status -b", sub { m/stable/ }, 300;
|
|
|
|
}
|
|
|
|
if ($rebase eq "stable") {
|
|
|
|
validate_script_output "rpm-ostree status -b", sub { m/rawhide|devel/ }, 300;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sub test_flags {
|
2022-07-28 20:32:57 +00:00
|
|
|
return {fatal => 1};
|
2020-06-04 18:00:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|
|
|
|
|
|
|
|
# vim: set sw=4 et:
|