예제 #1
0
 def test_kill_process_with_children(self):
     if _platform == "linux" or _platform == "linux2":  # Test is Linux-specific
         gracefull_kill_delay_old = shell.gracefull_kill_delay
         shell.gracefull_kill_delay = 0.1
         sleep_cmd = "sleep 314159265"
         test_cmd = """ (({0}) | ({0} | {0})) """.format(sleep_cmd)
         # Starting process tree (multiple process groups)
         test_process = subprocess.Popen(test_cmd, shell=True)
         time.sleep(0.3)  # Delay to allow subprocess to start
         # Check if processes are running
         ps_cmd = """ps aux | grep "{0}" | grep -v grep """.format(
             sleep_cmd)
         ps_process = subprocess.Popen(ps_cmd,
                                       stdout=subprocess.PIPE,
                                       shell=True)
         (out, err) = ps_process.communicate()
         self.assertTrue(sleep_cmd in out)
         # Kill test process
         shell.kill_process_with_children(test_process.pid)
         test_process.communicate()
         # Now test process should not be running
         ps_process = subprocess.Popen(ps_cmd,
                                       stdout=subprocess.PIPE,
                                       shell=True)
         (out, err) = ps_process.communicate()
         self.assertFalse(sleep_cmd in out)
         shell.gracefull_kill_delay = gracefull_kill_delay_old
     else:
         # Do not run under other systems
         pass
예제 #2
0
파일: TestShell.py 프로젝트: LXiong/slider
 def test_kill_process_with_children(self):
   if _platform == "linux" or _platform == "linux2": # Test is Linux-specific
     gracefull_kill_delay_old = shell.gracefull_kill_delay
     shell.gracefull_kill_delay = 0.1
     sleep_cmd = "sleep 314159265"
     test_cmd = """ (({0}) | ({0} | {0})) """.format(sleep_cmd)
     # Starting process tree (multiple process groups)
     test_process = subprocess.Popen(test_cmd, shell=True)
     time.sleep(0.3) # Delay to allow subprocess to start
     # Check if processes are running
     ps_cmd = """ps aux | grep "{0}" | grep -v grep """.format(sleep_cmd)
     ps_process = subprocess.Popen(ps_cmd, stdout=subprocess.PIPE, shell=True)
     (out, err) = ps_process.communicate()
     self.assertTrue(sleep_cmd in out)
     # Kill test process
     shell.kill_process_with_children(test_process.pid)
     test_process.communicate()
     # Now test process should not be running
     ps_process = subprocess.Popen(ps_cmd, stdout=subprocess.PIPE, shell=True)
     (out, err) = ps_process.communicate()
     self.assertFalse(sleep_cmd in out)
     shell.gracefull_kill_delay = gracefull_kill_delay_old
   else:
     # Do not run under other systems
     pass
예제 #3
0
  def test_kill_process_with_children(self):
    dist = self.linux_distribution()
    operatingSystem = dist[0].lower()
    if operatingSystem in self.unsupported_for_test:
      return

    if _platform == "linux" or _platform == "linux2": # Test is Linux-specific
      gracefull_kill_delay_old = shell.gracefull_kill_delay
      shell.gracefull_kill_delay = 0.1
      sleep_cmd = "sleep 10"
      test_cmd = """ (({0}) & ({0} & {0})) """.format(sleep_cmd)
      # Starting process tree (multiple process groups)
      test_process = subprocess.Popen(test_cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
      time.sleep(0.3) # Delay to allow subprocess to start
      # Check if processes are running
      ps_cmd = """ps aux """
      ps_process = subprocess.Popen(ps_cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
      (out, err) = ps_process.communicate()
      self.assertTrue(sleep_cmd in out)
      # Kill test process
      shell.kill_process_with_children(test_process.pid)
      test_process.communicate()
      # Now test process should not be running
      ps_process = subprocess.Popen(ps_cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
      (out, err) = ps_process.communicate()
      self.assertFalse(sleep_cmd in out)
      shell.gracefull_kill_delay = gracefull_kill_delay_old
    else:
      # Do not run under other systems
      pass
예제 #4
0
    def test_kill_process_with_children(self):
        dist = self.linux_distribution()
        operatingSystem = dist[0].lower()
        if operatingSystem in self.unsupported_for_test:
            return

        if _platform == "linux" or _platform == "linux2":  # Test is Linux-specific
            gracefull_kill_delay_old = shell.gracefull_kill_delay
            shell.gracefull_kill_delay = 0.1
            sleep_cmd = "sleep 10"
            test_cmd = """ (({0}) & ({0} & {0})) """.format(sleep_cmd)
            # Starting process tree (multiple process groups)
            test_process = subprocess.Popen(test_cmd,
                                            stderr=subprocess.PIPE,
                                            stdout=subprocess.PIPE,
                                            shell=True)
            time.sleep(0.3)  # Delay to allow subprocess to start
            # Check if processes are running
            ps_cmd = """ps aux """
            ps_process = subprocess.Popen(ps_cmd,
                                          stderr=subprocess.PIPE,
                                          stdout=subprocess.PIPE,
                                          shell=True)
            (out, err) = ps_process.communicate()
            self.assertTrue(sleep_cmd in out)
            # Kill test process
            shell.kill_process_with_children(test_process.pid)
            test_process.communicate()
            # Now test process should not be running
            ps_process = subprocess.Popen(ps_cmd,
                                          stderr=subprocess.PIPE,
                                          stdout=subprocess.PIPE,
                                          shell=True)
            (out, err) = ps_process.communicate()
            self.assertFalse(sleep_cmd in out)
            shell.gracefull_kill_delay = gracefull_kill_delay_old
        else:
            # Do not run under other systems
            pass