selftest: Use scalar variable for new daemon_ctx hashmap
authorTim Beale <timbeale@catalyst.net.nz>
Thu, 23 May 2019 04:58:20 +0000 (16:58 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 24 May 2019 03:19:18 +0000 (03:19 +0000)
The selftest code typically stores hashmaps as scalar variables (i.e.
it only ever uses references to hashmaps). So much so that using a regular
hashmap (and passing it by reference via \%daemon_ctx) looks out of
place.

Using the hashmap directly made more sense when it was only being used
locally, but now the hashmap is being passed by reference into a function
anyway, so storing it as a scalar doesn't make much difference.

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/target/Samba3.pm
selftest/target/Samba4.pm

index 4abd5177cba21334cdb03727c090707b5db5d01f..5e28253dc4e2479152bc921188b9ce3b87efa118 100755 (executable)
@@ -1276,17 +1276,17 @@ sub check_or_start($$$$$) {
        delete $nmbd_envs->{RESOLV_WRAPPER_HOSTS};
 
        # fork and exec() nmbd in the child process
-       my %daemon_ctx = (
+       my $daemon_ctx = {
                NAME => "nmbd",
                BINARY_PATH => $binary,
                FULL_CMD => [ @full_cmd ],
                LOG_FILE => $env_vars->{NMBD_TEST_LOG},
                ENV_VARS => $nmbd_envs,
-       );
+       };
        if ($nmbd ne "yes") {
-               $daemon_ctx{SKIP_DAEMON} = 1;
+               $daemon_ctx->{SKIP_DAEMON} = 1;
        }
-       my $pid = Samba::fork_and_exec($self, $env_vars, \%daemon_ctx, $STDIN_READER);
+       my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
        $env_vars->{NMBD_TL_PID} = $pid;
        write_pid($env_vars, "nmbd", $pid);
@@ -1300,16 +1300,16 @@ sub check_or_start($$$$$) {
        }
 
        # fork and exec() winbindd in the child process
-       %daemon_ctx = (
+       $daemon_ctx = {
                NAME => "winbindd",
                BINARY_PATH => $binary,
                FULL_CMD => [ @full_cmd ],
                LOG_FILE => $env_vars->{WINBINDD_TEST_LOG},
-       );
+       };
        if ($winbindd ne "yes") {
-               $daemon_ctx{SKIP_DAEMON} = 1;
+               $daemon_ctx->{SKIP_DAEMON} = 1;
        }
-       my $pid = Samba::fork_and_exec($self, $env_vars, \%daemon_ctx, $STDIN_READER);
+       my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
        $env_vars->{WINBINDD_TL_PID} = $pid;
        write_pid($env_vars, "winbindd", $pid);
@@ -1320,17 +1320,17 @@ sub check_or_start($$$$$) {
                                         $ENV{SMBD_DONT_LOG_STDOUT});
 
        # fork and exec() smbd in the child process
-       %daemon_ctx = (
+       $daemon_ctx = {
                NAME => "smbd",
                BINARY_PATH => $binary,
                FULL_CMD => [ @full_cmd ],
                LOG_FILE => $env_vars->{SMBD_TEST_LOG},
-       );
+       };
        if ($smbd ne "yes") {
-               $daemon_ctx{SKIP_DAEMON} = 1;
+               $daemon_ctx->{SKIP_DAEMON} = 1;
        }
 
-       my $pid = Samba::fork_and_exec($self, $env_vars, \%daemon_ctx, $STDIN_READER);
+       my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
        $env_vars->{SMBD_TL_PID} = $pid;
        write_pid($env_vars, "smbd", $pid);
index 0593a21c3538d18303f501f104719d0cb1716a86..56ca8bdd8092954cdcd89a92c7fcb0eca33cc75b 100755 (executable)
@@ -142,15 +142,15 @@ sub check_or_start($$$)
        }
 
        # fork a child process and exec() samba
-       my %daemon_ctx = (
+       my $daemon_ctx = {
                NAME => "samba",
                BINARY_PATH => $binary,
                FULL_CMD => [ @full_cmd ],
                LOG_FILE => $env_vars->{SAMBA_TEST_LOG},
                TEE_STDOUT => 1,
                ENV_VARS => $samba_envs,
-       );
-       my $pid = Samba::fork_and_exec($self, $env_vars, \%daemon_ctx, $STDIN_READER);
+       };
+       my $pid = Samba::fork_and_exec($self, $env_vars, $daemon_ctx, $STDIN_READER);
 
        $env_vars->{SAMBA_PID} = $pid;
 
@@ -398,7 +398,7 @@ sub setup_dns_hub_internal($$$)
        push (@args, Samba::realm_to_ip_mappings());
        my @full_cmd = (@preargs, $binary, @args);
 
-       my %daemon_ctx = (
+       my $daemon_ctx = {
                NAME => "dnshub",
                BINARY_PATH => $binary,
                FULL_CMD => [ @full_cmd ],
@@ -406,14 +406,14 @@ sub setup_dns_hub_internal($$$)
                TEE_STDOUT => 1,
                PCAP_FILE => "$ENV{SOCKET_WRAPPER_PCAP_DIR}/env-$hostname$.pcap",
                ENV_VARS => {},
-       );
+       };
 
        # use a pipe for stdin in the child processes. This allows
        # those processes to monitor the pipe for EOF to ensure they
        # exit when the test script exits
        pipe($STDIN_READER, $env->{STDIN_PIPE});
 
-       my $pid = Samba::fork_and_exec($self, $env, \%daemon_ctx, $STDIN_READER);
+       my $pid = Samba::fork_and_exec($self, $env, $daemon_ctx, $STDIN_READER);
 
        $env->{SAMBA_PID} = $pid;
        $env->{KRB5_CONFIG} = "$prefix_abs/no_krb5.conf";