def testOptionsHelp(self): # Check that -h behaves properly options = zdrun.ZDRunOptions() try: options.realize(["-h"], doc=zdrun.__doc__) except SystemExit, err: self.failIf(err.code)
def testOptionsBasic(self): # Check basic option parsing options = zdrun.ZDRunOptions() options.realize(["B", "C"], "foo") self.assertEqual(options.options, []) self.assertEqual(options.args, ["B", "C"]) self.assertEqual(options.progname, "foo")
def testOptionsHelp(self): # Check that -h behaves properly options = zdrun.ZDRunOptions() try: options.realize(["-h"], doc=zdrun.__doc__) except SystemExit as err: self.assertEqual(err.code, 0) else: self.fail("SystemExit expected") self.expect = zdrun.__doc__
def testOptionsSysArgv(self): # Check that options are parsed from sys.argv by default options = zdrun.ZDRunOptions() save_sys_argv = sys.argv try: sys.argv = ["A", "B", "C"] options.realize() finally: sys.argv = save_sys_argv self.assertEqual(options.options, []) self.assertEqual(options.args, ["B", "C"])
def testSubprocessBasic(self): # Check basic subprocess management: spawn, kill, wait options = zdrun.ZDRunOptions() options.realize(["sleep", "100"]) proc = zdrun.Subprocess(options) self.assertEqual(proc.pid, 0) pid = proc.spawn() self.assertEqual(proc.pid, pid) msg = proc.kill(signal.SIGTERM) self.assertEqual(msg, None) wpid, wsts = os.waitpid(pid, 0) self.assertEqual(wpid, pid) self.assertEqual(os.WIFSIGNALED(wsts), 1) self.assertEqual(os.WTERMSIG(wsts), signal.SIGTERM) proc.setstatus(wsts) self.assertEqual(proc.pid, 0)