示例#1
0
 def test_signal(self):
     if self.platform == 'win':
         raise SkipTest('Broken OS')
     proc = Subcommand((sys.executable, '-c', Commands.sleep, '10'),
                       wait=False)
     try:
         proc.terminate()
         self.assertIsNone(proc.returncode, None)
         proc.wait()
         self.assertLess(proc.returncode, 0)
         self.assertEqual(proc.returncode, -15)
     finally:
         proc.close()
示例#2
0
 def test_kill(self):
     if self.platform == 'win':
         raise SkipTest('Broken OS')
     proc = Subcommand((sys.executable, '-c', Commands.sleep, '0.2'),
                       wait=False)
     try:
         self.assertIsNone(os.kill(proc.proc.pid, 0))
         proc.kill()
         rc = proc.wait()
         self.assertLess(rc, 0)
         self.assertEqual(rc, -9)
         self.assertRaises(OSError, os.kill, proc.proc.pid, 0)
     finally:
         proc.close()
示例#3
0
 def test_close(self):
     touchfile = self.dir + 'close.touch.txt'
     infile = self.dir + 'close.stdin.txt'
     outfile = self.dir + 'close.stdout.txt'
     errfile = self.dir + 'close.stderr.txt'
     infile.open('wt')  # just create the file
     proc = Subcommand(
         (sys.executable, '-c', Commands.touch, str(touchfile)),
         stdin=str(infile),
         stdout=str(outfile),
         stderr=str(errfile),
         wait=False,
     )
     self.assertFalse(proc.stdin.closed)
     self.assertFalse(proc.stdout.closed)
     self.assertFalse(proc.stderr.closed)
     proc.wait()
     self.assertTrue(proc.stdin.closed)
     self.assertFalse(proc.stdout.closed)
     self.assertFalse(proc.stderr.closed)
     proc.close()
     self.assertIsNone(proc.stdin)
     self.assertIsNone(proc.stdout)
     self.assertIsNone(proc.stderr)
示例#4
0
 def test_nowait(self):
     from time import sleep
     proc = Subcommand((sys.executable, '-c', Commands.sleep, '0.1'),
                       wait=False)
     try:
         self.assertFalse(proc.poll())
         sleep(0.2)
         self.assertTrue(proc.poll())
         self.assertEqual(proc.returncode, 0)
     finally:
         proc.close()
     proc = Subcommand((sys.executable, '-c', Commands.sleep, '0.1'),
                       wait=False)
     try:
         self.assertFalse(proc.poll())
         rc = proc.wait()
         self.assertEqual(rc, proc.returncode)
         self.assertEqual(proc.returncode, 0)
     finally:
         proc.close()