selftest: simplify logic in setup_env
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Sat, 7 Dec 2019 10:22:45 +0000 (23:22 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 4 Feb 2020 05:13:40 +0000 (05:13 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/selftest.pl

index fa4297316d9c141db1373114de6e3ecd3f26ec5b..087fcefc502df33b6609e18889d10bd5830978e4 100755 (executable)
@@ -856,17 +856,19 @@ sub setup_env($$)
                }
        } else {
                $testenv_vars = $target->setup_env($envname, $prefix);
-               if (defined($testenv_vars) and $testenv_vars eq "UNKNOWN") {
-                   return $testenv_vars;
-               } elsif (defined($testenv_vars) && not defined($testenv_vars->{target})) {
-                       $testenv_vars->{target} = $target;
-               }
                if (not defined($testenv_vars)) {
+                       my $msg = "$opt_target can't start up known environment '$envname'";
                        if ($opt_one) {
-                               die("$opt_target can't start up known environment '$envname'");
-                       } else {
-                               warn("$opt_target can't start up known environment '$envname'");
+                               die($msg);
                        }
+                       warn $msg;
+                       return;
+               }
+               if (ref $testenv_vars ne "HASH") {
+                       return $testenv_vars;
+               }
+               if (defined($testenv_vars->{target})) {
+                       $testenv_vars->{target} = $target;
                }
        }