From db95bccd5281a819f76bddc20b01023b68b819e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Sedl=C3=A1k?= Date: Wed, 7 Sep 2016 10:34:54 +0200 Subject: [PATCH] add anaconda text UI test Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D980 --- VARIABLES.md | 1 + lib/anacondatest.pm | 3 + lib/main_common.pm | 17 +++ main.pm | 6 + .../console/anaconda_install_text_done.json | 15 +++ .../console/anaconda_install_text_done.png | Bin 0 -> 6020 bytes needles/console/anaconda_main_hub_text.json | 29 +++++ needles/console/anaconda_main_hub_text.png | Bin 0 -> 7642 bytes .../anaconda_main_hub_text_unfinished.json | 15 +++ .../anaconda_main_hub_text_unfinished.png | Bin 0 -> 7642 bytes needles/console/anaconda_text_error.json | 15 +++ needles/console/anaconda_text_error.png | Bin 0 -> 9752 bytes needles/console/anaconda_use_text_mode.json | 15 +++ needles/console/anaconda_use_text_mode.png | Bin 0 -> 4860 bytes templates | 17 +++ tests/_boot_to_anaconda.pm | 52 ++++---- tests/install_text.pm | 112 ++++++++++++++++++ 17 files changed, 276 insertions(+), 21 deletions(-) create mode 100644 lib/main_common.pm create mode 100644 needles/console/anaconda_install_text_done.json create mode 100644 needles/console/anaconda_install_text_done.png create mode 100644 needles/console/anaconda_main_hub_text.json create mode 100644 needles/console/anaconda_main_hub_text.png create mode 100644 needles/console/anaconda_main_hub_text_unfinished.json create mode 100644 needles/console/anaconda_main_hub_text_unfinished.png create mode 100644 needles/console/anaconda_text_error.json create mode 100644 needles/console/anaconda_text_error.png create mode 100644 needles/console/anaconda_use_text_mode.json create mode 100644 needles/console/anaconda_use_text_mode.png create mode 100644 tests/install_text.pm diff --git a/VARIABLES.md b/VARIABLES.md index b8caccb5..f1051f08 100644 --- a/VARIABLES.md +++ b/VARIABLES.md @@ -73,6 +73,7 @@ it also means that `B` conflicts `A` even if not shown in the table). | `TEST_UPDATES` | boolean | `false`/not set | set to indicate that this test checks updates.img loading, so we should check for the expected effect of the updates image used for this testing | | `POSTINSTALL` | string | not set | nothing | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests | `UEFI` | boolean | `false`/not set | nothing | whether to use UEFI, this variable isn't usually set in test suites but in machine definition | +| `ANACONDA_TEXT` | boolean | `false`/not set | all | when specified, anaconda will run in text mode | Run variables ------------- diff --git a/lib/anacondatest.pm b/lib/anacondatest.pm index 54d7519f..663e29e4 100644 --- a/lib/anacondatest.pm +++ b/lib/anacondatest.pm @@ -16,6 +16,9 @@ sub post_fail_hook { if (check_screen "anaconda_error", 10) { assert_and_click "anaconda_error_report"; $has_traceback = 1; + } elsif (check_screen "anaconda_text_error", 10) { # also for text install + type_string "1\n"; + $has_traceback = 1; } $self->root_console(check=>0); diff --git a/lib/main_common.pm b/lib/main_common.pm new file mode 100644 index 00000000..4f93dcd6 --- /dev/null +++ b/lib/main_common.pm @@ -0,0 +1,17 @@ +package main_common; + +use strict; + +use base 'Exporter'; +use Exporter; + +use testapi; + +our @EXPORT = qw/run_with_error_check/; + +sub run_with_error_check { + my ($func, $error_screen) = @_; + die "Error screen appeared" if (check_screen $error_screen, 5); + $func->(); + die "Error screen appeared" if (check_screen $error_screen, 5); +} diff --git a/main.pm b/main.pm index c5371c20..5219119d 100644 --- a/main.pm +++ b/main.pm @@ -119,6 +119,12 @@ sub load_install_tests() { # if this is a kickstart install, that's all folks return if (get_var("KICKSTART")); + if (get_var('ANACONDA_TEXT')) { + # since it differs much, handle text installation separately + autotest::loadtest "tests/install_text.pm"; + return; + } + ## Networking if (get_var('ANACONDA_STATIC')) { autotest::loadtest "tests/_network_static.pm"; diff --git a/needles/console/anaconda_install_text_done.json b/needles/console/anaconda_install_text_done.json new file mode 100644 index 00000000..87c02fc5 --- /dev/null +++ b/needles/console/anaconda_install_text_done.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 255, + "ypos": 738, + "width": 152, + "height": 12, + "type": "match" + } + ], + "properties": [], + "tags": [ + "anaconda_install_text_done" + ] +} \ No newline at end of file diff --git a/needles/console/anaconda_install_text_done.png b/needles/console/anaconda_install_text_done.png new file mode 100644 index 0000000000000000000000000000000000000000..bf10eb95680bfb105ecd96acad37c3242a81281b GIT binary patch literal 6020 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 G4f_wgzR2(Z literal 0 HcmV?d00001 diff --git a/templates b/templates index 5efe9e38..e27cdbea 100755 --- a/templates +++ b/templates @@ -325,6 +325,17 @@ }, test_suite => { name => "install_package_set_minimal" }, }, + { + machine => { name => "64bit" }, + prio => 30, + product => { + arch => "x86_64", + distri => "fedora", + flavor => "universal", + version => "*", + }, + test_suite => { name => "install_anaconda_text" }, + }, { machine => { name => "64bit" }, prio => 10, @@ -1430,6 +1441,12 @@ { key => "STORE_HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" }, ], }, + { + name => "install_anaconda_text", + settings => [ + { key => "ANACONDA_TEXT", value => "1" }, + ], + }, { name => "install_package_set_minimal", settings => [ diff --git a/tests/_boot_to_anaconda.pm b/tests/_boot_to_anaconda.pm index afd2c3c8..12f5e967 100644 --- a/tests/_boot_to_anaconda.pm +++ b/tests/_boot_to_anaconda.pm @@ -14,8 +14,9 @@ sub run { # Construct inst.repo arg for REPOSITORY_VARIATION my $repourl = get_var("REPOSITORY_VARIATION"); if ($repourl) { - $params .= "inst.repo=" . $self->get_full_repo($repourl); + $params .= "inst.repo=" . $self->get_full_repo($repourl) . " "; } + $params .= "inst.text" if get_var("ANACONDA_TEXT"); # ternary: set $params to "" if it contains only spaces $params = $params =~ /^\s+$/ ? "" : $params; @@ -28,28 +29,37 @@ sub run { # proceed to installer unless (get_var("KICKSTART")) { - # on lives, we have to explicitly launch anaconda - if (get_var('LIVE')) { - assert_and_click "live_start_anaconda_icon", '', 300; - } - my $language = get_var('LANGUAGE') || 'english'; - # wait for anaconda to appear - assert_screen "anaconda_select_install_lang", 300; - # Select install language - assert_and_click "anaconda_select_install_lang_input"; - type_string "${language}"; - # Needle filtering in main.pm ensures we will only look for the - # appropriate language, here - assert_and_click "anaconda_select_install_lang_filtered"; - assert_screen "anaconda_select_install_lang_selected", 3; - assert_and_click "anaconda_select_install_lang_continue"; + if (get_var("ANACONDA_TEXT")) { + # select that we don't want to start VNC; we want to run in text mode + assert_screen "anaconda_use_text_mode", 300; + type_string "2\n"; - if ( check_screen "anaconda_rawhide_accept_fate" ) { - assert_and_click "anaconda_rawhide_accept_fate"; - } + # wait for text version of Anaconda main hub + assert_screen "anaconda_main_hub_text", 300; + } else { + # on lives, we have to explicitly launch anaconda + if (get_var('LIVE')) { + assert_and_click "live_start_anaconda_icon", '', 300; + } + my $language = get_var('LANGUAGE') || 'english'; + # wait for anaconda to appear + assert_screen "anaconda_select_install_lang", 300; + # Select install language + assert_and_click "anaconda_select_install_lang_input"; + type_string "${language}"; + # Needle filtering in main.pm ensures we will only look for the + # appropriate language, here + assert_and_click "anaconda_select_install_lang_filtered"; + assert_screen "anaconda_select_install_lang_selected", 3; + assert_and_click "anaconda_select_install_lang_continue"; - # wait for Anaconda hub to appear - assert_screen "anaconda_main_hub", 900; # + if ( check_screen "anaconda_rawhide_accept_fate" ) { + assert_and_click "anaconda_rawhide_accept_fate"; + } + + # wait for Anaconda hub to appear + assert_screen "anaconda_main_hub", 900; # + } } } diff --git a/tests/install_text.pm b/tests/install_text.pm new file mode 100644 index 00000000..2dc232ec --- /dev/null +++ b/tests/install_text.pm @@ -0,0 +1,112 @@ +use base "anacondatest"; +use strict; +use testapi; +use main_common; + +sub run { + my $self = shift; + assert_screen "anaconda_main_hub_text"; + # IMHO it's better to use sleeps than to have needle for every text screen + wait_still_screen 5; + + # prepare for different number of spokes (e. g. as in Atomic DVD) + my %spoke_number = ( + "language" => 1, + "timezone" => 2, + "source" => 3, + "swselection" => 4, + "destination" => 5, + "network" => 6, + "rootpwd" => 7, + "user" => 8 + ); + + # Set timezone + run_with_error_check(sub {type_string $spoke_number{"timezone"} . "\n"}, "anaconda_text_error"); + wait_still_screen 5; + type_string "1\n"; # Europe + wait_still_screen 5; + type_string "37\n"; # Prague + wait_still_screen 7; + + # Select disk + run_with_error_check(sub {type_string $spoke_number{"destination"} . "\n"}, "anaconda_text_error"); + wait_still_screen 5; + type_string "c\n"; # first disk selected, continue + wait_still_screen 5; + type_string "c\n"; # use all space selected, continue + wait_still_screen 5; + type_string "c\n"; # LVM selected, continue + wait_still_screen 7; + + # Set root password + run_with_error_check(sub {type_string $spoke_number{"rootpwd"} . "\n"}, "anaconda_text_error"); + wait_still_screen 5; + type_string get_var("ROOT_PASSWORD", "weakpassword"); + send_key "ret"; + wait_still_screen 5; + type_string get_var("ROOT_PASSWORD", "weakpassword"); + send_key "ret"; + wait_still_screen 7; + + # Create user + run_with_error_check(sub {type_string $spoke_number{"user"} . "\n"}, "anaconda_text_error"); + wait_still_screen 5; + type_string "1\n"; # create new + wait_still_screen 5; + type_string "3\n"; # set username + wait_still_screen 5; + type_string get_var("USER_LOGIN", "test"); + send_key "ret"; + wait_still_screen 5; + # typing "4\n" on abrt screen causes system to reboot, so be careful + run_with_error_check(sub {type_string "4\n"}, "anaconda_text_error"); # use password + wait_still_screen 5; + type_string "5\n"; # set password + wait_still_screen 5; + type_string get_var("USER_PASSWORD", "weakpassword"); + send_key "ret"; + wait_still_screen 5; + type_string get_var("USER_PASSWORD", "weakpassword"); + send_key "ret"; + wait_still_screen 5; + type_string "6\n"; # make him an administrator + wait_still_screen 5; + type_string "c\n"; + wait_still_screen 7; + + my $counter = 0; + while (check_screen "anaconda_main_hub_text_unfinished", 2) { + if ($counter > 10) { + die "There are unfinished spokes in Anaconda"; + } + sleep 10; + $counter++; + type_string "r\n"; # refresh + } + + # begin installation + type_string "b\n"; + + # Wait for install to end. Give Rawhide a bit longer, in case + # we're on a debug kernel, debug kernel installs are really slow. + my $timeout = 1800; + if (lc(get_var('VERSION')) eq "rawhide") { + $timeout = 2400; + } + assert_screen "anaconda_install_text_done", $timeout; + type_string "\n"; +} + + +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: