aboutsummaryrefslogtreecommitdiff
path: root/tests/TESTonce
diff options
context:
space:
mode:
Diffstat (limited to 'tests/TESTonce')
-rwxr-xr-xtests/TESTonce46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/TESTonce b/tests/TESTonce
new file mode 100755
index 000000000000..40d544b04f44
--- /dev/null
+++ b/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;