Ejemplo n.º 1
0
    def test_01___init__remote_host(self):
        (cmd, user, host, workdir, timeout) = ("true", "foo", "www.example.com", "/tmp", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertNotEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertNotEquals(task.workdir, workdir)
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 2
0
    def test_00___init__(self):
        (cmd, user, host, workdir, timeout) = ("true", "foo", "localhost", "/tmp", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertEquals(task.workdir, workdir)
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 3
0
    def test_01___init__remote_host(self):
        (cmd, user, host, workdir, timeout) = \
            ("true", "foo", "www.example.com", "/tmp", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertNotEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertNotEquals(task.workdir, workdir)
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 4
0
    def test_00___init__(self):
        (cmd, user, host, workdir, timeout) = \
            ("true", "foo", "localhost", "/tmp", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertEquals(task.workdir, workdir)
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 5
0
    def test_00_typecheck(self):
        TT.typecheck("aaa", str)
        TT.typecheck(1, int)
        TT.typecheck({}, dict)

        class A(object):
            pass

        TT.typecheck(A(), A)

        with self.assertRaises(TypeError):
            TT.typecheck(A(), str)
Ejemplo n.º 6
0
    def test_02___init__homedir(self):
        (cmd, user, host, workdir, timeout) = ("true", E.get_username(), "localhost", "~/", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertNotEquals(task.workdir, workdir)
        self.assertEquals(task.workdir, os.path.expanduser(workdir))
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 7
0
    def test_00_typecheck(self):
        TT.typecheck("aaa", str)
        TT.typecheck(1, int)
        TT.typecheck({}, dict)

        class A(object):
            pass

        TT.typecheck(A(), A)

        with self.assertRaises(TypeError):
            TT.typecheck(A(), str)
Ejemplo n.º 8
0
    def test_02___init__homedir(self):
        (cmd, user, host, workdir, timeout) = \
            ("true", E.get_username(), "localhost", "~/", 1)
        task = SH.Task(cmd, user, host, workdir, timeout)

        U.typecheck(task, SH.Task)

        self.assertEquals(task.cmd, cmd)
        self.assertEquals(task.user, user)
        self.assertEquals(task.host, host)
        self.assertNotEquals(task.workdir, workdir)
        self.assertEquals(task.workdir, os.path.expanduser(workdir))
        self.assertEquals(task.timeout, timeout)
Ejemplo n.º 9
0
def _terminate(proc, wait=1):
    """
    Force terminating the given proc :: subprocess.Popen

    :return:  status code of proc
    """
    U.typecheck(proc, subprocess.Popen)

    rc = proc.poll()
    if rc is not None:  # It's finished already.
        return rc

    proc.terminate()
    time.sleep(wait)

    rc = proc.poll()
    if rc is not None:
        return rc

    proc.kill()
    _cleanup_process(proc.pid)

    return -1
Ejemplo n.º 10
0
def _terminate(proc, wait=1):
    """
    Force terminating the given proc :: subprocess.Popen

    :return:  status code of proc
    """
    U.typecheck(proc, subprocess.Popen)

    rc = proc.poll()
    if rc is not None:  # It's finished already.
        return rc

    proc.terminate()
    time.sleep(wait)

    rc = proc.poll()
    if rc is not None:
        return rc

    proc.kill()
    _cleanup_process(proc.pid)

    return -1