From: Stefan Metzmacher Date: Tue, 22 Nov 2022 09:31:19 +0000 (+0100) Subject: selftest: add --default-ldb-backend option X-Git-Tag: talloc-2.4.0~481 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98c1e357a7fd25b6706b4341b3407c03369501fc;p=thirdparty%2Fsamba.git selftest: add --default-ldb-backend option Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- diff --git a/selftest/selftest.pl b/selftest/selftest.pl index 11f8e92e84e..230c49124b4 100755 --- a/selftest/selftest.pl +++ b/selftest/selftest.pl @@ -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"; diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm index 2131e4a39ca..4f0f29df5cf 100644 --- a/selftest/target/Samba.pm +++ b/selftest/target/Samba.pm @@ -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; } diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm index dcf00e85e9c..f4a02c6133f 100755 --- a/selftest/target/Samba4.pm +++ b/selftest/target/Samba4.pm @@ -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) {