mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-22 05:53:09 +00:00
ef689e75a9
Summary: we have a long-standing problem with all the tests that hit the repositories. The tests are triggered as soon as a compose completes. At this point in time, the compose is not synced to the mirrors, where the default 'fedora' repo definition looks; the sync happens after the compose completes, and there is also a metadata sync step that must happen after *that* before any operation that uses the 'fedora' repository definition will actually use the packages from the new compose. Thus all net install tests and tests that installed packages have been effectively testing the previous compose, not the current one. We have some thoughts about how to fix this 'properly' (such that the openQA tests wouldn't have to do anything special, but their 'fedora' repository would somehow reflect the compose under test), but none of them is in place right now or likely to happen in the short term, so in the mean time this should deal with most of the issues. With this change, everything but the default_install tests for the netinst images should use the compose-under-test's Everything tree instead of the 'fedora' repository, and thus should install and test the correct packages. This relies on a corresponding change to openqa_fedora_tools to set the LOCATION openQA setting (which is simply the base location of the compose under test). Test Plan: Do a full test run, check (as far as you can) tests run sensibly and use appropriate repositories. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D989
60 lines
2.0 KiB
Perl
60 lines
2.0 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use freeipa;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
$self->console_login(user=>'root');
|
|
# clear browser data so we don't go back to the 'admin' login
|
|
assert_script_run 'rm -rf /root/.mozilla';
|
|
type_string "startx /usr/bin/firefox\n";
|
|
assert_screen "firefox";
|
|
start_webui("test1", "batterystaple");
|
|
assert_and_click "freeipa_webui_actions";
|
|
assert_and_click "freeipa_webui_reset_password_link";
|
|
wait_still_screen 3;
|
|
type_string "batterystaple";
|
|
wait_still_screen 1;
|
|
send_key "tab";
|
|
send_key "tab";
|
|
wait_still_screen 1;
|
|
type_string "loremipsum";
|
|
wait_still_screen 1;
|
|
send_key "tab";
|
|
wait_still_screen 1;
|
|
type_string "loremipsum";
|
|
wait_still_screen 1;
|
|
assert_and_click "freeipa_webui_reset_password_button";
|
|
wait_still_screen 2;
|
|
# log out
|
|
assert_and_click "freeipa_webui_user_menu";
|
|
assert_and_click "freeipa_webui_logout";
|
|
wait_still_screen 3;
|
|
# close browser, back to console
|
|
send_key "ctrl-q";
|
|
# we don't get back to a prompt instantly and keystrokes while X
|
|
# is still shutting down are swallowed, so wait_still_screen before
|
|
# finishing (and handing off to freeipa_client_postinstall)
|
|
wait_still_screen 5;
|
|
# check we can kinit with changed password
|
|
assert_script_run 'printf "loremipsum" | kinit test1';
|
|
# change password via CLI (back to batterystaple, as that's what
|
|
# freeipa_client test expects)
|
|
assert_script_run 'dnf -y install freeipa-admintools';
|
|
assert_script_run 'printf "batterystaple\nbatterystaple" | ipa user-mod test1 --password';
|
|
# check we can kinit again
|
|
assert_script_run 'printf "batterystaple" | kinit test1';
|
|
# we just stay here - freeipa_client will pick right up
|
|
}
|
|
|
|
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 {};
|
|
}
|
|
|
|
1;
|