mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
tests: Rework backup test inheritance to make LP constraints clearer
The backup tests have a special constraint where we always want to use check_output() over runcmd(). The reason is we need the samba-tool backup/restore commands executed in a separate process. Otherwise the global underlying LoadParm can accumulate settings from earlier test case runs. We can avoid someone in future inadvertently running runcmd() by mistake, by simply changing the inheritance so we no longer inherit from SambaToolCmdTest (so the runcmd functions are no longer present). The comment explaining this has been moved to the top of the file. Note that the TestCaseInTempDir inheritance was redundant. BlackboxTestCase inherits from TestCaseInTempDir (and SambaToolCmdTest was inheriting from BlackboxTestCase). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13676 Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Tim Beale <timbeale@samba.org> Autobuild-Date(master): Tue Nov 27 06:57:03 CET 2018 on sn-devel-144
This commit is contained in:
@ -19,11 +19,17 @@ import tarfile
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
from samba.tests.samba_tool.base import SambaToolCmdTest
|
||||
from samba.tests import TestCaseInTempDir
|
||||
from samba.tests import BlackboxTestCase
|
||||
from samba.netcmd import CommandError
|
||||
|
||||
class DomainBackupOfflineCmp(SambaToolCmdTest, TestCaseInTempDir):
|
||||
# The backup tests require that a completely clean LoadParm object gets used
|
||||
# for the restore. Otherwise the same global LP gets re-used, and the LP
|
||||
# settings can bleed from one test case to another.
|
||||
# To do this, these tests should use check_output(), which executes the command
|
||||
# in a separate process (as opposed to runcmd(), runsubcmd()).
|
||||
# So although this is a samba-tool test, we don't inherit from SambaToolCmdTest
|
||||
# so that we never inadvertently use .runcmd() by accident.
|
||||
class DomainBackupOfflineCmp(BlackboxTestCase):
|
||||
|
||||
def test_domain_backup_offline_untar_tdb(self):
|
||||
self.untar_testcase('tdb')
|
||||
|
Reference in New Issue
Block a user