def test_canGetErrorStream(self):
     script = "raise Exception('foo')"
     with open(self.tempFile, 'w') as f:
         f.write(script)
     runner = ScriptRunner(self.tempFile)
     runner.executeAsync()
     self.assertTrue(any('Exception: foo' in line for line in runner.errorStream()))
     runner.join()
 def test_canGetOutputStream(self):
     script = "print 'Foobar'"
     with open(self.tempFile, 'w') as f:
         f.write(script)
     runner = ScriptRunner(self.tempFile)
     runner.executeAsync()
     out = runner.outputStream().next()
     self.assertEqual('Foobar\n', out)
     runner.join()
 def test_canExecuteAsync(self):
     script = "print 'Foobar'"
     with open(self.tempFile, 'w') as f:
         f.write(script)
     runner = ScriptRunner(self.tempFile)
     runner.executeAsync()
     out, _ = runner.join()
     self.assertEqual('Foobar\n', out)