action #19872
Updated by okurz over 6 years ago
## Motivation Often is wait_still_screen or sleep after type_string to avoid race condition failures. ``` /var/lib/openqa/tests/sle/tests/casp/stack_controller.pm: type_string "kubectl get pods --watch\n"; /var/lib/openqa/tests/sle/tests/casp/stack_controller.pm- wait_still_screen 15, 60; -- /var/lib/openqa/tests/sle/tests/console/consoletest_finish.pm: type_string "loginctl --no-pager\n"; /var/lib/openqa/tests/sle/tests/console/consoletest_finish.pm- wait_still_screen(2); -- /var/lib/openqa/tests/sle/tests/console/consoletest_finish_sym.pm: type_string "loginctl --no-pager\n"; /var/lib/openqa/tests/sle/tests/console/consoletest_finish_sym.pm- wait_still_screen(2); -- /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm: type_string 'I_added_this_profile'; /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm- wait_still_screen(1); -- /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm: type_string '/tmp'; /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm- wait_still_screen(1); -- /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm: type_string '/new_profile'; /var/lib/openqa/tests/sle/tests/console/yast2_apparmor.pm- wait_still_screen(1); -- /var/lib/openqa/tests/sle/tests/console/yast2_i.pm: type_string("$pkgname\n"); /var/lib/openqa/tests/sle/tests/console/yast2_i.pm- sleep 3; -- /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm: type_string 'super_ping'; /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm- wait_still_screen 1; -- /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm: type_string 'localhost'; /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm- wait_still_screen 1; -- /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm: type_string 'fake, useless, nobody should use it, use ping instead of it ;)'; /var/lib/openqa/tests/sle/tests/console/yast2_xinetd.pm- wait_still_screen 1; -- /var/lib/openqa/tests/sle/tests/installation/addon_products_yast2.pm: type_string $regcode; /var/lib/openqa/tests/sle/tests/installation/addon_products_yast2.pm- sleep 1; -- /var/lib/openqa/tests/sle/tests/installation/bootloader_uefi.pm: type_string "gfxmode=1024x768; terminal_output console; terminal_output gfxterm\n"; /var/lib/openqa/tests/sle/tests/installation/bootloader_uefi.pm- sleep 2; -- /var/lib/openqa/tests/sle/tests/installation/grub_test.pm: type_string "gfxmode=1024x768x32; gfxpayload=1024x768x32; terminal_output console; terminal_output gfxterm\n"; /var/lib/openqa/tests/sle/tests/installation/grub_test.pm- wait_still_screen; -- /var/lib/openqa/tests/sle/tests/installation/partitioning_splitusr.pm: type_string "1.5G"; /var/lib/openqa/tests/sle/tests/installation/partitioning_splitusr.pm- sleep 2; -- /var/lib/openqa/tests/sle/tests/installation/welcome.pm: type_string get_var('SCC_URL_VALID'); /var/lib/openqa/tests/sle/tests/installation/welcome.pm- wait_still_screen 2; -- /var/lib/openqa/tests/sle/tests/installation/win10_firstboot.pm: type_string 'security'; /var/lib/openqa/tests/sle/tests/installation/win10_firstboot.pm- wait_still_screen; -- /var/lib/openqa/tests/sle/tests/iscsi/iscsi_client.pm: type_string "iqn.2016-02.de.openqa"; /var/lib/openqa/tests/sle/tests/iscsi/iscsi_client.pm- wait_still_screen(2, 10); -- /var/lib/openqa/tests/sle/tests/iscsi/iscsi_server.pm: type_string 'iqn.openqa.de'; /var/lib/openqa/tests/sle/tests/iscsi/iscsi_server.pm- wait_still_screen(2, 10); -- /var/lib/openqa/tests/sle/tests/iscsi/iscsi_server.pm: type_string '132'; /var/lib/openqa/tests/sle/tests/iscsi/iscsi_server.pm- wait_still_screen(2, 10); -- /var/lib/openqa/tests/sle/tests/virt_autotest/proxymode_init_pxe_install.pm: type_string "autoyast=" . $autoyast, $type_speed; /var/lib/openqa/tests/sle/tests/virt_autotest/proxymode_init_pxe_install.pm- wait_still_screen 5; -- /var/lib/openqa/tests/sle/tests/virtualization/prepare_sle12.pm: type_string "exit\n"; /var/lib/openqa/tests/sle/tests/virtualization/prepare_sle12.pm- sleep 1; -- /var/lib/openqa/tests/sle/tests/x11/nis_client.pm: type_string 'nfs.openqa.suse.de'; /var/lib/openqa/tests/sle/tests/x11/nis_client.pm- wait_still_screen 4, 4; # blinking cursor -- /var/lib/openqa/tests/sle/tests/x11/nis_server.pm: type_string 'nfs.openqa.suse.de'; /var/lib/openqa/tests/sle/tests/x11/nis_server.pm- wait_still_screen 4, 4; # blinking cursor -- /var/lib/openqa/tests/sle/tests/x11/nis_server.pm: type_string 'rw,no_'; # rw,no_root_squash /var/lib/openqa/tests/sle/tests/x11/nis_server.pm- wait_still_screen 4, 4; # blinking cursor -- /var/lib/openqa/tests/sle/tests/x11/oocalc.pm: type_string "Hello World!\n"; /var/lib/openqa/tests/sle/tests/x11/oocalc.pm- sleep 2; -- /var/lib/openqa/tests/sle/tests/x11/oomath.pm: type_string "E %PHI = H %PHI\nnewline\n1 = 1"; /var/lib/openqa/tests/sle/tests/x11/oomath.pm- wait_still_screen(1); -- /var/lib/openqa/tests/sle/tests/x11/reboot_gnome.pm: type_string $testapi::password, max_interval => 5; /var/lib/openqa/tests/sle/tests/x11/reboot_gnome.pm- wait_still_screen; -- /var/lib/openqa/tests/sle/tests/x11/shutdown.pm: type_string "\t\t"; # select shutdown /var/lib/openqa/tests/sle/tests/x11/shutdown.pm- sleep 1; -- /var/lib/openqa/tests/sle/tests/x11/wireshark.pm: type_string "exit\n"; # logout /var/lib/openqa/tests/sle/tests/x11/wireshark.pm- wait_still_screen 2; -- /var/lib/openqa/tests/sle/tests/x11/wireshark.pm: type_string "wireshark-openQA-test\n"; /var/lib/openqa/tests/sle/tests/x11/wireshark.pm- wait_still_screen 1; /var/lib/openqa/tests/sle/tests/x11/wireshark.pm: type_string "\n"; # 2 times return for SP2 /var/lib/openqa/tests/sle/tests/x11/wireshark.pm- wait_still_screen 1; -- /var/lib/openqa/tests/sle/tests/x11/x11_login.pm: type_string $username. "\n"; /var/lib/openqa/tests/sle/tests/x11/x11_login.pm- sleep 1; -- /var/lib/openqa/tests/sle/tests/x11/yast2_lan_restart.pm: type_string '10.160.2.88'; /var/lib/openqa/tests/sle/tests/x11/yast2_lan_restart.pm- wait_still_screen 4, 4; # blinking cursor -- /var/lib/openqa/tests/sle/tests/x11/yast2_lan_restart.pm: type_string '10.0.2.2'; /var/lib/openqa/tests/sle/tests/x11/yast2_lan_restart.pm- wait_still_screen 4, 4; # blinking cursor ``` ## Acceptance criteria * **AC1:** Test code has been refactored in a way that the common tuples of type_string/send_key + wait_screen_change/wait_still_screen/sleep are covered implicitly, e.g. with one-line commands/helper function/new testapi options