use base "installedtest"; use strict; use testapi; use utils; # This part of the suite Tests that the panel # can be used to switch network off and on. sub switch_network { my $type = shift; # Click on the controls. assert_and_click("panel_controls"); # Click on Network button to toggle network assert_and_click("panel_ctrl_networks"); wait_still_screen(2); # Get rid of the window to be able to make tests send_key("esc"); } sub run { my $self = shift; # Toggle network switch_network(); # Switch to console $self->root_console(tty => 3); # If there is no network the script fails which is exactly # what we need. assert_script_run("! ping -c 10 8.8.8.8"); # Let's switch back to desktop. Normally, we would use the # desktop_vt subroutine, but since we do not have networking # it does not work reliably. Ergo, we will use the old known # ctrl-alt-f2 select_console "tty2-console"; # Sometimes, we can see an authentication dialogue which # prevents the test from continuing. Authenticate, # if that is the case. my $pass = get_var("USER_PASSWORD", "weakpassword"); if (check_screen("auth_required", timeout => 30)) { type_very_safely("$pass\n"); } sleep(3); # Toggle network switch_network(); # Switch to console $self->root_console(tty => 3); # If there is no network the script fails which is exactly # what we need. assert_script_run("ping -c 10 8.8.8.8"); } sub test_flags { return {always_rollback => 1}; } 1; # vim: set sw=4 et: