Project

General

Profile

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

Back