#!/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() { #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;