summaryrefslogtreecommitdiff
path: root/source4/torture/drs
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2017-07-06 15:25:36 +1200
committerAndrew Bartlett <abartlet@samba.org>2017-07-28 00:25:14 +0200
commit09ce35ecf30863e131401c9d8d58274402d427c1 (patch)
tree9013f628612fca9ed602fcfcd8a2dc747880af09 /source4/torture/drs
parent24de78e16ae213041f3bc3eab66ae5f386b19c38 (diff)
downloadsamba-09ce35ecf30863e131401c9d8d58274402d427c1.tar.gz
selftest: Port DrsBaseTestCase._net_drs_replicate() to self.runsubcmd()
This avoids forking a subprocess with self.check_run() Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Diffstat (limited to 'source4/torture/drs')
-rw-r--r--source4/torture/drs/python/drs_base.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/source4/torture/drs/python/drs_base.py b/source4/torture/drs/python/drs_base.py
index f07592d9e56..87036178375 100644
--- a/source4/torture/drs/python/drs_base.py
+++ b/source4/torture/drs/python/drs_base.py
@@ -108,20 +108,32 @@ class DrsBaseTestCase(SambaToolCmdTest):
# bin/samba-tool drs <drs_command> <cmdline_auth>
return "%s drs %s %s" % (samba_tool_cmd, drs_command, cmdline_auth)
+ def _samba_tool_cmd_list(self, drs_command):
+ # make command line credentials string
+ creds = self.get_credentials()
+ cmdline_auth = "-U%s/%s%%%s" % (creds.get_domain(),
+ creds.get_username(), creds.get_password())
+ # bin/samba-tool drs <drs_command> <cmdline_auth>
+ return ["drs", drs_command, cmdline_auth]
+
def _net_drs_replicate(self, DC, fromDC, nc_dn=None, forced=True, local=False, full_sync=False):
if nc_dn is None:
nc_dn = self.domain_dn
# make base command line
- samba_tool_cmdline = self._samba_tool_cmdline("replicate")
+ samba_tool_cmdline = self._samba_tool_cmd_list("replicate")
+ # bin/samba-tool drs replicate <Dest_DC_NAME> <Src_DC_NAME> <Naming Context>
+ samba_tool_cmdline += [DC, fromDC, nc_dn]
+
if forced:
- samba_tool_cmdline += " --sync-forced"
+ samba_tool_cmdline += ["--sync-forced"]
if local:
- samba_tool_cmdline += " --local"
+ samba_tool_cmdline += ["--local"]
if full_sync:
- samba_tool_cmdline += " --full-sync"
- # bin/samba-tool drs replicate <Dest_DC_NAME> <Src_DC_NAME> <Naming Context>
- cmd_line = "%s %s %s %s" % (samba_tool_cmdline, DC, fromDC, nc_dn)
- return self.check_output(cmd_line)
+ samba_tool_cmdline += ["--full-sync"]
+
+ (result, out, err) = self.runsubcmd(*samba_tool_cmdline)
+ self.assertCmdSuccess(result, out, err)
+ self.assertEquals(err,"","Shouldn't be any error messages")
def _enable_inbound_repl(self, DC):
# make base command line