Rev 11880: Keep a clearer track of what ldap implementation to use. in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Mon Apr 16 23:30:53 GMT 2007


At file:///home/jelmer/bzr.samba/SAMBA_4_0/

------------------------------------------------------------
revno: 11880
revision-id: jelmer at samba.org-20070416233038-0aom9b19fkyfq6j7
parent: jelmer at samba.org-20070416231308-z66suic84m4moolu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Tue 2007-04-17 01:30:38 +0200
message:
  Keep a clearer track of what ldap implementation to use.
modified:
  source/script/tests/Samba4.pm  svn-v2:21707 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fscript%2ftests%2fSamba4.pm
  source/script/tests/selftest.pl svn-v2:20693 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fscript%2ftests%2fselftest.pl
=== modified file 'source/script/tests/Samba4.pm'
--- a/source/script/tests/Samba4.pm	2007-04-16 23:13:08 +0000
+++ b/source/script/tests/Samba4.pm	2007-04-16 23:30:38 +0000
@@ -11,7 +11,12 @@
 
 sub new($$$$) {
 	my ($classname, $bindir, $ldap, $setupdir) = @_;
-	my $self = { vars => {}, ldap => $ldap, bindir => $bindir, setupdir => $setupdir };
+	my $self = { 
+		vars => {}, 
+		ldap => $ldap, 
+		bindir => $bindir, 
+		setupdir => $setupdir 
+	};
 	bless $self;
 	return $self;
 }
@@ -26,9 +31,9 @@
 
 	# running slapd in the background means it stays in the same process group, so it can be
 	# killed by timelimit
-	if (defined($ENV{FEDORA_DS_PREFIX})) {
+	if ($self->{ldap} eq "fedora") {
 	        system("$ENV{FEDORA_DS_PREFIX}/sbin/ns-slapd -D $env_vars->{FEDORA_DS_DIR} -d$env_vars->{FEDORA_DS_LOGLEVEL} -i $env_vars->{FEDORA_DS_PIDFILE}> $env_vars->{LDAPDIR}/logs 2>&1 &");
-	} else {
+	} elsif ($self->{ldap} eq "openldap") {
 		my $oldpath = $ENV{PATH};
 		$ENV{PATH} = "/usr/local/sbin:/usr/sbin:/sbin:$ENV{PATH}";
 		system("slapd -d$env_vars->{OPENLDAP_LOGLEVEL} -f $conf -h $uri > $env_vars->{LDAPDIR}/logs 2>&1 &");
@@ -48,9 +53,9 @@
 sub slapd_stop($$)
 {
 	my ($self, $envvars) = @_;
-	if (defined($ENV{FEDORA_DS_PREFIX})) {
+	if ($self->{ldap} eq "fedora") {
 		system("$envvars->{LDAPDIR}/slapd-samba4/stop-slapd");
-	} else {
+	} elsif ($self->{ldap} eq "openldap") {
 		open(IN, "<$envvars->{OPENLDAP_PIDFILE}") or 
 			die("unable to open slapd pid file: $envvars->{OPENLDAP_PIDFILE}");
 		kill 9, <IN>;
@@ -64,7 +69,7 @@
 	return 0 if ( -p $env_vars->{SMBD_TEST_FIFO});
 
 	# Start slapd before smbd
-	if ($self->{ldap}) {
+	if (defined($self->{ldap})) {
 		$self->slapd_start($env_vars) or 
 			die("couldn't start slapd");
 
@@ -159,9 +164,9 @@
 ");
 }
 
-sub provision($$$$$$)
+sub provision($$$$$)
 {
-	my ($self, $prefix, $server_role, $domain, $netbiosname, $ldap) = @_;
+	my ($self, $prefix, $server_role, $domain, $netbiosname) = @_;
 
 	my $smbd_loglevel = 1;
 	my $username = "administrator";
@@ -321,12 +326,12 @@
 	$ldap_uri = "ldapi://$ldap_uri";
 	my $provision_aci = ""; # FIXME
 
-	if (not defined($ldap)) {
-	} elsif ($ldap eq "openldap") {
+	if (not defined($self->{ldap})) {
+	} elsif ($self->{ldap} eq "openldap") {
 		mkdir($_) foreach ($ldapdir, "$ldapdir/db", "$ldapdir/db/bdb-logs", 
 		"$ldapdir/db/tmp");
 		system("$RealBin/mk-openldap.sh") == 0 or die("Unable to create openldap directories");
-	} elsif ($ldap eq "fedora") {
+	} elsif ($self->{ldap} eq "fedora") {
 		system("$RealBin/mk-fedora-ds.sh") == 0 or die("Unable to create fedora ds directories");
 		push (@provision_options, "--ldap-module=nsuniqueid");
 	}
@@ -355,9 +360,7 @@
 	print "PROVISIONING MEMBER...";
 
 	my $ret = $self->provision($prefix, "member server", "SAMBADOMAIN", 
-		"localmember", 
-		undef  # LDAP
-	);
+		"localmember");
 
 	$ret or die("Unable to provision");
 
@@ -374,9 +377,7 @@
 
 	print "PROVISIONING DC...";
 	my $ret = $self->provision($prefix, "domain controller", "SAMBADOMAIN", 
-		"localtest", 
-		undef  # LDAP
-	);
+		"localtest");
 
 	$self->add_wins_config("$prefix/private") or 
 		die("Unable to add wins configuration");

=== modified file 'source/script/tests/selftest.pl'
--- a/source/script/tests/selftest.pl	2007-04-16 22:35:13 +0000
+++ b/source/script/tests/selftest.pl	2007-04-16 23:30:38 +0000
@@ -130,7 +130,7 @@
 my $opt_skip = undef;
 my $opt_verbose = 0;
 my $opt_testenv = 0;
-my $opt_ldap = undef;
+my $ldap = undef;
 my $opt_analyse_cmd = undef;
 my $opt_resetup_env = undef;
 
@@ -308,7 +308,7 @@
  --socket-wrapper-pcap=FILE save traffic to pcap file
  --socket-wrapper           enable socket wrapper
  --expected-failures=FILE   specify list of tests that is guaranteed to fail
- --ldap                     run against ldap
+ --ldap=openldap|fedora     back smbd onto specified ldap server
 
 Behaviour:
  --quick                    run quick overall test
@@ -335,7 +335,7 @@
 		'builddir=s' => \$builddir,
 		'verbose' => \$opt_verbose,
 		'testenv' => \$opt_testenv,
-		'ldap' => \$opt_ldap,
+		'ldap:s' => \$ldap,
 		'analyse-cmd=s' => \$opt_analyse_cmd,
 		'resetup-environment' => \$opt_resetup_env,
 	    );
@@ -353,12 +353,14 @@
 }
 
 my $old_pwd = "$RealBin/../..";
-my $ldap = 0;
-if (defined($ENV{TEST_LDAP})) {
-	$ldap = ($ENV{TEST_LDAP} eq "yes");
-}
-if (defined($opt_ldap)) {
-	$ldap = $opt_ldap;
+
+# Backwards compatibility:
+if (defined($ENV{TEST_LDAP}) and $ENV{TEST_LDAP} eq "yes") {
+	if (defined($ENV{FEDORA_DS_PREFIX})) {
+		$ldap = "fedora";
+	} else {
+		$ldap = "openldap";
+	}
 }
 
 my $torture_maxtime = ($ENV{TORTURE_MAXTIME} or 1200);



More information about the samba-cvs mailing list