smbcontrol.py

来自「samba-3.0.22.tar.gz 编译smb服务器的源码」· Python 代码 · 共 239 行

PY
239
字号
#!/usr/bin/python## Test for smbcontrol command line argument handling.#import comfychairclass NoArgs(comfychair.TestCase):    """Test no arguments produces usage message."""    def runtest(self):        out = self.runcmd("smbcontrol", expectedResult = 1)        self.assert_re_match("Usage: smbcontrol", out[1])        class OneArg(comfychair.TestCase):    """Test single argument produces usage message."""    def runtest(self):        out = self.runcmd("smbcontrol foo", expectedResult = 1)        self.assert_re_match("Usage: smbcontrol", out[1])        class SmbdDest(comfychair.TestCase):    """Test the broadcast destination 'smbd'."""    def runtest(self):        out = self.runcmd("smbcontrol smbd noop")class NmbdDest(comfychair.TestCase):    """Test the destination 'nmbd'."""    def runtest(self):        # We need a way to start/stop/whatever nmbd        raise comfychair.NotRunError, "not implemented"class PidDest(comfychair.TestCase):    """Test a pid number destination'."""    def runtest(self):        out = self.runcmd("smbcontrol 1234 noop")class SelfDest(comfychair.TestCase):    """Test the destination 'self'."""    def runtest(self):        out = self.runcmd("smbcontrol self noop")class WinbinddDest(comfychair.TestCase):    """Test the destination 'winbindd'."""    def runtest(self):        # We need a way to start/stop/whatever winbindd        raise comfychair.NotRunError, "not implemented"class BadDest(comfychair.TestCase):    """Test a bad destination."""    def runtest(self):        out = self.runcmd("smbcontrol foo noop", expectedResult = 1)class BadCmd(comfychair.TestCase):    """Test a bad command."""    def runtest(self):        out = self.runcmd("smbcontrol self spottyfoot", expectedResult = 1)        self.assert_re_match("smbcontrol: unknown command", out[1]);class NoArgCmdTest(comfychair.TestCase):    """A test class that tests a command with no argument."""    def runtest(self):        self.require_root()        out = self.runcmd("smbcontrol self %s" % self.cmd)        out = self.runcmd("smbcontrol self %s spottyfoot" % self.cmd,                          expectedResult = 1)class ForceElection(NoArgCmdTest):    """Test a force-election message."""    def setup(self):        self.cmd = "force-election"class SamSync(NoArgCmdTest):    """Test a samsync message."""    def setup(self):        self.cmd = "samsync"class SamRepl(NoArgCmdTest):    """Test a samrepl message."""    def setup(self):        self.cmd = "samrepl"class DmallocChanged(NoArgCmdTest):    """Test a dmalloc-changed message."""    def setup(self):        self.cmd = "dmalloc-log-changed"class DmallocMark(NoArgCmdTest):    """Test a dmalloc-mark message."""    def setup(self):        self.cmd = "dmalloc-mark"class Shutdown(NoArgCmdTest):    """Test a shutdown message."""    def setup(self):        self.cmd = "shutdown"class Ping(NoArgCmdTest):    """Test a ping message."""    def setup(self):        self.cmd = "ping"class Debuglevel(NoArgCmdTest):    """Test a debuglevel message."""    def setup(self):        self.cmd = "debuglevel"class OneArgCmdTest(comfychair.TestCase):    """A test class that tests a command with one argument."""    def runtest(self):        self.require_root()        out = self.runcmd("smbcontrol self %s spottyfoot" % self.cmd)        out = self.runcmd("smbcontrol self %s" % self.cmd, expectedResult = 1)class DrvUpgrade(OneArgCmdTest):    """Test driver upgrade message."""    def setup(self):        self.cmd = "drvupgrade"        class CloseShare(OneArgCmdTest):    """Test close share message."""    def setup(self):        self.cmd = "close-share"        class Debug(OneArgCmdTest):    """Test a debug message."""    def setup(self):        self.cmd = "debug"class PrintNotify(comfychair.TestCase):    """Test print notification commands."""    def runtest(self):        # No subcommand        out = self.runcmd("smbcontrol self printnotify", expectedResult = 1)        self.assert_re_match("Must specify subcommand", out[1]);        # Invalid subcommand name        out = self.runcmd("smbcontrol self printnotify spottyfoot",                          expectedResult = 1)        self.assert_re_match("Invalid subcommand", out[1]);        # Queue commands        for cmd in ["queuepause", "queueresume"]:            out = self.runcmd("smbcontrol self printnotify %s" % cmd,                              expectedResult = 1)            self.assert_re_match("Usage:", out[1])                    out = self.runcmd("smbcontrol self printnotify %s spottyfoot"                              % cmd)        # Job commands        for cmd in ["jobpause", "jobresume", "jobdelete"]:            out = self.runcmd("smbcontrol self printnotify %s" % cmd,                              expectedResult = 1)            self.assert_re_match("Usage:", out[1])            out = self.runcmd("smbcontrol self printnotify %s spottyfoot"                              % cmd, expectedResult = 1)            self.assert_re_match("Usage:", out[1])            out = self.runcmd("smbcontrol self printnotify %s spottyfoot 123"                              % cmd)        # Printer properties        out = self.runcmd("smbcontrol self printnotify printer",                          expectedResult = 1)        self.assert_re_match("Usage", out[1])        out = self.runcmd("smbcontrol self printnotify printer spottyfoot",                          expectedResult = 1)        self.assert_re_match("Usage", out[1])        for cmd in ["comment", "port", "driver"]:            out = self.runcmd("smbcontrol self printnotify printer spottyfoot "                              "%s" % cmd, expectedResult = 1)            self.assert_re_match("Usage", out[1])            out = self.runcmd("smbcontrol self printnotify printer spottyfoot "                              "%s value" % cmd)class Profile(comfychair.TestCase):    """Test setting the profiling level."""    def runtest(self):        self.require_root()        out = self.runcmd("smbcontrol self profile", expectedResult = 1)        self.assert_re_match("Usage", out[1])                out = self.runcmd("smbcontrol self profile spottyfoot",                          expectedResult = 1)        self.assert_re_match("Unknown", out[1])                for cmd in ["off", "count", "on", "flush"]:            out = self.runcmd("smbcontrol self profile %s" % cmd)class ProfileLevel(comfychair.TestCase):    """Test requesting the current profiling level."""    def runtest(self):        self.require_root()        out = self.runcmd("smbcontrol self profilelevel spottyfoot",                          expectedResult = 1)        self.assert_re_match("Usage", out[1])                out = self.runcmd("smbcontrol self profilelevel")        class TimeoutArg(comfychair.TestCase):    """Test the --timeout argument."""    def runtest(self):        out = self.runcmd("smbcontrol --timeout 5 self noop")        out = self.runcmd("smbcontrol --timeout spottyfoot self noop",                          expectedResult = 1)class ConfigFileArg(comfychair.TestCase):    """Test the --configfile argument."""    def runtest(self):        out = self.runcmd("smbcontrol --configfile /dev/null self noop")class BogusArg(comfychair.TestCase):    """Test a bogus command line argument."""    def runtest(self):        out = self.runcmd("smbcontrol --bogus self noop", expectedResult = 1)tests = [NoArgs, OneArg, SmbdDest, NmbdDest, WinbinddDest, PidDest,         SelfDest, BadDest, BadCmd, Debug, ForceElection, SamSync,         SamRepl, DmallocMark, DmallocChanged, Shutdown, DrvUpgrade,         CloseShare, Ping, Debuglevel, PrintNotify, Profile, ProfileLevel,         TimeoutArg, ConfigFileArg, BogusArg]# Handle execution of this file as a main programif __name__ == '__main__':    comfychair.main(tests)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?