summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/main.mk4
-rwxr-xr-xsource4/script/tests/selftest.pl48
-rwxr-xr-xsource4/script/tests/testenv.pl42
3 files changed, 34 insertions, 60 deletions
diff --git a/source4/main.mk b/source4/main.mk
index 7807b5f52f..87faa326a7 100644
--- a/source4/main.mk
+++ b/source4/main.mk
@@ -304,7 +304,7 @@ quicktest: all
$(SELFTEST) --quick --socket-wrapper --immediate $(TESTS)
testenv: all libraries
- $(srcdir)/script/tests/testenv.pl
+ $(SELFTEST) --socket-wrapper --testenv
valgrindtest: valgrindtest-quick
@@ -321,7 +321,7 @@ valgrindtest-all: all libraries
valgrindtest-env: all libraries
SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
- $(srcdir)/script/tests/testenv.pl
+ $(SELFTEST) --socket-wrapper --testenv
gdbtest: gdbtest-quick
diff --git a/source4/script/tests/selftest.pl b/source4/script/tests/selftest.pl
index c62b073afc..a9a6ca4851 100755
--- a/source4/script/tests/selftest.pl
+++ b/source4/script/tests/selftest.pl
@@ -130,6 +130,7 @@ my $opt_immediate = 0;
my $opt_expected_failures = undef;
my $opt_skip = undef;
my $opt_verbose = 0;
+my $opt_testenv = 0;
my $srcdir = ".";
my $builddir = ".";
@@ -327,7 +328,8 @@ my $result = GetOptions (
'skip=s' => \$opt_skip,
'srcdir=s' => \$srcdir,
'builddir=s' => \$builddir,
- 'verbose' => \$opt_verbose
+ 'verbose' => \$opt_verbose,
+ 'testenv' => \$opt_testenv
);
exit(1) if (not $result);
@@ -515,22 +517,36 @@ $| = 1;
delete $ENV{DOMAIN};
-foreach (@todo) {
- $i++;
- my $cmd = $$_[1];
- $cmd =~ s/([\(\)])/\\$1/g;
- my $name = $$_[0];
-
- if (skip($name)) {
- print "SKIPPED: $name\n";
- $statistics->{SUITES_SKIPPED}++;
- next;
- }
+if ($opt_testenv) {
+ my $term = $ENV{TERM} or "xterm";
+ system("$term -e 'echo -e \"Welcome to the Samba4 Test environment
+This matches the client environment used in make test
+smbd is pid `cat \$PIDDIR/smbd.pid`
+
+Some useful environment variables:
+AUTH=\$AUTH
+TORTURE_OPTIONS=\$TORTURE_OPTIONS
+CONFIGURATION=\$CONFIGURATION
+SERVER=\$SERVER
+NETBIOSNAME=\$NETBIOSNAME\" && bash'");
+} else {
+ foreach (@todo) {
+ $i++;
+ my $cmd = $$_[1];
+ $cmd =~ s/([\(\)])/\\$1/g;
+ my $name = $$_[0];
+
+ if (skip($name)) {
+ print "SKIPPED: $name\n";
+ $statistics->{SUITES_SKIPPED}++;
+ next;
+ }
- if ($from_build_farm) {
- run_test_buildfarm($name, $cmd, $i, $suitestotal);
- } else {
- run_test_plain($name, $cmd, $i, $suitestotal);
+ if ($from_build_farm) {
+ run_test_buildfarm($name, $cmd, $i, $suitestotal);
+ } else {
+ run_test_plain($name, $cmd, $i, $suitestotal);
+ }
}
}
diff --git a/source4/script/tests/testenv.pl b/source4/script/tests/testenv.pl
deleted file mode 100755
index 412fc71dab..0000000000
--- a/source4/script/tests/testenv.pl
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/perl
-
-use FindBin qw($RealBin);
-use lib "$RealBin";
-
-use Samba4;
-use SocketWrapper;
-
-my $vars = Samba4::provision("st");
-foreach (keys %$vars) { $ENV{$_} = $vars->{$_}; }
-SocketWrapper::set_default_iface(1);
-my $test_fifo = "st/smb_test.fifo";
-my $socket_wrapper_dir = SocketWrapper::setup_dir("$vars->{PREFIX_ABS}/w");
-Samba4::smbd_check_or_start("bin", $test_fifo, $ENV{SMBD_TEST_LOG}, $socket_wrapper_dir, undef, $ENV{CONFFILE});
-SocketWrapper::set_default_iface(6);
-my $interfaces = join(',', ("127.0.0.6/8",
- "127.0.0.7/8",
- "127.0.0.8/8",
- "127.0.0.9/8",
- "127.0.0.10/8",
- "127.0.0.11/8"));
-
-push (@torture_options, "--option=interfaces=$interfaces",
- $ENV{CONFIGURATION},
- "--target=samba4");
-
-$ENV{TORTURE_OPTIONS} = join(' ', @torture_options);
-
-open(DATA, ">$test_fifo");
-Samba4::wait_for_start();
-system("xterm -e 'echo -e \"Welcome to the Samba4 Test environment
-This matches the client environment used in make test
-smbd is pid `cat \$PIDDIR/smbd.pid`
-
-Some useful environment variables:
-AUTH=\$AUTH
-TORTURE_OPTIONS=\$TORTURE_OPTIONS
-CONFIGURATION=\$CONFIGURATION
-SERVER=\$SERVER
-NETBIOSNAME=\$NETBIOSNAME\" && bash'");
-close(DATA);
-