Refactors "dummyrun" flag as "dryrun" with an approach similar to the one used
authorandre <andre@openbsd.org>
Mon, 12 May 2014 21:30:42 +0000 (21:30 +0000)
committerandre <andre@openbsd.org>
Mon, 12 May 2014 21:30:42 +0000 (21:30 +0000)
for client/server processes checks through $self->{down} state control
variable, while here, do not instantiate a client when noclient is defined,
reflecting server object instantiation behaviour.

ok bluhm

regress/usr.sbin/relayd/Proc.pm
regress/usr.sbin/relayd/Relayd.pm
regress/usr.sbin/relayd/args-http-change-path.pl
regress/usr.sbin/relayd/args-http-mark-marked.pl
regress/usr.sbin/relayd/relayd.pl

index bb6ce22..d4e2386 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Proc.pm,v 1.6 2014/05/09 11:49:26 andre Exp $
+#      $OpenBSD: Proc.pm,v 1.7 2014/05/12 21:30:42 andre Exp $
 
 # Copyright (c) 2010-2013 Alexander Bluhm <bluhm@openbsd.org>
 #
@@ -138,7 +138,7 @@ sub loggrep {
 
        do {
                my($kid, $status, $code) = $self->wait(WNOHANG);
-               if ($kid > 0 && $status != 0 && not $self->{dummyrun}) {
+               if ($kid > 0 && $status != 0 && !$self->{dryrun}) {
                        # child terminated with failure
                        die ref($self), " child status: $status $code";
                }
index 3ee9644..d446912 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Relayd.pm,v 1.8 2014/05/09 11:49:26 andre Exp $
+#      $OpenBSD: Relayd.pm,v 1.9 2014/05/12 21:30:42 andre Exp $
 
 # Copyright (c) 2010-2012 Alexander Bluhm <bluhm@openbsd.org>
 #
@@ -27,7 +27,7 @@ sub new {
        my %args = @_;
        $args{logfile} ||= "relayd.log";
        $args{up} ||= "Started";
-       $args{down} ||= "parent terminating";
+       $args{down} ||= $args{dryrun} ? "no actions" : "parent terminating";
        $args{func} = sub { Carp::confess "$class func may not be called" };
        $args{conffile} ||= "relayd.conf";
        $args{forward}
@@ -96,10 +96,10 @@ sub new {
 sub up {
        my $self = Proc::up(shift, @_);
        my $timeout = shift || 10;
-       my $dummyrun = $self->{dummyrun} || 0;
-       my $lsock = $self->loggrep(qr/relay_launch: /, $timeout)
-           or croak ref($self), " no relay_launch in $self->{logfile} ".
-               "after $timeout seconds" unless $dummyrun;
+       my $regex = $self->{dryrun} || "relay_launch: ";
+       my $lsock = $self->loggrep(qr/$regex/, $timeout)
+           or croak ref($self), " no $regex in $self->{logfile} ".
+               "after $timeout seconds";
        return $self;
 }
 
index 780eda6..8b1d882 100644 (file)
@@ -13,7 +13,7 @@ our %args = (
        loggrep => { 
                qr/relayd.conf\:.*action only supported for headers/ => 1
        },
-       dummyrun => 1,
+       dryrun => "relayd.conf",
     },
     server => {
        noserver => 1,
index 6720dd7..971e776 100644 (file)
@@ -11,7 +11,7 @@ our %args = (
            'request path mark "*" with 99 marked 55',
        ],
        loggrep => { "either mark or marked" => 1 },
-       dummyrun => 1,
+       dryrun => "relayd.conf",
     },
     server => {
        noserver => 1,
index 8231ce8..de1874b 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-#      $OpenBSD: relayd.pl,v 1.9 2014/05/09 11:49:26 andre Exp $
+#      $OpenBSD: relayd.pl,v 1.10 2014/05/12 21:30:42 andre Exp $
 
 # Copyright (c) 2010-2013 Alexander Bluhm <bluhm@openbsd.org>
 #
@@ -63,7 +63,7 @@ my $c = Client->new(
     connectaddr         => "127.0.0.1",
     connectport         => $rport,
     %{$args{client}},
-);
+) unless $args{client}{noclient};
 
 $s->run unless $args{server}{noserver};
 $r->run;
@@ -74,6 +74,6 @@ $s->up unless $args{server}{noserver};
 $c->down unless $args{client}{noclient};
 $s->down unless $args{server}{noserver};
 $r->kill_child;
-$r->down unless $args{relayd}{dummyrun};
+$r->down;
 
 check_logs($c, $r, $s, %args);