diff options
Diffstat (limited to 'tests/TESTonce')
-rwxr-xr-x | tests/TESTonce | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/TESTonce b/tests/TESTonce new file mode 100755 index 00000000..987dacb9 --- /dev/null +++ b/tests/TESTonce @@ -0,0 +1,43 @@ +#!/usr/bin/perl + +system("mkdir -p NEW DIFF"); + +if(@ARGV == 1) { + open(TESTLIST, "TESTLIST") || die "can not open TESTLIST: $!\n"; + $wanted = $ARGV[0]; + #print "Searching for test case $wanted\n"; + while(<TESTLIST>) { + #print "Processing $_\n"; + next unless (/^$wanted/); + + chop; + ($name,$input,$output,$options)=split(/\s+/,$_, 4); + last; + } + close(TESTLIST); + + die "Can not find test $wanted\n" unless defined($input); + +} elsif(@ARGV == 4) { + $name=$ARGV[0]; + $input=$ARGV[1]; + $output=$ARGV[2]; + $options=$ARGV[3]; +} else { + print "Usage: TESTonce name [input output options]\n"; + exit 20; +} + +print "Running $name. \n"; +print " Input: $input, OUTPUT: $output, OPTIONS: $options\n"; + +if (! -f $input) { + ($puu = $input) =~ s/\.pcap/\.puu/; + if( -f $puu) { + print "Uudecoding $puu to make $input\n"; + system("uudecode $puu"); + } +} + +print " "; +exec("../tcpdump -n -r $input $options | tee NEW/$output | diff -w - $output >DIFF/$output.diff"); |