4
0

opttest.pl 1012 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/perl -w
  2. use strict;
  3. use Test;
  4. use vars qw($dir $file $prog $idx $state $output %progs @dirs);
  5. my $tests = 0;
  6. @dirs = qw(plugins plugins-scripts);
  7. foreach $dir (@dirs) {
  8. opendir(DIR, $dir) || die "can't opendir $dir: $!";
  9. while ($file = readdir(DIR)) {
  10. if (-x "$dir/$file" && -f "$dir/$file") {
  11. $tests++;
  12. $progs{"$dir/$file"} = $file;
  13. }
  14. }
  15. closedir DIR;
  16. }
  17. plan tests => $tests;
  18. for $prog (keys %progs) {
  19. $state = 0;
  20. $file = `basename $prog`;
  21. $idx = 1;
  22. $output = `$prog -h 2>&1`;
  23. if($?) {$state++;print "$prog failed test $idx\n";}
  24. unless ($output =~ m/$progs{$prog}/ms) {
  25. $idx++; $state++;print "$output\n$prog failed test $idx\n";
  26. }
  27. $idx++;
  28. `$prog --help 2>&1 > /dev/null`;
  29. if($?) {$state++;print "$prog failed test $idx\n";}
  30. $idx++;
  31. `$prog -V 2>&1 > /dev/null`;
  32. if($?) {$state++;print "$prog failed test $idx\n";}
  33. $idx++;
  34. `$prog --version 2>&1 > /dev/null`;
  35. if($?) {$state++;print "$prog failed test $idx\n";}
  36. print "$prog ($idx tests) ";
  37. ok $state,0;
  38. }