os-autoinst-distri-rocky/tests/desktop_terminal.pm
Trevor Cooper 04c4a50c19
FEATURE: Add DNF_CONTENTDIR override support (#119)
* add dnf_contentdir library function and implement is sample tests

* Short circuit auto addition of _console_wait_login for tests without DESKTOP

* support use of REPOSITORY_GRAPHICAL and ADD_REPOSITORY_GRAPHICAL test variables

* deprecate addition of dnf_contentdir lib function

* create and use get_version_major utility function

* resolve mismatch of login type caused by incorrect template entries

* add and use _staging_repos_enable post-install test

* add install_package_set_* tests only to package-set flavor

* fix variable re-declaration warning/error

* add rocky-getting-started-tour needles

* release rocky-repos content require switch from mirrorlist to baseurl

* implement DNF_CONTENTDIR swap as post-install action before reboot/login

* temp disable _staging_repos_enable

* incomplete fix for _graphical_wait_login
- get_release_number is used heavily in our openQA but makes no sense in 
Rocky. Multiple possible solutions but this one allows 
`_graphical_wait_login` to pass. NEEDS_WORK
2022-07-10 16:05:04 -05:00

40 lines
1.2 KiB
Perl

use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $self = shift;
my $relnum = get_release_number;
my $version_major = get_version_major;
my $desktop = get_var("DESKTOP");
check_desktop;
menu_launch_type('terminal');
assert_screen "apps_run_terminal";
# FIXME: workaround for RHBZ#1957858 - test actually works without
# this, but very slowly as characters don't appear on screen
send_key "super-pgup" if ((($version_major > 8) || ($relnum > 33)) && $desktop eq "kde");
wait_still_screen 5;
# need to be root
my $rootpass = get_var("ROOT_PASSWORD", "weakpassword");
type_string "su\n", 20;
wait_still_screen 3;
# can't use type_safely for now as current implementation relies
# on screen change checks, and there is no screen change here
type_string "$rootpass\n", 1;
wait_still_screen 3;
# if we can run something successfully, we're at a console;
# we're reinventing assert_script_run instead of using it so
# we can type safely
type_very_safely "ls && echo 'ls OK' > /dev/${serialdev}\n";
die "terminal command failed" unless defined wait_serial "ls OK";
}
sub test_flags {
return { fatal => 1 };
}
1;
# vim: set sw=4 et: