X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/2c2fd02ec2427436e9ff0b9c580dd919fcb9c4c9..2c56cfb6f9e9fa6c85cb3eddceb036200697f835:/continuous/gw-setup/run.pl diff --git a/continuous/gw-setup/run.pl b/continuous/gw-setup/run.pl index 97f9939..713f044 100755 --- a/continuous/gw-setup/run.pl +++ b/continuous/gw-setup/run.pl @@ -11,29 +11,29 @@ system("cat > $S99; chmod +x $S99") unless -t STDIN; # Boot the gateway # die("No boot command") if ($#ARGV eq -1); my $bootcmd = scalar @ARGV ? "'".join("' '", @ARGV)."'" : "$FindBin::Bin/boot"; -$exp = Expect->spawn($bootcmd); +$exp = Expect->spawn($bootcmd) or die "Cannot spawn $bootcmd: $!"; $exp->expect(120, 'Welcome to Buildroot', 'UGW started', '-re', 't...a...s...k...s... ...s...t...a...r...t...e...d') # RTEMS has bug - it sends 4 characters instead of just one - or die "Cannot spawn $bootcmd: $!"; + or die("Boot failed"); # Measure latencies -my $latester=<<'EOF'; +my $latester = ' set -e -rm -f tmp-stat.txt echo "Starting latester" -sudo /sbin/ifdown eth0 -sudo ~/bin/latester -d can0 -d can1 -d can2 -c 3200 -q --oneattime -n tmp -r=$? -sudo /sbin/ifup eth0 -set -e +rm -f tmp-stat.txt +sudo /sbin/ifdown --no-scripts eth0 +r=0 +sudo ~/bin/latester -d can0 -d can1 -d can2 -c 3200 -q --oneattime -n tmp || r=$? +sudo /sbin/ifup --no-scripts eth0 source tmp-stat.txt -for i in sent lost enobufs $(seq -f percentile%g 0 10 100); do keyval="$keyval $i=$((i))"; done +unset keyval +for i in sent lost enobufs out_of_range_below out_of_range_above $(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 +if [ $(bc -l <<< "$avg == 0") -eq 1 ]; then exit 1; fi exit $r -EOF +'; my $status = system((qw(ssh -T glab), $latester)); $exp->close();