From 07a7c8fa0d76cb7cb10cc88fb5bbe5439b746d01 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 13 Mar 2008 09:55:06 +1100 Subject: Update the provision scripts and selftest for LDAP This should allow us to provision onto an OpenLDAP backend again. Also ensure we always have a sysvol and netlogon share in the selftest environment. Andrew Bartlett (This used to be commit b2d9b03ba3434e76d4d476233a198728523d17f9) --- source4/selftest/target/Samba4.pm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/target/Samba4.pm b/source4/selftest/target/Samba4.pm index 48fda17599..2b94135355 100644 --- a/source4/selftest/target/Samba4.pm +++ b/source4/selftest/target/Samba4.pm @@ -617,6 +617,14 @@ sub provision($$$$$$) read only = no ntvfs handler = simple +[sysvol] + path = $lockdir/sysvol + read only = yes + +[netlogon] + path = $lockdir/sysvol/$dnsname/scripts + read only = no + [cifsposix] copy = simple ntvfs handler = cifsposix @@ -746,7 +754,7 @@ nogroup:x:65534:nobody if (defined($self->{ldap})) { push (@provision_options, "--ldap-backend=$ldap_uri"); - system("$self->{bindir}/smbscript $self->{setupdir}/provision-backend $configuration --ldap-manager-pass=$password --root=$unix_name --realm=$realm --host-name=$netbiosname --ldap-backend-type=$self->{ldap}>&2") == 0 or die("backend provision failed"); + system("$self->{bindir}/smbpython $self->{setupdir}/provision-backend $configuration --ldap-manager-pass=$password --root=$unix_name --realm=$realm --domain=$domain --host-name=$netbiosname --ldap-backend-type=$self->{ldap}>&2") == 0 or die("backend provision failed"); if ($self->{ldap} eq "openldap") { ($ret->{SLAPD_CONF}, $ret->{OPENLDAP_PIDFILE}) = $self->mk_openldap($ldapdir, $configuration) or die("Unable to create openldap directories"); -- cgit From 0c882402360a10b19a038bce9f87e241051c9ba8 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Thu, 13 Mar 2008 11:36:58 +1100 Subject: Rework to have member server 'domains' be CN=NETBIOSNAME This reworks quite a few parts of our provision system to use CN=NETBIOSNAME as the domain for member servers. This makes it clear that these domains are not in the DNS structure, while complying with our own schema (found by OpenLDAP's schema validation). Andrew Bartlett (This used to be commit bda6a38b055fed2394e65cdc0b308a1442116402) --- source4/selftest/target/Samba4.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/selftest') diff --git a/source4/selftest/target/Samba4.pm b/source4/selftest/target/Samba4.pm index 2b94135355..416a376f68 100644 --- a/source4/selftest/target/Samba4.pm +++ b/source4/selftest/target/Samba4.pm @@ -544,7 +544,7 @@ sub provision($$$$$$) my $localbasedn = $basedn; - $localbasedn = "DC=$netbiosname" if $server_role eq "member server"; + $localbasedn = "CN=$netbiosname" if $server_role eq "member server"; open(CONFFILE, ">$conffile"); print CONFFILE " -- cgit From 0de47f6b577fdb1e93395b56960951b32cca48c0 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Mar 2008 15:17:19 +0100 Subject: selftest: handle progress output in verbose mode metze (This used to be commit 9196213c49532ac60349ff55e66430b7c80b09c2) --- source4/selftest/Subunit.pm | 29 ++++++++++++++++++++++++++++- source4/selftest/output/plain.pm | 4 ++-- source4/selftest/selftest.pl | 2 +- 3 files changed, 31 insertions(+), 4 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/Subunit.pm b/source4/selftest/Subunit.pm index e5c61ca9ba..f8a7794aac 100644 --- a/source4/selftest/Subunit.pm +++ b/source4/selftest/Subunit.pm @@ -15,7 +15,34 @@ sub parse_results($$$$$) my $unexpected_err = 0; my $orig_open_len = $#$open_tests; - while(<$fh>) { + while(1) { + my $line = ""; + my $char = ""; + my $eof = 0; + my $error = 0; + + while ($char ne "\n") { + my $ret = sysread($fh, $char, 1); + if (not defined($ret)) { + $error = $!; + last; + } + if ($ret == 0) { + $eof = 1; + last; + } + + $line .= $char; + if ($char eq "\r") { + $msg_ops->output_msg($line); + $line = ""; + } + } + + last if ($eof or $error); + + $_ = $line; + if (/^test: (.+)\n/) { $msg_ops->control_msg($_); $msg_ops->start_test($open_tests, $1); diff --git a/source4/selftest/output/plain.pm b/source4/selftest/output/plain.pm index e491a999ab..25ff74792e 100644 --- a/source4/selftest/output/plain.pm +++ b/source4/selftest/output/plain.pm @@ -7,8 +7,6 @@ use Exporter; use FindBin qw($RealBin); use lib "$RealBin/.."; -use Subunit qw(parse_results); - use strict; sub new($$$$$$$) { @@ -62,7 +60,9 @@ sub output_msg($$) my ($self, $output) = @_; if ($self->{verbose}) { + require FileHandle; print $output; + STDOUT->flush(); } else { $self->{test_output}->{$self->{NAME}} .= $output; } diff --git a/source4/selftest/selftest.pl b/source4/selftest/selftest.pl index 73d03f3d4c..39a1b5a450 100755 --- a/source4/selftest/selftest.pl +++ b/source4/selftest/selftest.pl @@ -584,7 +584,7 @@ push (@torture_options, "--configfile=$conffile"); push (@torture_options, "--maximum-runtime=$torture_maxtime"); push (@torture_options, "--target=$opt_target"); push (@torture_options, "--basedir=$prefix_abs"); -push (@torture_options, "--option=torture:progress=no") if ($opt_format eq "buildfarm"); +push (@torture_options, "--option=torture:progress=no") unless ($opt_verbose); push (@torture_options, "--format=subunit"); push (@torture_options, "--option=torture:quick=yes") if ($opt_quick); -- cgit From 297399d877476bd72fbf8055cd728b6f8230ba09 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 18 Mar 2008 09:36:29 +0100 Subject: selftest: use a separate var for printing out sub parts of lines with \r This restores the bahavior of the $_ variable in the code that detects expected failures. metze (This used to be commit 903eb9a23d80576f5df2d90a0e025f2366ffe4c6) --- source4/selftest/Subunit.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/Subunit.pm b/source4/selftest/Subunit.pm index f8a7794aac..1c279437c8 100644 --- a/source4/selftest/Subunit.pm +++ b/source4/selftest/Subunit.pm @@ -17,6 +17,7 @@ sub parse_results($$$$$) while(1) { my $line = ""; + my $subline = ""; my $char = ""; my $eof = 0; my $error = 0; @@ -33,9 +34,10 @@ sub parse_results($$$$$) } $line .= $char; + $subline .= $char; if ($char eq "\r") { - $msg_ops->output_msg($line); - $line = ""; + $msg_ops->output_msg($subline); + $subline = ""; } } -- cgit From 5b35e551300419d75b2405ba76bff8e7ec5a01af Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 18 Mar 2008 15:36:03 +0100 Subject: selftest: fix parsing of Subunit results This reverts parts of 903eb9a23d80576f5df2d90a0e025f2366ffe4c6 and 9196213c49532ac60349ff55e66430b7c80b09c2. metze (This used to be commit 5f5fa368c2ca472409c0082400b6e26029dfd7b5) --- source4/selftest/Subunit.pm | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/Subunit.pm b/source4/selftest/Subunit.pm index 1c279437c8..e5c61ca9ba 100644 --- a/source4/selftest/Subunit.pm +++ b/source4/selftest/Subunit.pm @@ -15,36 +15,7 @@ sub parse_results($$$$$) my $unexpected_err = 0; my $orig_open_len = $#$open_tests; - while(1) { - my $line = ""; - my $subline = ""; - my $char = ""; - my $eof = 0; - my $error = 0; - - while ($char ne "\n") { - my $ret = sysread($fh, $char, 1); - if (not defined($ret)) { - $error = $!; - last; - } - if ($ret == 0) { - $eof = 1; - last; - } - - $line .= $char; - $subline .= $char; - if ($char eq "\r") { - $msg_ops->output_msg($subline); - $subline = ""; - } - } - - last if ($eof or $error); - - $_ = $line; - + while(<$fh>) { if (/^test: (.+)\n/) { $msg_ops->control_msg($_); $msg_ops->start_test($open_tests, $1); -- cgit From 2c9ee20f15ef0f55bf4e2516ba498cc6d9403b71 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 27 Mar 2008 10:12:19 +0100 Subject: selfteset: oplocks are enabled by default now metze (This used to be commit 9342c4f5ff2be16c9771fd07fbec87076af2e681) --- source4/selftest/target/Samba4.pm | 3 --- 1 file changed, 3 deletions(-) (limited to 'source4/selftest') diff --git a/source4/selftest/target/Samba4.pm b/source4/selftest/target/Samba4.pm index 416a376f68..262c8035f6 100644 --- a/source4/selftest/target/Samba4.pm +++ b/source4/selftest/target/Samba4.pm @@ -577,9 +577,6 @@ sub provision($$$$$$) gensec:require_pac = true log level = $smbd_loglevel - # this is a global option - opendb:oplocks = yes - [tmp] path = $tmpdir read only = no -- cgit