Add fedup_minimal test
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D358
This commit is contained in:
parent
f7d4bc69ce
commit
1422d2c0e2
33
lib/fedoralog.pm
Normal file
33
lib/fedoralog.pm
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package fedoralog;
|
||||||
|
use base 'basetest';
|
||||||
|
|
||||||
|
use testapi;
|
||||||
|
|
||||||
|
sub post_fail_hook() {
|
||||||
|
my $self = shift;
|
||||||
|
my $password = get_var("ROOT_PASSWORD", "weakpassword");
|
||||||
|
|
||||||
|
send_key "ctrl-alt-f2";
|
||||||
|
assert_screen "text_console_login", 20;
|
||||||
|
type_string "root";
|
||||||
|
send_key "ret";
|
||||||
|
assert_screen "console_password_required", 10;
|
||||||
|
type_string $password;
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
assert_screen "root_logged_in", 10;
|
||||||
|
|
||||||
|
# Upload all ABRT logs
|
||||||
|
type_string "cd /var/tmp/abrt && tar czvf abrt.tar.gz *";
|
||||||
|
send_key "ret";
|
||||||
|
upload_logs "/var/tmp/abrt/abrt.tar.gz";
|
||||||
|
|
||||||
|
# Upload /var/log
|
||||||
|
type_string "tar czvf /tmp/var_log.tar.gz /var/log";
|
||||||
|
send_key "ret";
|
||||||
|
upload_logs "/tmp/var_log.tar.gz";
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
# vim: set sw=4 et:
|
6
main.pm
6
main.pm
@ -55,6 +55,12 @@ if (get_var("ENTRYPOINT"))
|
|||||||
{
|
{
|
||||||
autotest::loadtest get_var('CASEDIR')."/tests/".get_var("ENTRYPOINT").".pm";
|
autotest::loadtest get_var('CASEDIR')."/tests/".get_var("ENTRYPOINT").".pm";
|
||||||
}
|
}
|
||||||
|
elsif (get_var("UPGRADE"))
|
||||||
|
{
|
||||||
|
autotest::loadtest get_var('CASEDIR')."/tests/upgrade_preinstall_".get_var("UPGRADE").".pm";
|
||||||
|
autotest::loadtest get_var('CASEDIR')."/tests/upgrade_run_".get_var("UPGRADE").".pm";
|
||||||
|
autotest::loadtest get_var('CASEDIR')."/tests/upgrade_postinstall_".get_var("UPGRADE").".pm";
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
autotest::loadtest get_var('CASEDIR')."/tests/_boot_to_anaconda.pm";
|
autotest::loadtest get_var('CASEDIR')."/tests/_boot_to_anaconda.pm";
|
||||||
|
@ -7,11 +7,12 @@
|
|||||||
],
|
],
|
||||||
"area": [
|
"area": [
|
||||||
{
|
{
|
||||||
|
"width": 1018,
|
||||||
|
"height": 13,
|
||||||
"xpos": 0,
|
"xpos": 0,
|
||||||
"ypos": 0,
|
"ypos": 0,
|
||||||
"width": 204,
|
|
||||||
"height": 13,
|
|
||||||
"type": "match"
|
"type": "match"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"properties": []
|
||||||
}
|
}
|
@ -1,18 +1,18 @@
|
|||||||
{
|
{
|
||||||
"area": [
|
|
||||||
{
|
|
||||||
"height": 13,
|
|
||||||
"width": 204,
|
|
||||||
"ypos": 16,
|
|
||||||
"type": "match",
|
|
||||||
"xpos": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tags": [
|
"tags": [
|
||||||
"console_command_success",
|
"console_command_success",
|
||||||
"ENV-DISTRI-fedora",
|
"ENV-DISTRI-fedora",
|
||||||
"ENV-INSTLANG-en_US",
|
"ENV-INSTLANG-en_US",
|
||||||
"ENV-FLAVOR-server"
|
"ENV-FLAVOR-server"
|
||||||
],
|
],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"type": "match",
|
||||||
|
"width": 1012,
|
||||||
|
"height": 13,
|
||||||
|
"xpos": 0,
|
||||||
|
"ypos": 16
|
||||||
|
}
|
||||||
|
],
|
||||||
"properties": []
|
"properties": []
|
||||||
}
|
}
|
18
needles/console_f22_installed.json
Normal file
18
needles/console_f22_installed.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"properties": [],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"xpos": 0,
|
||||||
|
"ypos": 129,
|
||||||
|
"width": 238,
|
||||||
|
"height": 12,
|
||||||
|
"type": "match"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"console_f22_installed",
|
||||||
|
"ENV-DISTRI-fedora",
|
||||||
|
"ENV-INSTLANG-en_US",
|
||||||
|
"ENV-FLAVOR-develop"
|
||||||
|
]
|
||||||
|
}
|
BIN
needles/console_f22_installed.png
Normal file
BIN
needles/console_f22_installed.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
18
needles/console_password_required2.json
Normal file
18
needles/console_password_required2.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"properties": [],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"xpos": 1,
|
||||||
|
"height": 17,
|
||||||
|
"width": 77,
|
||||||
|
"ypos": 79,
|
||||||
|
"type": "match"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"console_password_required",
|
||||||
|
"ENV-DISTRI-fedora",
|
||||||
|
"ENV-INSTLANG-en_US",
|
||||||
|
"ENV-FLAVOR-server"
|
||||||
|
]
|
||||||
|
}
|
BIN
needles/console_password_required2.png
Normal file
BIN
needles/console_password_required2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 882 B |
18
needles/grub_fedup.json
Normal file
18
needles/grub_fedup.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"properties": [],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"xpos": 119,
|
||||||
|
"ypos": 51,
|
||||||
|
"width": 61,
|
||||||
|
"height": 10,
|
||||||
|
"type": "match"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"grub_fedup",
|
||||||
|
"ENV-DISTRI-fedora",
|
||||||
|
"ENV-INSTLANG-en_US",
|
||||||
|
"ENV-FLAVOR-server"
|
||||||
|
]
|
||||||
|
}
|
BIN
needles/grub_fedup.png
Normal file
BIN
needles/grub_fedup.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
@ -1,17 +1,18 @@
|
|||||||
{
|
{
|
||||||
|
"properties": [],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"width": 156,
|
||||||
|
"xpos": 0,
|
||||||
|
"height": 19,
|
||||||
|
"ypos": 113,
|
||||||
|
"type": "match"
|
||||||
|
}
|
||||||
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"root_logged_in",
|
"root_logged_in",
|
||||||
"ENV-DISTRI-fedora",
|
"ENV-DISTRI-fedora",
|
||||||
"ENV-INSTLANG-en_US",
|
"ENV-INSTLANG-en_US",
|
||||||
"ENV-FLAVOR-server"
|
"ENV-FLAVOR-server"
|
||||||
],
|
|
||||||
"area": [
|
|
||||||
{
|
|
||||||
"xpos": 0,
|
|
||||||
"ypos": 126,
|
|
||||||
"width": 156,
|
|
||||||
"height": 22,
|
|
||||||
"type": "match"
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
18
needles/tmp_failed_proc.json
Normal file
18
needles/tmp_failed_proc.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"tags": [
|
||||||
|
"tmp_failed_proc",
|
||||||
|
"ENV-DISTRI-fedora",
|
||||||
|
"ENV-INSTLANG-en_US",
|
||||||
|
"ENV-FLAVOR-develop"
|
||||||
|
],
|
||||||
|
"properties": [],
|
||||||
|
"area": [
|
||||||
|
{
|
||||||
|
"xpos": 71,
|
||||||
|
"ypos": 338,
|
||||||
|
"width": 251,
|
||||||
|
"height": 11,
|
||||||
|
"type": "match"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
needles/tmp_failed_proc.png
Normal file
BIN
needles/tmp_failed_proc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
23
templates
23
templates
@ -176,6 +176,16 @@
|
|||||||
},
|
},
|
||||||
test_suite => { name => "server_kickstart_hdd" },
|
test_suite => { name => "server_kickstart_hdd" },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
machine => { name => "64bit" },
|
||||||
|
product => {
|
||||||
|
arch => "x86_64",
|
||||||
|
distri => "fedora",
|
||||||
|
flavor => "universal",
|
||||||
|
version => "*",
|
||||||
|
},
|
||||||
|
test_suite => { name => "fedup_minimal" },
|
||||||
|
},
|
||||||
],
|
],
|
||||||
Machines => [
|
Machines => [
|
||||||
{
|
{
|
||||||
@ -369,7 +379,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name => "server_kickstart_hdd",
|
name => "server_kickstart_hdd",
|
||||||
prio => 13,
|
prio => 14,
|
||||||
settings => [
|
settings => [
|
||||||
{ key => "KICKSTART", value => "1" },
|
{ key => "KICKSTART", value => "1" },
|
||||||
{ key => "GRUB", value => "inst.ks=hd:vdb1:/root-user-crypted-net.ks" },
|
{ key => "GRUB", value => "inst.ks=hd:vdb1:/root-user-crypted-net.ks" },
|
||||||
@ -381,5 +391,16 @@
|
|||||||
],
|
],
|
||||||
variables => "",
|
variables => "",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name => "fedup_minimal",
|
||||||
|
prio => 15,
|
||||||
|
settings => [
|
||||||
|
{ key => "ROOT_PASSWORD", value => "weakpassword" },
|
||||||
|
{ key => "BOOTFROM", value => "c" },
|
||||||
|
{ key => "HDD_1", value => "disk_f21.img" },
|
||||||
|
{ key => "UPGRADE", value => "minimal" },
|
||||||
|
],
|
||||||
|
variables => "",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
37
tests/upgrade_postinstall_minimal.pm
Normal file
37
tests/upgrade_postinstall_minimal.pm
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
use base "fedoralog";
|
||||||
|
use strict;
|
||||||
|
use testapi;
|
||||||
|
|
||||||
|
sub boot_and_login {
|
||||||
|
wait_still_screen 10;
|
||||||
|
|
||||||
|
my $password = get_var("ROOT_PASSWORD", "weakpassword");
|
||||||
|
|
||||||
|
send_key "ctrl-alt-f3";
|
||||||
|
assert_screen "text_console_login", 20;
|
||||||
|
type_string "root";
|
||||||
|
send_key "ret";
|
||||||
|
assert_screen "console_password_required", 10;
|
||||||
|
type_string $password;
|
||||||
|
send_key "ret";
|
||||||
|
assert_screen "root_logged_in", 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub run {
|
||||||
|
boot_and_login();
|
||||||
|
|
||||||
|
assert_screen "console_f22_installed";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub test_flags {
|
||||||
|
# without anything - rollback to 'lastgood' snapshot if failed
|
||||||
|
# 'fatal' - whole test suite is in danger if this fails
|
||||||
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
||||||
|
# 'important' - if this fails, set the overall state to 'fail'
|
||||||
|
return { fatal => 1 };
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
# vim: set sw=4 et:
|
50
tests/upgrade_preinstall_minimal.pm
Normal file
50
tests/upgrade_preinstall_minimal.pm
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
use base "fedoralog";
|
||||||
|
use strict;
|
||||||
|
use testapi;
|
||||||
|
|
||||||
|
sub boot_and_login {
|
||||||
|
wait_still_screen 10;
|
||||||
|
|
||||||
|
my $password = get_var("ROOT_PASSWORD", "weakpassword");
|
||||||
|
|
||||||
|
send_key "ctrl-alt-f3";
|
||||||
|
assert_screen "text_console_login", 20;
|
||||||
|
type_string "root";
|
||||||
|
send_key "ret";
|
||||||
|
assert_screen "console_password_required", 10;
|
||||||
|
type_string $password;
|
||||||
|
send_key "ret";
|
||||||
|
assert_screen "root_logged_in", 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub run {
|
||||||
|
boot_and_login();
|
||||||
|
|
||||||
|
type_string 'yum -y update; echo $?';
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
assert_screen "console_command_success", 1800;
|
||||||
|
|
||||||
|
type_string "reboot";
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
boot_and_login();
|
||||||
|
|
||||||
|
type_string 'yum -y install fedup; echo $?';
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
assert_screen "console_command_success", 1800;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub test_flags {
|
||||||
|
# without anything - rollback to 'lastgood' snapshot if failed
|
||||||
|
# 'fatal' - whole test suite is in danger if this fails
|
||||||
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
||||||
|
# 'important' - if this fails, set the overall state to 'fail'
|
||||||
|
return { fatal => 1 };
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
# vim: set sw=4 et:
|
53
tests/upgrade_run_minimal.pm
Normal file
53
tests/upgrade_run_minimal.pm
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
use base "fedoralog";
|
||||||
|
use strict;
|
||||||
|
use testapi;
|
||||||
|
|
||||||
|
sub run {
|
||||||
|
my $fedup_url;
|
||||||
|
my $to_version;
|
||||||
|
# FIXME: this is just a workaround, see https://phab.qadevel.cloud.fedoraproject.org/T478
|
||||||
|
if (get_var("BUILD") =~ /^(\d+)_Final_(.*)$/) {
|
||||||
|
$fedup_url = "https://dl.fedoraproject.org/pub/alt/stage/".$1."_".$2."/Server/".get_var("ARCH")."/os";
|
||||||
|
$to_version = $1;
|
||||||
|
} else {
|
||||||
|
$fedup_url = "https://dl.fedoraproject.org/pub/alt/stage/".get_var("BUILD")."/Server/".get_var("ARCH")."/os";
|
||||||
|
get_var("BUILD") =~ /^(\d+)/;
|
||||||
|
$to_version = $1;
|
||||||
|
}
|
||||||
|
|
||||||
|
type_string "fedup --network ".$to_version." --instrepo ".$fedup_url;
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
wait_still_screen 30, 6000; # TODO: shorter timeout, longer stillscreen?
|
||||||
|
|
||||||
|
upload_logs "/var/log/fedup.log";
|
||||||
|
|
||||||
|
type_string "reboot";
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
assert_screen "grub_fedup", 30;
|
||||||
|
send_key "ret";
|
||||||
|
|
||||||
|
my $counter = 0;
|
||||||
|
|
||||||
|
while (!check_screen ("text_console_login", 10) && $counter < 180) {
|
||||||
|
if (check_screen "tmp_failed_proc", 1) {
|
||||||
|
send_key "ctrl-alt-delete";
|
||||||
|
}
|
||||||
|
$counter++;
|
||||||
|
}
|
||||||
|
assert_screen "text_console_login", 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub test_flags {
|
||||||
|
# without anything - rollback to 'lastgood' snapshot if failed
|
||||||
|
# 'fatal' - whole test suite is in danger if this fails
|
||||||
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
||||||
|
# 'important' - if this fails, set the overall state to 'fail'
|
||||||
|
return { fatal => 1 };
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
# vim: set sw=4 et:
|
Loading…
Reference in New Issue
Block a user