diff options
Diffstat (limited to 'contrib/tcpdump/tests/TESTonce')
-rwxr-xr-x | contrib/tcpdump/tests/TESTonce | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/tcpdump/tests/TESTonce b/contrib/tcpdump/tests/TESTonce new file mode 100755 index 0000000..40d544b --- /dev/null +++ b/contrib/tcpdump/tests/TESTonce @@ -0,0 +1,46 @@ +#!/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"); +@cores = glob("core*"); +exit 10 if (@cores > 0); +exit 0; |