From bae1ebe4a8786390f7bac5f85280841666debf87 Mon Sep 17 00:00:00 2001 From: Oliver Kurz Date: Thu, 5 Jan 2017 17:32:41 +0100 Subject: [PATCH] Add assert_screen_change Variant of wait_screen_change but dying on no screen change. --- testapi.pm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/testapi.pm b/testapi.pm index a8139954456..25a41575802 100755 --- a/testapi.pm +++ b/testapi.pm @@ -57,7 +57,8 @@ our @EXPORT = qw($realname $username $password $serialdev %cmd %vars upload_asset upload_image data_url assert_shutdown parse_junit_log upload_logs - wait_idle wait_screen_change wait_still_screen wait_serial record_soft_failure + wait_idle wait_screen_change assert_screen_change wait_still_screen wait_serial + record_soft_failure become_root x11_start_program ensure_installed eject_cd power save_memory_dump save_storage_drives freeze_vm resume_vm @@ -396,6 +397,24 @@ sub wait_screen_change(&@) { return 0; } +=head2 assert_screen_change + + assert_screen_change { CODEREF [,$timeout] }; + +Run C with C but C if screen did not change +within timeout. Look into C for details. + +Example: + + assert_screen_change { send_key 'alt-f4' }; + +=cut + +sub assert_screen_change(&@) { + ::wait_screen_change(@_) or die 'assert_screen_change failed to detect a screen change'; +} + + =head2 wait_still_screen =for stopwords stilltime