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