def testSuccess(self):
        fd = open(self.tempfile,'w')
        try:
            fd.write("""import sys
sys.exit(123)""")
        finally:
            fd.close()

        tp = TimedProcess()
        process = tp.executeScript(['python', self.tempfile], 10)
        while process.poll() is None:
            sleep(0.1)
        exitstatus = tp.stopScript(process)
        self.assertFalse(tp.wasTimeout())
        self.assertTrue(tp.wasSuccess())
        self.assertEquals(123, exitstatus)
    def testSuccessParameters(self):
        fd = open(self.tempfile,'w')
        try:
            fd.write("""import sys
open('%s', 'w').write(str(len(sys.argv[1:])))
""" % join(self.tempdir, 'output.txt'))
        finally:
            fd.close()

        tp = TimedProcess()
        process = tp.executeScript(['python', self.tempfile, 'it','is','difficult'], 10)
        while process.poll() is None:
            sleep(0.1)
        exitstatus = tp.stopScript(process)
        self.assertFalse(tp.wasTimeout())
        self.assertTrue(tp.wasSuccess())
        self.assertEquals('3', open(join(self.tempdir, 'output.txt')).read())
        self.assertEquals(0, exitstatus)
    def testSuccess(self):
        with open(self.tempfile,'w') as fd:
            fd.write("""import sys
sys.exit(123)""")

        tp = TimedProcess()
        process = tp.executeScript(['python', self.tempfile], 10)
        while process.poll() is None:
            sleep(0.1)
        exitstatus = tp.stopScript(process)
        self.assertFalse(tp.wasTimeout())
        self.assertTrue(tp.wasSuccess())
        self.assertEqual(123, exitstatus)
    def testSuccessParameters(self):
        with open(self.tempfile,'w') as fd:
            fd.write("""import sys
with open('%s', 'w') as fp: fp.write(str(len(sys.argv[1:])))
""" % join(self.tempdir, 'output.txt'))

        tp = TimedProcess()
        process = tp.executeScript(['python', self.tempfile, 'it','is','difficult'], 10)
        while process.poll() is None:
            sleep(0.1)
        exitstatus = tp.stopScript(process)
        self.assertFalse(tp.wasTimeout())
        self.assertTrue(tp.wasSuccess())
        with open(join(self.tempdir, 'output.txt')) as fp:
            self.assertEqual('3', fp.read())
        self.assertEqual(0, exitstatus)