]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
selftest: add --default-ldb-backend option
authorStefan Metzmacher <metze@samba.org>
Tue, 22 Nov 2022 09:31:19 +0000 (10:31 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 24 Nov 2022 11:01:37 +0000 (11:01 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest/selftest.pl
selftest/target/Samba.pm
selftest/target/Samba4.pm

index 11f8e92e84eb9232e54ff7da3d283690d37fccef..230c49124b41fbc98f77dcc63fd4fcefca152dd3 100755 (executable)
@@ -55,6 +55,7 @@ my @opt_include_env = ();
 my $opt_testenv = 0;
 my $opt_list = 0;
 my $opt_mitkrb5 = 0;
+my $opt_default_ldb_backend = "mdb";
 my $opt_resetup_env = undef;
 my $opt_load_list = undef;
 my $opt_libnss_wrapper_so_path = "";
@@ -240,6 +241,7 @@ my $result = GetOptions (
                'testenv' => \$opt_testenv,
                'list' => \$opt_list,
                'mitkrb5' => \$opt_mitkrb5,
+               'default-ldb-backend=s' => \$opt_default_ldb_backend,
                'resetup-environment' => \$opt_resetup_env,
                'testlist=s' => \@testlists,
                'random-order' => \$opt_random_order,
@@ -460,7 +462,8 @@ if (defined($ENV{SMBD_MAXTIME}) and $ENV{SMBD_MAXTIME} ne "") {
 
 $target = new Samba($bindir, $srcdir, $server_maxtime,
                    $opt_socket_wrapper_pcap,
-                   $opt_socket_wrapper_keep_pcap);
+                   $opt_socket_wrapper_keep_pcap,
+                   $opt_default_ldb_backend);
 unless ($opt_list) {
        if ($opt_target eq "samba") {
                $testenv_default = "ad_dc";
index 2131e4a39cab6435cfaa2faa6d65b20617c4a42b..4f0f29df5cf99e4cc12d0e1a6cf64c831069024e 100644 (file)
@@ -15,14 +15,15 @@ use IO::Poll qw(POLLIN);
 
 sub new($$$$$) {
        my ($classname, $bindir, $srcdir, $server_maxtime,
-           $opt_socket_wrapper_pcap, $opt_socket_wrapper_keep_pcap) = @_;
+           $opt_socket_wrapper_pcap, $opt_socket_wrapper_keep_pcap,
+           $default_ldb_backend) = @_;
 
        my $self = {
            opt_socket_wrapper_pcap => $opt_socket_wrapper_pcap,
            opt_socket_wrapper_keep_pcap => $opt_socket_wrapper_keep_pcap,
        };
        $self->{samba3} = new Samba3($self, $bindir, $srcdir, $server_maxtime);
-       $self->{samba4} = new Samba4($self, $bindir, $srcdir, $server_maxtime);
+       $self->{samba4} = new Samba4($self, $bindir, $srcdir, $server_maxtime, $default_ldb_backend);
        bless $self;
        return $self;
 }
index dcf00e85e9c7a0d414c4e7068de108ee259de708..f4a02c6133fd88acf2a8e788e507a3c1cfaf37be 100755 (executable)
@@ -19,7 +19,7 @@ use target::Samba3;
 use Archive::Tar;
 
 sub new($$$$$) {
-       my ($classname, $SambaCtx, $bindir, $srcdir, $server_maxtime) = @_;
+       my ($classname, $SambaCtx, $bindir, $srcdir, $server_maxtime, $default_ldb_backend) = @_;
 
        my $self = {
                vars => {},
@@ -27,7 +27,8 @@ sub new($$$$$) {
                bindir => $bindir,
                srcdir => $srcdir,
                server_maxtime => $server_maxtime,
-               target3 => new Samba3($SambaCtx, $bindir, $srcdir, $server_maxtime)
+               target3 => new Samba3($SambaCtx, $bindir, $srcdir, $server_maxtime),
+               default_ldb_backend => $default_ldb_backend,
        };
        bless $self;
        return $self;
@@ -1584,7 +1585,7 @@ sub provision_vampire_dc($$$)
        $cmd .= "$samba_tool domain join $ret->{CONFIGURATION} $dcvars->{REALM} DC --realm=$dcvars->{REALM}";
        $cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} --domain-critical-only";
        $cmd .= " --machinepass=machine$ret->{PASSWORD}";
-       $cmd .= " --backend-store=mdb";
+       $cmd .= " --backend-store=$self->{default_ldb_backend}";
 
        unless (system($cmd) == 0) {
                warn("Join failed\n$cmd");
@@ -2019,7 +2020,7 @@ sub provision_ad_dc($$$$$$$)
        copy = print1
 ";
 
-       push (@{$extra_provision_options}, "--backend-store=mdb");
+       push (@{$extra_provision_options}, "--backend-store=$self->{default_ldb_backend}");
        print "PROVISIONING AD DC...\n";
        my $ret = $self->provision($prefix,
                                   "domain controller",
@@ -2868,7 +2869,7 @@ sub setup_schema_dc
        my ($self, $path) = @_;
 
        # provision the PDC using an older base schema
-       my $provision_args = ["--base-schema=2008_R2", "--backend-store=mdb"];
+       my $provision_args = ["--base-schema=2008_R2", "--backend-store=$self->{default_ldb_backend}"];
 
        my $env = $self->provision_ad_dc($path,
                                         "liveupgrade1dc",
@@ -2914,7 +2915,7 @@ sub setup_schema_pair_dc
        my $join_cmd = $cmd_vars;
        $join_cmd .= "$samba_tool domain join $env->{CONFIGURATION} $dcvars->{REALM} DC --realm=$dcvars->{REALM}";
        $join_cmd .= " -U$dcvars->{DC_USERNAME}\%$dcvars->{DC_PASSWORD} ";
-       $join_cmd .= " --backend-store=mdb";
+       $join_cmd .= " --backend-store=$self->{default_ldb_backend}";
 
        my $upgrade_cmd = $cmd_vars;
        $upgrade_cmd .= "$samba_tool domain schemaupgrade $dcvars->{CONFIGURATION}";
@@ -3370,7 +3371,7 @@ sub setup_labdc
        my $backupdir = File::Temp->newdir();
        my $server_args = $self->get_backup_server_args($dcvars);
        my $backup_args = "rename $env->{DOMAIN} $env->{REALM} $server_args";
-       $backup_args .= " --no-secrets --backend-store=mdb";
+       $backup_args .= " --no-secrets --backend-store=$self->{default_ldb_backend}";
        my $backup_file = $self->create_backup($env, $dcvars, $backupdir,
                                               $backup_args);
        unless($backup_file) {