waf: added top level build rules
[samba.git] / selftest / selftest.pl
index d8640e0d1ad39d53dc38462990c3c7227520c17e..1da13318cddd653237b9bb9e14ae42d7eefcd063 100755 (executable)
@@ -666,6 +666,7 @@ if ($#testlists == -1) {
 
 $ENV{SELFTEST_PREFIX} = "$prefix_abs";
 $ENV{SELFTEST_TMPDIR} = "$tmpdir_abs";
+$ENV{TEST_DATA_PREFIX} = "$tmpdir_abs";
 if ($opt_socket_wrapper) {
        $ENV{SELFTEST_INTERFACES} = $interfaces;
 } else {
@@ -818,6 +819,7 @@ my @exported_envvars = (
        "KRB5_CONFIG",
        "WINBINDD_SOCKET_DIR",
        "WINBINDD_PRIV_PIPE_DIR",
+       "NMBD_SOCKET_DIR",
        "LOCAL_PATH"
 );
 
@@ -956,9 +958,20 @@ $envvarstr
                        next;
                }
 
-               $cmd =~ s/\$LISTOPT/--list/;
+               $cmd =~ s/\$LISTOPT/--list/g;
 
                system($cmd);
+
+               if ($? == -1) {
+                       die("Unable to run $cmd: $!");
+               } elsif ($? & 127) {
+                       die(snprintf("%s died with signal %d, %s coredump\n", $cmd, ($? & 127),  ($? & 128) ? 'with' : 'without'));
+               }
+
+               my $exitcode = $? >> 8;
+               if ($exitcode != 0) {
+                       die("$cmd exited with exit code $exitcode");
+               }
        }
 } else {
        foreach (@todo) {