03af57e0da
when we run firefox in a bare X session, by default we get an 800x600 firefox in a 1024x768 X server with some dead black space to the right and bottom of the screen. Now it turns out that if the mouse is in the dead space, Firefox will not get any keystrokes we send. This didn't used to be a problem, but I made it into one with this os-autoinst change: https://github.com/os-autoinst/os-autoinst/pull/559 that makes os-autoinst move the cursor to 1023,767 after each `assert_and_click`, instead of 0x0 as it did before, unless the cursor has previously been explicitly place somewhere. So in this case it gets moved to the dead space, and Firefox stops responding to keypresses after the first `assert_and_click`. We could equally well fix this by setting the cursor to 0,0 after running Firefox, but I like this more as it makes sure we won't run into the same problem some other way, and makes the videos and screenshots look nicer. This fixes the realmd_join_cockpit test that's been failing ever since I installed an os-autoinst with that fix. Committing without review as it's a straightforward fix and I want the test working again...
106 lines
3.4 KiB
Perl
106 lines
3.4 KiB
Perl
package installedtest;
|
|
use base 'fedorabase';
|
|
|
|
# base class for tests that run on installed system
|
|
|
|
# should be used when with tests, where system is already installed, e. g all parts
|
|
# of upgrade tests, postinstall phases...
|
|
|
|
use testapi;
|
|
|
|
sub root_console {
|
|
my $self = shift;
|
|
my %args = (
|
|
tty => 1, # what TTY to login to
|
|
check => 1, # whether to fail when console wasn't reached
|
|
@_);
|
|
|
|
send_key "ctrl-alt-f$args{tty}";
|
|
$self->console_login(check=>$args{check});
|
|
}
|
|
|
|
sub post_fail_hook {
|
|
my $self = shift;
|
|
|
|
$self->root_console(tty=>2);
|
|
|
|
# If /var/tmp/abrt directory isn't empty (ls doesn't return empty string)
|
|
my $vartmp = script_output "ls /var/tmp/abrt";
|
|
if ($vartmp ne '') {
|
|
# Upload /var/tmp ABRT logs
|
|
script_run "cd /var/tmp/abrt && tar czvf tmpabrt.tar.gz *";
|
|
upload_logs "/var/tmp/abrt/tmpabrt.tar.gz";
|
|
}
|
|
my $varspool = script_output "ls /var/spool/abrt";
|
|
if ($varspool ne '') {
|
|
# Upload /var/spool ABRT logs
|
|
script_run "cd /var/spool/abrt && tar czvf spoolabrt.tar.gz *";
|
|
upload_logs "/var/spool/abrt/spoolabrt.tar.gz";
|
|
}
|
|
|
|
# Upload /var/log
|
|
# lastlog can mess up tar sometimes and it's not much use
|
|
script_run "tar czvf /tmp/var_log.tar.gz --exclude='lastlog' /var/log";
|
|
upload_logs "/tmp/var_log.tar.gz";
|
|
}
|
|
|
|
sub check_release {
|
|
my $self = shift;
|
|
my $release = shift;
|
|
my $check_command = "grep SUPPORT_PRODUCT_VERSION /usr/lib/os.release.d/os-release-fedora";
|
|
validate_script_output $check_command, sub { $_ =~ m/REDHAT_SUPPORT_PRODUCT_VERSION=$release/ };
|
|
}
|
|
|
|
sub menu_launch_type {
|
|
my $self = shift;
|
|
my $app = shift;
|
|
# super does not work on KDE, because fml
|
|
send_key 'alt-f1';
|
|
# srsly KDE y u so slo
|
|
wait_still_screen 3;
|
|
type_string "$app";
|
|
wait_still_screen 3;
|
|
send_key 'ret';
|
|
}
|
|
|
|
sub start_cockpit {
|
|
my $self = shift;
|
|
my $login = shift || 0;
|
|
# run firefox directly in X as root. never do this, kids!
|
|
type_string "startx /usr/bin/firefox -width 1024 -height 768\n";
|
|
assert_screen "firefox";
|
|
# open a new tab so we don't race with the default page load
|
|
# (also focuses the location bar for us)
|
|
send_key "ctrl-t";
|
|
wait_still_screen 2;
|
|
type_string "http://localhost:9090";
|
|
# firefox's stupid 'smart' url bar is a pain. wait for things to settle.
|
|
wait_still_screen 3;
|
|
send_key "ret";
|
|
assert_screen "cockpit_login";
|
|
if ($login) {
|
|
type_string "root";
|
|
send_key "tab";
|
|
type_string get_var("ROOT_PASSWORD", "weakpassword");
|
|
send_key "ret";
|
|
assert_screen "cockpit_main";
|
|
}
|
|
}
|
|
|
|
sub repo_setup {
|
|
# disable updates-testing and use the compose location rather than
|
|
# mirrorlist, so we're testing the right packages
|
|
my $location = get_var("LOCATION");
|
|
assert_script_run 'dnf config-manager --set-disabled updates-testing';
|
|
# we use script_run here as the rawhide repo file won't always exist
|
|
# and we don't want to bother testing or predicting its existence;
|
|
# assert_script_run doesn't buy you much with sed anyway as it'll
|
|
# return 0 even if it replaced nothing
|
|
script_run "sed -i -e 's,^metalink,#metalink,g' -e 's,^#baseurl.*basearch,baseurl=${location}/Everything/\$basearch,g' /etc/yum.repos.d/{fedora,fedora-rawhide}.repo";
|
|
script_run "cat /etc/yum.repos.d/{fedora,fedora-rawhide}.repo";
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|