blob: c1ab9d0801a6b53498cdeb15111a9e393d304a9b [file] [log] [blame]
Harald Weltee0571462018-02-14 15:42:14 +01001#!/bin/sh
2
Maxe5214452019-03-14 18:15:27 +01003PIDFILE=/tmp/dumper.pid
Pau Espin Pedroldada4c52018-02-15 16:07:23 +01004TESTCASE=$1
Neels Hofmeyrdadde172018-06-18 06:18:34 +02005VERDICT="$2"
6
Neels Hofmeyrced8acf2019-02-26 05:03:22 +01007date
8
Neels Hofmeyrdadde172018-06-18 06:18:34 +02009if [ x"$VERDICT" = x"pass" ]; then
10 echo "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m"
11else
12 echo "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m"
13fi
14echo
Pau Espin Pedroldada4c52018-02-15 16:07:23 +010015
16if [ "z$TTCN3_PCAP_PATH" = "z" ]; then
17 TTCN3_PCAP_PATH=/tmp
18fi
19
Maxe5214452019-03-14 18:15:27 +010020# Wait for up to 2 seconds if we keep receiving traffinc from packet dumper,
Pau Espin Pedroldada4c52018-02-15 16:07:23 +010021# otherwise we might lose last packets from test.
22i=0
23prev_count=-1
24count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap")
25while [ $count -gt $prev_count ] && [ $i -lt 2 ]
26do
Maxe5214452019-03-14 18:15:27 +010027 echo "Waiting for packet dumper to finish... $i (prev_count=$prev_count, count=$count)"
Pau Espin Pedroldada4c52018-02-15 16:07:23 +010028 sleep 1
29 prev_count=$count
30 count=$(stat --format="%s" "$TTCN3_PCAP_PATH/$TESTCASE.pcap")
31 i=$((i+1))
32done
Harald Weltee0571462018-02-14 15:42:14 +010033
34if [ -e $PIDFILE ]; then
Max81487c82019-03-18 14:18:31 +010035 DUMPER="$(ps -q "$(cat "$PIDFILE")" -o comm=)"
36 if [ "$DUMPER" != "sudo" ]; then
Harald Weltee0571462018-02-14 15:42:14 +010037 kill "$(cat "$PIDFILE")"
38 else
Maxe5214452019-03-14 18:15:27 +010039 # NOTE: This requires you to be root or something like
40 # "laforge ALL=NOPASSWD: /usr/sbin/tcpdump, /bin/kill" in your sudoers file
Harald Weltee0571462018-02-14 15:42:14 +010041 sudo kill "$(cat "$PIDFILE")"
42 fi
43 rm $PIDFILE
44fi