r1519 - in trunk/varnish-tools/regress: . lib/Varnish
des at projects.linpro.no
des at projects.linpro.no
Thu Jun 14 19:07:46 CEST 2007
Author: des
Date: 2007-06-14 19:07:46 +0200 (Thu, 14 Jun 2007)
New Revision: 1519
Modified:
trunk/varnish-tools/regress/lib/Varnish/Test.pm
trunk/varnish-tools/regress/varnish-regress.pl
Log:
Add code to enumerate all available cases. If no case name is specified,
varnish-regress.pl will now run them all. Also simplify MAIN a bit.
Modified: trunk/varnish-tools/regress/lib/Varnish/Test.pm
===================================================================
--- trunk/varnish-tools/regress/lib/Varnish/Test.pm 2007-06-14 16:47:13 UTC (rev 1518)
+++ trunk/varnish-tools/regress/lib/Varnish/Test.pm 2007-06-14 17:07:46 UTC (rev 1519)
@@ -67,6 +67,7 @@
package Varnish::Test;
+use Varnish::Test::Case;
use Varnish::Test::Engine;
sub new($) {
@@ -93,6 +94,19 @@
}
}
+sub cases($) {
+ my ($self) = @_;
+
+ my $dir = $INC{'Varnish/Test/Case.pm'};
+ $dir =~ s/\.pm$/\//;
+ local *DIR;
+ opendir(DIR, $dir)
+ or die("$dir: $!\n");
+ my @cases = sort grep { s/^(\w+)\.pm$/$1/ } readdir(DIR);
+ closedir(DIR);
+ return @cases;
+}
+
sub run_case($$) {
my ($self, $name) = @_;
Modified: trunk/varnish-tools/regress/varnish-regress.pl
===================================================================
--- trunk/varnish-tools/regress/varnish-regress.pl 2007-06-14 16:47:13 UTC (rev 1518)
+++ trunk/varnish-tools/regress/varnish-regress.pl 2007-06-14 17:07:46 UTC (rev 1519)
@@ -32,20 +32,13 @@
use FindBin;
-BEGIN {
- $FindBin::Bin =~ /^(.*)$/;
- $FindBin::Bin = $1;
-}
-
use lib "$FindBin::Bin/lib";
use Getopt::Long;
use Varnish::Test;
-my $verbose = 0;
-my $help = 0;
-
-my $usage = <<"EOU";
+sub usage() {
+ print STDERR <<EOU;
USAGE:
$0 CASE1 [ CASE2 ... ]
@@ -58,38 +51,23 @@
$0 102
EOU
+ exit 1;
+}
MAIN:{
- $help = 1 unless GetOptions('help|h!' => \$help);
+ GetOptions('help|h!' => \&usage)
+ or usage();
- if (!$help and @ARGV == 0) {
- print STDERR "ERROR: Need at least one case name (or ticket number)\n\n";
- $help = 1;
- }
+ my $controller = new Varnish::Test;
- if ($help) {
- print STDERR $usage;
- exit 1;
+ if (!@ARGV) {
+ @ARGV = $controller->cases();
+ } else {
+ map { s/^(\d+)$/sprintf('Ticket%03d', $1)/e } @ARGV;
}
- my @casenames = ();
-
- foreach my $arg (@ARGV) {
- my $case;
-
- if ($arg =~ /^(\d+)$/) {
- push(@casenames, sprintf('Ticket%03d', $1));
- }
- else {
- $arg =~ /^(.*)$/;
- push(@casenames, $1);
- }
- }
-
- my $controller = new Varnish::Test;
-
$controller->start_engine();
- foreach my $casename (@casenames) {
+ foreach my $casename (@ARGV) {
$controller->run_case($casename);
}
$controller->stop_engine();
More information about the varnish-commit
mailing list