selftest: fix default option name
[metze/samba/wip.git] / selftest / selftest.pl
index d47261da7942c3455984c1c74d6f402c7ec8765e..cf25fa149a1a6e0fa0ac2a71fbd5599fc9d74410 100755 (executable)
@@ -457,7 +457,7 @@ if ($opt_target eq "samba4") {
        if ($opt_socket_wrapper and `$bindir/smbd -b | grep SOCKET_WRAPPER` eq "") {
                die("You must include --enable-socket-wrapper when compiling Samba in order to execute 'make test'.  Exiting....");
        }
-       $testenv_default = "dc";
+       $testenv_default = "member";
        require target::Samba3;
        $target = new Samba3($bindir);
 } elsif ($opt_target eq "win") {
@@ -572,15 +572,6 @@ sub write_clientconf($$)
        if (defined($vars->{REALM})) {
                print CF "\trealm = $vars->{REALM}\n";
        }
-       if (defined($vars->{NCALRPCDIR})) {
-               print CF "\tncalrpc dir = $vars->{NCALRPCDIR}\n";
-       }
-       if (defined($vars->{PIDDIR})) {
-               print CF "\tpid directory = $vars->{PIDDIR}\n";
-       }
-       if (defined($vars->{WINBINDD_SOCKET_DIR})) {
-               print CF "\twinbindd socket directory = $vars->{WINBINDD_SOCKET_DIR}\n";
-       }
        if ($opt_socket_wrapper) {
                print CF "\tinterfaces = $interfaces\n";
        }
@@ -705,6 +696,17 @@ $| = 1;
 
 my %running_envs = ();
 
+sub get_running_env($)
+{
+       my ($name) = @_;
+
+       my $envname = $name;
+
+       $envname =~ s/:.*//;
+
+       return $running_envs{$envname};
+}
+
 my @exported_envvars = (
        # domain stuff
        "DOMAIN",
@@ -742,13 +744,23 @@ $SIG{INT} = $SIG{QUIT} = $SIG{TERM} = sub {
 
 sub setup_env($)
 {
-       my ($envname) = @_;
+       my ($name) = @_;
+
+       my $testenv_vars = undef;
+
+       my $envname = $name;
+       my $option = $name;
+
+       $envname =~ s/:.*//;
+       $option =~ s/^[^:]*//;
+       $option =~ s/^://;
+
+       $option = "client" if $option eq "";
 
-       my $testenv_vars;
        if ($envname eq "none") {
-               $testenv_vars = {};
-       } elsif (defined($running_envs{$envname})) {
-               $testenv_vars = $running_envs{$envname};
+               $testenv_vars = \{};
+       } elsif (defined(get_running_env($envname))) {
+               $testenv_vars = get_running_env($envname);
                if (not $target->check_env($testenv_vars)) {
                        $testenv_vars = undef;
                }
@@ -760,8 +772,16 @@ sub setup_env($)
 
        $running_envs{$envname} = $testenv_vars;
 
-       SocketWrapper::set_default_iface(6);
-       write_clientconf($conffile, $testenv_vars);
+       if ($option eq "local") {
+               SocketWrapper::set_default_iface($testenv_vars->{SOCKET_WRAPPER_DEFAULT_IFACE});
+               $ENV{SMB_CONF_PATH} = $testenv_vars->{SERVERCONFFILE};
+       } elsif ($option eq "client") {
+               SocketWrapper::set_default_iface(6);
+               write_clientconf($conffile, $testenv_vars);
+               $ENV{SMB_CONF_PATH} = $conffile;
+       } else {
+               die("Unknown option[$option] for envname[$envname]");
+       }
 
        foreach (@exported_envvars) {
                if (defined($testenv_vars->{$_})) {
@@ -791,21 +811,21 @@ sub getlog_env($)
 {
        my ($envname) = @_;
        return "" if ($envname eq "none");
-       return $target->getlog_env($running_envs{$envname});
+       return $target->getlog_env(get_running_env($envname));
 }
 
 sub check_env($)
 {
        my ($envname) = @_;
        return 1 if ($envname eq "none");
-       return $target->check_env($running_envs{$envname});
+       return $target->check_env(get_running_env($envname));
 }
 
 sub teardown_env($)
 {
        my ($envname) = @_;
        return if ($envname eq "none");
-       $target->teardown_env($running_envs{$envname});
+       $target->teardown_env(get_running_env($envname));
        delete $running_envs{$envname};
 }