From 3a303ae5ab2bfef58e0ea281e3a99406ff8fd53f Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 29 Aug 2012 09:10:40 +1000 Subject: selftest: Add a test for smbclient --machine-pass without secrets.tdb Errors in handling the upgrade case without a matching secrets.tdb caused segfaults in the server. This essentially tests both sides. Andrew Bartlett --- selftest/target/Samba4.pm | 9 +++++++++ source4/selftest/tests.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm index 5442281766..28b40added 100644 --- a/selftest/target/Samba4.pm +++ b/selftest/target/Samba4.pm @@ -672,6 +672,7 @@ nogroup:x:65534:nobody LOCKDIR => $ctx->{lockdir}, STATEDIR => $ctx->{statedir}, CACHEDIR => $ctx->{cachedir}, + PRIVATEDIR => $ctx->{privatedir}, SERVERCONFFILE => $ctx->{smb_conf}, CONFIGURATION => $configuration, SOCKET_WRAPPER_DEFAULT_IFACE => $ctx->{swiface}, @@ -1450,6 +1451,14 @@ sub provision_chgdcpass($$) warn("Unable to add wins configuration"); return undef; } + + # Remove secrets.tdb from this environment to test that we still start up + # on systems without the new matching secrets.tdb records + unless (unlink("$ret->{PRIVATEDIR}/secrets.tdb")) { + warn("Unable to remove $ret->{PRIVATEDIR}/secrets.tdb added during provision"); + return undef; + } + $ret->{DC_SERVER} = $ret->{SERVER}; $ret->{DC_SERVER_IP} = $ret->{SERVER_IP}; $ret->{DC_NETBIOSNAME} = $ret->{NETBIOSNAME}; diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index f205fe4745..b9944cb799 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -304,7 +304,7 @@ planpythontestsuite("s3dc", "samba.tests.libsmb_samba_internal"); # the API. These mainly test that the various command-line options of commands # work correctly. -for env in ["s3member", "s4member", "dc"]: +for env in ["s3member", "s4member", "dc", "chgdcpass"]: plantestsuite("samba4.blackbox.smbclient(%s:local)" % env, "%s:local" % env, [os.path.join(samba4srcdir, "utils/tests/test_smbclient.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', smbclient]) planpythontestsuite("none", "samba.tests.blackbox.ndrdump") -- cgit