Rev 11878: Merge mksamba4server.pl into Samba4.pm in file:///home/jelmer/bzr.samba/SAMBA_4_0/

Jelmer Vernooij jelmer at samba.org
Mon Apr 16 22:35:49 GMT 2007


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

------------------------------------------------------------
revno: 11878
revision-id: jelmer at samba.org-20070416223513-66z48onzdyaegs8w
parent: jelmer at samba.org-20070416215315-ntt9aikw1i1nbpgl
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: SAMBA_4_0
timestamp: Tue 2007-04-17 00:35:13 +0200
message:
  Merge mksamba4server.pl into Samba4.pm
removed:
  source/script/tests/mksamba4server.pl svn-v2:22260 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818-branches%2fSAMBA_4_0-source%2fscript%2ftests%2fmksamba4server.sh
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
=== removed file 'source/script/tests/mksamba4server.pl'
--- a/source/script/tests/mksamba4server.pl	2007-04-16 21:53:15 +0000
+++ b/source/script/tests/mksamba4server.pl	1970-01-01 00:00:00 +0000
@@ -1,312 +0,0 @@
-#!/usr/bin/perl
-# Build a test environment for running Samba
-
-use Cwd;
-use Getopt::Long;
-use FindBin qw($RealBin $Script);
-use strict;
-
-my $opt_help = undef;
-my $server_role = "domain controller";
-my $opt_ldap = undef;
-my $domain = "SAMBADOMAIN";
-my $netbiosname = "localtest";
-
-my $result = GetOptions(
-	'help|h|?' => \$opt_help,
-	'server-role:s' => \$server_role,
-	'ldap:s' => \$opt_ldap,
-	'domain:s' => \$domain,
-	'netbios-name:s' => \$netbiosname,
-);
-
-if (not $result) {
-	exit(1);
-}
-
-if (scalar(@ARGV) == 0) {
-	print "Usage: $Script [OPTIONS] <PREFIX>\n";
-	exit(1);
-}
-
-my $prefix = shift @ARGV;
-
-my $share_backend = "classic";
-my $smbd_loglevel = 1;
-my $username = "administrator";
-my $realm = "SAMBA.EXAMPLE.COM";
-my $dnsname = "samba.example.com";
-my $basedn = "dc=samba,dc=example,dc=com";
-my $password = "penguin";
-my $root = ($ENV{USER} or $ENV{LOGNAME} or `whoami`);
-my $server = "localhost";
-my $srcdir="$RealBin/../..";
--d $prefix or mkdir($prefix) or die("Unable to create $prefix");
-my $prefix_abs = getcwd()."/".$prefix;
-
-my $tmpdir = "$prefix_abs/tmp";
-my $etcdir = "$prefix_abs/etc";
-my $piddir = "$prefix_abs/pid";
-my $conffile = "$etcdir/smb.conf";
-my $krb5_config = "$etcdir/krb5.conf";
-my $privatedir = "$prefix_abs/private";
-my $ncalrpcdir = "$prefix_abs/ncalrpc";
-my $lockdir= "$prefix_abs/lockdir";
-
-my $winbindd_socket_dir = "$prefix_abs/winbind_socket";
-my $configuration = "--configfile=$conffile";
-my $ldapdir = "$prefix_abs/ldap";
-
-my $tlsdir = "$privatedir/tls";
-
-(system("rm -rf $prefix/*") == 0) or die("Unable to clean up");
-mkdir($_) foreach ($privatedir, $etcdir, $piddir, $ncalrpcdir, $lockdir, 
-	$tmpdir);
-
-open(CONFFILE, ">$conffile");
-print CONFFILE "
-[global]
-	netbios name = $netbiosname
-	netbios aliases = $server
-	workgroup = $domain
-	realm = $realm
-	private dir = $privatedir
-	pid directory = $piddir
-	ncalrpc dir = $ncalrpcdir
-	lock dir = $lockdir
-	share backend = $share_backend
-	setup directory = $srcdir/setup
-	js include = $srcdir/scripting/libjs
-	winbindd socket directory = $winbindd_socket_dir
-	name resolve order = bcast
-	interfaces = 127.0.0.1/8
-	tls dh params file = $tlsdir/dhparms.pem
-	panic action = $srcdir/script/gdb_backtrace \%PID% \%PROG%
-	wins support = yes
-	server role = $server_role
-	max xmit = 32K
-	server max protocol = SMB2
-	notify:inotify = false
-	ldb:nosync = true
-	system:anonymous = true
-#We don't want to pass our self-tests if the PAC code is wrong
-	gensec:require_pac = true
-	log level = $smbd_loglevel
-
-[tmp]
-	path = $tmpdir
-	read only = no
-	ntvfs handler = posix
-	posix:sharedelay = 100000
-	posix:eadb = $lockdir/eadb.tdb
-
-[cifs]
-	read only = no
-	ntvfs handler = cifs
-	cifs:server = $server
-	cifs:user = $username
-	cifs:password = $password
-	cifs:domain = $domain
-	cifs:share = tmp
-
-[simple]
-	path = $tmpdir
-	read only = no
-	ntvfs handler = simple
-
-[cifsposixtestshare]
-	copy = simple
-	ntvfs handler = cifsposix   
-";
-close(CONFFILE);
-
-## Override default share.ldb file
-unlink("$privatedir/share.ldb");
-open(LDIF, ">$privatedir/share.ldif");
-print LDIF "
-### Shares basedn
-dn: \@INDEXLIST
-\@IDXATTR: name
-
-dn: \@ATTRIBUTES
-cn: CASE_INSENSITIVE
-dc: CASE_INSENSITIVE
-name: CASE_INSENSITIVE
-dn: CASE_INSENSITIVE
-objectClass: CASE_INSENSITIVE
-
-dn: CN=Shares
-objectClass: top
-objectClass: organizationalUnit
-cn: Shares
-
-### Default IPC\$ Share
-dn: CN=IPC\$,CN=Shares
-objectClass: top
-objectClass: share
-cn: IPC\$
-name: IPC\$
-type: IPC
-path: /tmp
-comment: Remote IPC
-max-connections: -1
-available: True
-readonly: True
-browseable: False
-ntvfs-handler: default
-
-### Default ADMIN\$ Share
-dn: CN=ADMIN\$,CN=Shares
-objectClass: top
-objectClass: share
-cn: ADMIN\$
-name: ADMIN\$
-type: DISK
-path: /tmp
-comment: Remote Admin
-max-connections: -1
-available: True
-readonly: True
-browseable: False
-ntvfs-handler: default
-
-dn: CN=tmp,CN=Shares
-objectClass: top
-objectClass: share
-cn: tmp
-name: tmp
-type: DISK
-path: $tmpdir
-comment: Temp Dir for Tests
-readonly: False
-ntvfs-handler: posix
-posix-sharedelay: 100000
-posix-eadb: $lockdir/eadb.tdb
-
-dn: CN=cifs,CN=Shares
-objectClass: top
-objectClass: share
-cn: cifs
-name: cifs
-type: DISK
-readonly: False
-ntvfs-handler: cifs
-cifs-server: $server
-cifs-user: $username
-cifs-password: $password
-cifs-domain: $domain
-cifs-share: tmp
-";
-close(LDIF);
-
-system("$srcdir/bin/ldbadd -H $privatedir/share.ldb < $privatedir/share.ldif >/dev/null") == 0 or die("Unable to add share ldif");
-
-die ("Unable to create key blobs") if
-	(system("TLSDIR=$tlsdir $RealBin/mk-keyblobs.sh") != 0);
-
-open(KRB5CONF, ">$krb5_config");
-print KRB5CONF "
-#Generated krb5.conf for $realm
-
-[libdefaults]
- default_realm = $realm
- dns_lookup_realm = false
- dns_lookup_kdc = false
- ticket_lifetime = 24h
- forwardable = yes
-
-[realms]
- $realm = {
-  kdc = 127.0.0.1:88
-  admin_server = 127.0.0.1:88
-  default_domain = $dnsname
- }
- $dnsname = {
-  kdc = 127.0.0.1:88
-  admin_server = 127.0.0.1:88
-  default_domain = $dnsname
- }
- $domain = {
-  kdc = 127.0.0.1:88
-  admin_server = 127.0.0.1:88
-  default_domain = $dnsname
- }
-
-[appdefaults]
-	pkinit_anchors = FILE:$tlsdir/ca.pem
-
-[kdc]
-	enable-pkinit = true
-	pkinit_identity = FILE:$tlsdir/kdc.pem,$tlsdir/key.pem
-	pkinit_anchors = FILE:$tlsdir/ca.pem
-
-[domain_realm]
- .$dnsname = $realm
-";
-close(KRB5CONF);
-
-#Ensure the config file is valid before we start
-if (system("$srcdir/bin/testparm $configuration -v --suppress-prompt >/dev/null 2>&1") != 0) {
-    system("$srcdir/bin/testparm $configuration >&2");
-    die("Failed to create configuration!");
-}
-
-(system("($srcdir/bin/testparm $configuration -v --suppress-prompt --parameter-name=\"netbios name\" --section-name=global 2> /dev/null | grep -i ^$netbiosname ) >/dev/null 2>&1") == 0) or die("Failed to create configuration!");
-
-my @provision_options = ($configuration);
-push (@provision_options, "--host-name=$netbiosname");
-push (@provision_options, "--host-ip=127.0.0.1");
-push (@provision_options, "--quiet");
-push (@provision_options, "--domain $domain");
-push (@provision_options, "--realm $realm");
-push (@provision_options, "--adminpass $password");
-push (@provision_options, "--root=$root");
-push (@provision_options, "--simple-bind-dn=cn=Manager,$basedn");
-push (@provision_options, "--password=$password");
-push (@provision_options, "--root=$root");
-
-(system("$srcdir/bin/smbscript $srcdir/setup/provision " .  join(' ', @provision_options) . ">&2") == 0) or die("Unable to provision");
-
-my $ldap_uri= "$ldapdir/ldapi";
-$ldap_uri =~ s|/|%2F|g;
-$ldap_uri = "ldapi://$ldap_uri";
-my $provision_aci = "";
-
-if (not defined($opt_ldap)) {
-} elsif ($opt_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 ($opt_ldap eq "fedora") {
-    system("$RealBin/mk-fedora-ds.sh") == 0 or die("Unable to create fedora ds directories");
-	push (@provision_options, "--ldap-module=nsuniqueid");
-}
-
-open(LDIF, ">$privatedir/wins_config.ldif");
-print LDIF "
-dn: name=TORTURE_6,CN=PARTNERS
-objectClass: wreplPartner
-name: TORTURE_6
-address: 127.0.0.6
-pullInterval: 0
-pushChangeCount: 0
-type: 0x3
-";
-close(LDIF);
-
-system("$srcdir/bin/ldbadd -H $privatedir/wins_config.ldb < $privatedir/wins_config.ldif >/dev/null") == 0 or die("Unable to add wins configuration");
-
-print "KRB5_CONFIG=$krb5_config\n";
-print "PIDDIR=$piddir\n";
-print "SERVER=$server\n";
-print "NETBIOSNAME=$netbiosname\n";
-print "LDAP_URI=$ldap_uri\n";
-print "DOMAIN=$domain\n";
-print "USERNAME=$username\n";
-print "REALM=$realm\n";
-print "PASSWORD=$password\n";
-print "LDAPDIR=$ldapdir\n";
-print "PROVISION_OPTIONS=".join(' ', @provision_options) . "\n";
-print "WINBINDD_SOCKET_DIR=$winbindd_socket_dir\n";
-print "NCALRPCDIR=$ncalrpcdir\n";
-print "CONFIGURATION=$configuration\n";

=== modified file 'source/script/tests/Samba4.pm'
--- a/source/script/tests/Samba4.pm	2007-04-16 21:53:15 +0000
+++ b/source/script/tests/Samba4.pm	2007-04-16 22:35:13 +0000
@@ -135,41 +135,325 @@
 	system("bin/nmblookup $testenv_vars->{CONFIGURATION} -U $testenv_vars->{SERVER} $testenv_vars->{NETBIOSNAME}");
 }
 
+sub provision($$$$$$)
+{
+	my ($self, $prefix, $server_role, $domain, $netbiosname, $ldap) = @_;
+
+	my $share_backend = "classic";
+	my $smbd_loglevel = 1;
+	my $username = "administrator";
+	my $realm = "SAMBA.EXAMPLE.COM";
+	my $dnsname = "samba.example.com";
+	my $basedn = "dc=samba,dc=example,dc=com";
+	my $password = "penguin";
+	my $root = ($ENV{USER} or $ENV{LOGNAME} or `whoami`);
+	my $server = "localhost";
+	my $srcdir="$RealBin/../..";
+	-d $prefix or mkdir($prefix) or die("Unable to create $prefix");
+	my $prefix_abs = getcwd()."/".$prefix;
+
+	my $tmpdir = "$prefix_abs/tmp";
+	my $etcdir = "$prefix_abs/etc";
+	my $piddir = "$prefix_abs/pid";
+	my $conffile = "$etcdir/smb.conf";
+	my $krb5_config = "$etcdir/krb5.conf";
+	my $privatedir = "$prefix_abs/private";
+	my $ncalrpcdir = "$prefix_abs/ncalrpc";
+	my $lockdir= "$prefix_abs/lockdir";
+
+	my $winbindd_socket_dir = "$prefix_abs/winbind_socket";
+	my $configuration = "--configfile=$conffile";
+	my $ldapdir = "$prefix_abs/ldap";
+
+	my $tlsdir = "$privatedir/tls";
+
+	(system("rm -rf $prefix/*") == 0) or die("Unable to clean up");
+	mkdir($_) foreach ($privatedir, $etcdir, $piddir, $ncalrpcdir, $lockdir, 
+		$tmpdir);
+
+	open(CONFFILE, ">$conffile");
+	print CONFFILE "
+[global]
+	netbios name = $netbiosname
+	netbios aliases = $server
+	workgroup = $domain
+	realm = $realm
+	private dir = $privatedir
+	pid directory = $piddir
+	ncalrpc dir = $ncalrpcdir
+	lock dir = $lockdir
+	share backend = $share_backend
+	setup directory = $self->{setupdir}
+	js include = $srcdir/scripting/libjs
+	winbindd socket directory = $winbindd_socket_dir
+	name resolve order = bcast
+	interfaces = 127.0.0.1/8
+	tls dh params file = $tlsdir/dhparms.pem
+	panic action = $srcdir/script/gdb_backtrace \%PID% \%PROG%
+	wins support = yes
+	server role = $server_role
+	max xmit = 32K
+	server max protocol = SMB2
+	notify:inotify = false
+	ldb:nosync = true
+	system:anonymous = true
+#We don't want to pass our self-tests if the PAC code is wrong
+	gensec:require_pac = true
+	log level = $smbd_loglevel
+
+[tmp]
+	path = $tmpdir
+	read only = no
+	ntvfs handler = posix
+	posix:sharedelay = 100000
+	posix:eadb = $lockdir/eadb.tdb
+
+[cifs]
+	read only = no
+	ntvfs handler = cifs
+	cifs:server = $server
+	cifs:user = $username
+	cifs:password = $password
+	cifs:domain = $domain
+	cifs:share = tmp
+
+[simple]
+	path = $tmpdir
+	read only = no
+	ntvfs handler = simple
+
+[cifsposixtestshare]
+	copy = simple
+	ntvfs handler = cifsposix   
+";
+	close(CONFFILE);
+
+	## Override default share.ldb file
+	unlink("$privatedir/share.ldb");
+	open(LDIF, ">$privatedir/share.ldif");
+	print LDIF "
+### Shares basedn
+dn: \@INDEXLIST
+\@IDXATTR: name
+
+dn: \@ATTRIBUTES
+cn: CASE_INSENSITIVE
+dc: CASE_INSENSITIVE
+name: CASE_INSENSITIVE
+dn: CASE_INSENSITIVE
+objectClass: CASE_INSENSITIVE
+
+dn: CN=Shares
+objectClass: top
+objectClass: organizationalUnit
+cn: Shares
+
+### Default IPC\$ Share
+dn: CN=IPC\$,CN=Shares
+objectClass: top
+objectClass: share
+cn: IPC\$
+name: IPC\$
+type: IPC
+path: /tmp
+comment: Remote IPC
+max-connections: -1
+available: True
+readonly: True
+browseable: False
+ntvfs-handler: default
+
+### Default ADMIN\$ Share
+dn: CN=ADMIN\$,CN=Shares
+objectClass: top
+objectClass: share
+cn: ADMIN\$
+name: ADMIN\$
+type: DISK
+path: /tmp
+comment: Remote Admin
+max-connections: -1
+available: True
+readonly: True
+browseable: False
+ntvfs-handler: default
+
+dn: CN=tmp,CN=Shares
+objectClass: top
+objectClass: share
+cn: tmp
+name: tmp
+type: DISK
+path: $tmpdir
+comment: Temp Dir for Tests
+readonly: False
+ntvfs-handler: posix
+posix-sharedelay: 100000
+posix-eadb: $lockdir/eadb.tdb
+
+dn: CN=cifs,CN=Shares
+objectClass: top
+objectClass: share
+cn: cifs
+name: cifs
+type: DISK
+readonly: False
+ntvfs-handler: cifs
+cifs-server: $server
+cifs-user: $username
+cifs-password: $password
+cifs-domain: $domain
+cifs-share: tmp
+";
+	close(LDIF);
+
+	system("$self->{bindir}/ldbadd -H $privatedir/share.ldb < $privatedir/share.ldif >/dev/null") == 0 or die("Unable to add share ldif");
+
+	die ("Unable to create key blobs") if
+		(system("TLSDIR=$tlsdir $RealBin/mk-keyblobs.sh") != 0);
+
+	open(KRB5CONF, ">$krb5_config");
+	print KRB5CONF "
+#Generated krb5.conf for $realm
+
+[libdefaults]
+ default_realm = $realm
+ dns_lookup_realm = false
+ dns_lookup_kdc = false
+ ticket_lifetime = 24h
+ forwardable = yes
+
+[realms]
+ $realm = {
+  kdc = 127.0.0.1:88
+  admin_server = 127.0.0.1:88
+  default_domain = $dnsname
+ }
+ $dnsname = {
+  kdc = 127.0.0.1:88
+  admin_server = 127.0.0.1:88
+  default_domain = $dnsname
+ }
+ $domain = {
+  kdc = 127.0.0.1:88
+  admin_server = 127.0.0.1:88
+  default_domain = $dnsname
+ }
+
+[appdefaults]
+	pkinit_anchors = FILE:$tlsdir/ca.pem
+
+[kdc]
+	enable-pkinit = true
+	pkinit_identity = FILE:$tlsdir/kdc.pem,$tlsdir/key.pem
+	pkinit_anchors = FILE:$tlsdir/ca.pem
+
+[domain_realm]
+ .$dnsname = $realm
+";
+	close(KRB5CONF);
+
+#Ensure the config file is valid before we start
+	if (system("$self->{bindir}/testparm $configuration -v --suppress-prompt >/dev/null 2>&1") != 0) {
+		system("$self->{bindir}/testparm $configuration >&2");
+		die("Failed to create configuration!");
+	}
+
+	(system("($self->{bindir}/testparm $configuration -v --suppress-prompt --parameter-name=\"netbios name\" --section-name=global 2> /dev/null | grep -i ^$netbiosname ) >/dev/null 2>&1") == 0) or die("Failed to create configuration!");
+
+	my @provision_options = ($configuration);
+	push (@provision_options, "--host-name=$netbiosname");
+	push (@provision_options, "--host-ip=127.0.0.1");
+	push (@provision_options, "--quiet");
+	push (@provision_options, "--domain $domain");
+	push (@provision_options, "--realm $realm");
+	push (@provision_options, "--adminpass $password");
+	push (@provision_options, "--root=$root");
+	push (@provision_options, "--simple-bind-dn=cn=Manager,$basedn");
+	push (@provision_options, "--password=$password");
+	push (@provision_options, "--root=$root");
+
+	(system("$self->{bindir}/smbscript $self->{setupdir}/provision " .  join(' ', @provision_options) . ">&2") == 0) or die("Unable to provision");
+
+	my $ldap_uri= "$ldapdir/ldapi";
+	$ldap_uri =~ s|/|%2F|g;
+	$ldap_uri = "ldapi://$ldap_uri";
+	my $provision_aci = ""; # FIXME
+
+	if (not defined($ldap)) {
+	} elsif ($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") {
+		system("$RealBin/mk-fedora-ds.sh") == 0 or die("Unable to create fedora ds directories");
+		push (@provision_options, "--ldap-module=nsuniqueid");
+	}
+
+	open(LDIF, ">$privatedir/wins_config.ldif");
+	print LDIF "
+dn: name=TORTURE_6,CN=PARTNERS
+objectClass: wreplPartner
+name: TORTURE_6
+address: 127.0.0.6
+pullInterval: 0
+pushChangeCount: 0
+type: 0x3
+";
+	close(LDIF);
+
+	system("$self->{bindir}/ldbadd -H $privatedir/wins_config.ldb < $privatedir/wins_config.ldif >/dev/null") == 0 or die("Unable to add wins configuration");
+
+	return {
+		KRB5_CONFIG => $krb5_config,
+		PIDDIR => $piddir,
+		SERVER => $server,
+		NETBIOSNAME => $netbiosname,
+		LDAP_URI => $ldap_uri,
+		DOMAIN => $domain,
+		USERNAME => $username,
+		REALM => $realm,
+		PASSWORD => $password,
+		LDAPDIR => $ldapdir,
+		PROVISION_OPTIONS => join(' ', @provision_options),
+		WINBINDD_SOCKET_DIR => $winbindd_socket_dir,
+		NCALRPCDIR => $ncalrpcdir,
+		CONFIGURATION => $configuration
+	};
+}
+
 sub provision_member($$$)
 {
 	my ($self, $prefix, $dcvars) = @_;
-	my %ret = ();
 	print "PROVISIONING...";
-	open(IN, "$RealBin/mksamba4server.pl --netbios-name=nbmember --server-role=\"member server\" $prefix|") or die("Unable to setup");
-	while (<IN>) {
-		die ("Error parsing `$_'") unless (/^([A-Z0-9a-z_]+)=(.*)$/);
-		$ret{$1} = $2;
-	}
-	close(IN);
-
-	system("$self->{bindir}/net join $ret{CONFIGURATION} $dcvars->{DOMAIN} member -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD}") == 0 or die("Join failed");
-
-	$ret{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
-	$ret{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
-	print "$ret{DOMAIN}\n";
-	return \%ret;
+
+	my $ret = $self->provision($prefix, "member server", "SAMBADOMAIN", 
+		"localmember", 
+		undef  # LDAP
+	);
+
+	$ret or die("Unable to provision");
+
+	system("$self->{bindir}/net join $ret->{CONFIGURATION} $dcvars->{DOMAIN} member -U$dcvars->{USERNAME}\%$dcvars->{PASSWORD}") == 0 or die("Join failed");
+
+	$ret->{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
+	$ret->{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+	return $ret;
 }
 
 sub provision_dc($$)
 {
 	my ($self, $prefix) = @_;
-	my %ret = ();
+
 	print "PROVISIONING...";
-	open(IN, "$RealBin/mksamba4server.pl $prefix|") or die("Unable to setup");
-	while (<IN>) {
-		die ("Error parsing `$_'") unless (/^([A-Z0-9a-z_]+)=(.*)$/);
-		$ret{$1} = $2;
-	}
-	close(IN);
+	my $ret = $self->provision($prefix, "domain controller", "SAMBADOMAIN", 
+		"localtest", 
+		undef  # LDAP
+	);
 
-	$ret{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
-	$ret{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
-	return \%ret;
+	$ret->{SMBD_TEST_FIFO} = "$prefix/smbd_test.fifo";
+	$ret->{SMBD_TEST_LOG} = "$prefix/smbd_test.log";
+	return $ret;
 }
 
 sub provision_ldap($$)

=== modified file 'source/script/tests/selftest.pl'
--- a/source/script/tests/selftest.pl	2007-04-16 03:16:23 +0000
+++ b/source/script/tests/selftest.pl	2007-04-16 22:35:13 +0000
@@ -573,6 +573,7 @@
 sub teardown_env($)
 {
 	my ($envname) = @_;
+	return if ($envname eq "none");
 	$target->teardown_env($running_envs{$envname});
 	delete $running_envs{$envname};
 }



More information about the samba-cvs mailing list