From 060ccf1051e259d1ce180498bd9f32a20da4bbc9 Mon Sep 17 00:00:00 2001 From: Ben Greear Date: Wed, 6 May 2020 08:00:45 -0700 Subject: [PATCH] gui-cmd: Retry starting automated test if system is currently busy. --- lf_gui_cmd.pl | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/lf_gui_cmd.pl b/lf_gui_cmd.pl index 5079ed81..f2172818 100755 --- a/lf_gui_cmd.pl +++ b/lf_gui_cmd.pl @@ -125,20 +125,36 @@ if ($scenario ne "") { } if ($ttype ne "") { - print doCmd("cv create '$ttype' '$tname'"); + # Try several times in case system is currently busy cleaning up or similar. + my $i; + my $rslt; + for ($i = 0; $i<60; $i++) { + $rslt = doCmd("cv create '$ttype' '$tname'"); + print $rslt; + if ($rslt =~ /BUSY/) { + sleep(1); + } + else { + last; + } + } if ($tconfig ne "") { print doCmd("cv load '$tname' '$tconfig'"); } print doCmd("cv click '$tname' 'Auto Save Report'"); - my $i; for ($i = 0; $i<@modifiers_key; $i++) { my $k = $modifiers_key[$i]; my $v = $modifiers_val[$i]; print doCmd("cv set '$tname' '$k' '$v'"); } - print doCmd("cv click '$tname' 'Start'"); + $rslt = doCmd("cv click '$tname' 'Start'"); + print $rslt; + if ($rslt =~ /Could not find instance/) { + exit(1); + } + while (1) { my $rslt = doCmd("cv get '$tname' 'Report Location:'"); #print "Result-:$rslt:-\n";