]> rtime.felk.cvut.cz Git - frescor/fwp.git/blobdiff - fwp/tests/timing/fwp-timing.pl
Almost final version of fwp-timing and its running script
[frescor/fwp.git] / fwp / tests / timing / fwp-timing.pl
diff --git a/fwp/tests/timing/fwp-timing.pl b/fwp/tests/timing/fwp-timing.pl
new file mode 100755 (executable)
index 0000000..36afde5
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl -w
+
+$omk_rules_dir=qx'
+old_pwd=""
+while [ ! -e Makefile.rules ]; do
+       if [ "$old_pwd" = `pwd`  ]; then 
+              echo "Makefile.rules has not been found in this or parent directory" >&2; exit 1; 
+       else
+              old_pwd=`pwd`; 
+              cd -L .. 2>/dev/null; 
+       fi; 
+done;
+pwd';
+chomp $omk_rules_dir;
+
+sub catch_zap {
+    my $signame = shift;
+    die "Somebody sent me a SIG$signame";
+}
+$SIG{INT} = \&catch_zap;
+$SIG{TERM} = \&catch_zap;
+
+@srcdst = (
+    "-s 192.168.1.10 -d 192.168.1.11",
+    "-s 192.168.1.11 -d 192.168.1.12",
+    "-s 192.168.1.12 -d 192.168.1.13",
+    "-s 192.168.1.13 -d 192.168.1.10",
+);
+
+$max=10;
+$max=$ARGV[0] if (scalar(@ARGV));
+
+for($i=1; $i<=$max; $i++) {
+    $|++;                      # Autoflush
+    printf "%3d: ", $i;
+    $|--;
+    my @streams = ();
+    for ($j=0; $j<@srcdst; $j++) {
+       use integer;
+       my $n = ($i-1) / @srcdst + ((($j % @srcdst) <= (($i-1) % @srcdst))  ? 1 : 0);
+       $streams[$j] = $srcdst[$j]." -n $n" if ($n);
+    }
+    $cmd="$omk_rules_dir/_compiled/bin-tests/fwp-timing -l 2 -q -c 10 ".join(" -/ ", @streams);
+    #print "$cmd\n";
+    $out=`$cmd`;
+    print $out;
+}
+