summaryrefslogtreecommitdiffstats
path: root/contrib/tcpdump/tests/TESTonce
blob: 40d544b04f4408d162a9b83b21242befb40a87ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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;
OpenPOWER on IntegriCloud