Example #1
0
def fork_waitfor_timed(tmp, pid, timeout):
    """
    Waits for pid until it terminates or timeout expires.
    If timeout expires, test subprocess is killed.
    """
    timer_expired = True
    poll_time = 2
    time_passed = 0
    while time_passed < timeout:
        time.sleep(poll_time)
        (child_pid, status) = os.waitpid(pid, os.WNOHANG)
        if (child_pid, status) == (0, 0):
            time_passed = time_passed + poll_time
        else:
            timer_expired = False
            break

    if timer_expired:
        logging.info('Timer expired (%d sec.), nuking pid %d', timeout, pid)
        utils.nuke_pid(pid)
        (child_pid, status) = os.waitpid(pid, 0)
        raise error.TestError("Test timeout expired, rc=%d" % (status))
    else:
        _check_for_subprocess_exception(tmp, pid)

    if status:
        raise error.TestError("Test subprocess failed rc=%d" % (status))
Example #2
0
def fork_waitfor_timed(tmp, pid, timeout):
    """
    Waits for pid until it terminates or timeout expires.
    If timeout expires, test subprocess is killed.
    """
    timer_expired = True
    poll_time = 2
    time_passed = 0
    while time_passed < timeout:
        time.sleep(poll_time)
        (child_pid, status) = os.waitpid(pid, os.WNOHANG)
        if (child_pid, status) == (0, 0):
            time_passed = time_passed + poll_time
        else:
            timer_expired = False
            break

    if timer_expired:
        logging.info('Timer expired (%d sec.), nuking pid %d', timeout, pid)
        utils.nuke_pid(pid)
        (child_pid, status) = os.waitpid(pid, 0)
        raise error.TestError("Test timeout expired, rc=%d" % (status))
    else:
        _check_for_subprocess_exception(tmp, pid)

    if status:
        raise error.TestError("Test subprocess failed rc=%d" % (status))
Example #3
0
    def fork_waitfor(self, timeout=None):
        if not timeout:
            return self.wait()
        else:
            end_time = time.time() + timeout
            while time.time() <= end_time:
                returncode = self.poll()
                if returncode is not None:
                    return returncode
                time.sleep(1)

            utils.nuke_pid(self.pid)
            print("subcommand failed pid %d" % self.pid)
            print("%s" % (self.func,))
            print("timeout after %ds" % timeout)
            print()
            return None
Example #4
0
    def fork_waitfor(self, timeout=None):
        if not timeout:
            return self.wait()
        else:
            end_time = time.time() + timeout
            while time.time() <= end_time:
                returncode = self.poll()
                if returncode is not None:
                    return returncode
                time.sleep(1)

            utils.nuke_pid(self.pid)
            print "subcommand failed pid %d" % self.pid
            print "%s" % (self.func,)
            print "timeout after %ds" % timeout
            print
            return None
Example #5
0
def fork_nuke_subprocess(tmp, pid):
    utils.nuke_pid(pid)
    _check_for_subprocess_exception(tmp, pid)
Example #6
0
 def kill_process(self, process):
     signal_queue = (signal.SIGCONT, signal.SIGTERM, signal.SIGKILL)
     utils.nuke_pid(process.pid, signal_queue=signal_queue)
Example #7
0
def fork_nuke_subprocess(tmp, pid):
    utils.nuke_pid(pid)
    _check_for_subprocess_exception(tmp, pid)
Example #8
0
 def stop(self, test):
     utils.nuke_pid(self.pid)
Example #9
0
 def kill_process(self, process):
     signal_queue = (signal.SIGCONT, signal.SIGTERM, signal.SIGKILL)
     utils.nuke_pid(process.pid, signal_queue=signal_queue)
Example #10
0
 def kill_watchdog(self):
     logging.debug('harness: Killing watchdog, pid: %d', self.watchdog_pid)
     utils.nuke_pid(self.watchdog_pid)
     self.watchdog_pid = None
 def kill_watchdog(self):
     logging.debug('harness: Killing watchdog, pid: %d', self.watchdog_pid)
     utils.nuke_pid(self.watchdog_pid)
     self.watchdog_pid = None
Example #12
0
 def stop(self, test):
     utils.nuke_pid(self.pid)