svn commit: samba r22548 - in branches/SAMBA_4_0/source/script/tests: .

metze at samba.org metze at samba.org
Sat Apr 28 08:48:11 GMT 2007


Author: metze
Date: 2007-04-28 08:48:11 +0000 (Sat, 28 Apr 2007)
New Revision: 22548

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22548

Log:
- maintain a global array of exported envvars
- make it possible to specify the envname for make testenv:
  SELFTEST_TESTENV=member make testenv

metze
Modified:
   branches/SAMBA_4_0/source/script/tests/selftest.pl


Changeset:
Modified: branches/SAMBA_4_0/source/script/tests/selftest.pl
===================================================================
--- branches/SAMBA_4_0/source/script/tests/selftest.pl	2007-04-28 08:43:51 UTC (rev 22547)
+++ branches/SAMBA_4_0/source/script/tests/selftest.pl	2007-04-28 08:48:11 UTC (rev 22548)
@@ -675,6 +675,23 @@
 
 my %running_envs = ();
 
+my @exported_envvars = (
+	# domain stuff
+	"DOMAIN",
+	"REALM",
+
+	# server stuff
+	"SERVER",
+	"NETBIOSNAME",
+
+	# user stuff
+	"USERNAME",
+	"PASSWORD",
+
+	# misc stuff
+	"KRB5_CONFIG"
+);
+
 sub setup_env($)
 {
 	my ($envname) = @_;
@@ -693,9 +710,10 @@
 
 	return undef unless defined($testenv_vars);
 
+	SocketWrapper::set_default_iface(6);
 	write_clientconf($conffile, $testenv_vars);
-	foreach ("PASSWORD", "DOMAIN", "SERVER", "USERNAME", "NETBIOSNAME", 
-			 "KRB5_CONFIG", "REALM") {
+
+	foreach (@exported_envvars) {
 		if (defined($testenv_vars->{$_})) {
 			$ENV{$_} = $testenv_vars->{$_};
 		} else {
@@ -703,12 +721,23 @@
 		}
 	}
 
-	SocketWrapper::set_default_iface(6);
-
 	$running_envs{$envname} = $testenv_vars;
 	return $testenv_vars;
 }
 
+sub exported_envvars_str($)
+{
+	my ($testenv_vars) = @_;
+	my $out = "";
+
+	foreach (@exported_envvars) {
+		next unless defined($testenv_vars->{$_});
+		$out .= $_."=".$testenv_vars->{$_}."\n";
+	}
+
+	return $out;
+}
+
 sub getlog_env($)
 {
 	my ($envname) = @_;
@@ -739,19 +768,29 @@
 }
 
 if ($opt_testenv) {
-	my $testenv_vars = setup_env("dc");
+	my $testenv_name = $ENV{SELFTEST_TESTENV};
+	$testenv_name = "dc" unless defined($testenv_name);
+
+	my $testenv_vars = setup_env($testenv_name);
+
 	$ENV{PIDDIR} = $testenv_vars->{PIDDIR};
+
+	my $envvarstr = exported_envvars_str($testenv_vars);
+
 	my $term = ($ENV{TERM} or "xterm");
-	system("$term -e 'echo -e \"Welcome to the Samba4 Test environment
+	system("$term -e 'echo -e \"
+Welcome to the Samba4 Test environment '$testenv_name'
+
 This matches the client environment used in make test
 smbd is pid `cat \$PIDDIR/smbd.pid`
 
 Some useful environment variables:
 TORTURE_OPTIONS=\$TORTURE_OPTIONS
 CONFIGURATION=\$CONFIGURATION
-SERVER=\$SERVER
-NETBIOSNAME=\$NETBIOSNAME\" && bash'");
-	teardown_env("dc");
+
+$envvarstr
+\" && bash'");
+	teardown_env($testenv_name);
 } else {
 	foreach (@todo) {
 		$i++;



More information about the samba-cvs mailing list