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

------------------------------------------------------------
revno: 11880
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Jelmer Vernooij <[EMAIL PROTECTED]>
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:[EMAIL PROTECTED]
  source/script/tests/selftest.pl svn-v2:[EMAIL PROTECTED]
=== 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);

Reply via email to