my $ready;
while (<$boot>){
- last if ($ready = /Welcome to Buildroot/ || /UGW started/);
+ last if ($ready = m/Welcome to Buildroot/ ||
+ m/UGW started/ ||
+ m/t...a...s...k...s... ...s...t...a...r...t...e...d/); # RTEMS has bug - it sends 4 characters instead of just one
}
die "Boot failed" unless $ready;
source tmp-stat.txt
for i in sent lost enobufs $(seq -f percentile%g 0 10 100); do keyval="$keyval $i=$((i))"; done
echo "! PERF: gw_latency $avg µs $keyval ok"
+test $avg -eq 0 || exit 1
exit $r
EOF
sub run_boot()
{
# die("No boot command") if ($#ARGV eq -1);
- my $bootcmd = "'".join("' '", @ARGV)."'";
-
- $bootcmd ||= "$FindBin::Bin/boot";
+ my $bootcmd = scalar @ARGV ? "'".join("' '", @ARGV)."'" : "$FindBin::Bin/boot";
$SIG{INT} = sub { kill_boot(); exit; };
+ $SIG{HUP} = sub { kill_boot(); exit; };
+ $SIG{ALRM} = sub { kill_boot(); exit; };
+ $SIG{TERM} = sub { kill_boot(); exit; };
+ $SIG{QUIT} = sub { kill_boot(); exit; };
pipe($boot, $wh) || die("pipe: $!");
my $pid = fork() // die("fork: $!");