Mercurial > bitten > bitten-test
changeset 280:24ba49dee33c
Reenable unit tests accidentially commented out in [291]. Two of these are known to fail on windows... working on that.
author | cmlenz |
---|---|
date | Fri, 14 Oct 2005 19:48:03 +0000 |
parents | 5e7b6337d77c |
children | 33625fa61d6c |
files | bitten/build/tests/api.py |
diffstat | 1 files changed, 88 insertions(+), 88 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/build/tests/api.py +++ b/bitten/build/tests/api.py @@ -74,94 +74,94 @@ self.assertEqual([], stdout) self.assertEqual(0, cmdline.returncode) -# def test_multiple_arguments(self): -# script_file = self._create_file('test.py', content=""" -#import sys -#for arg in sys.argv[1:]: -# print arg -#""") -# cmdline = CommandLine('python', [script_file, 'foo', 'bar', 'baz']) -# stdout = [] -# stderr = [] -# for out, err in cmdline.execute(timeout=5.0): -# stdout.append(out) -# stderr.append(err) -# py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) -# self.assertEqual(['foo', 'bar', 'baz'], stdout) -# self.assertEqual([None, None, None], stderr) -# self.assertEqual(0, cmdline.returncode) -# -# def test_output_error_streams(self): -# script_file = self._create_file('test.py', content=""" -#import sys, time -#print>>sys.stdout, 'Hello' -#print>>sys.stdout, 'world!' -#sys.stdout.flush() -#time.sleep(.1) -#print>>sys.stderr, 'Oops' -#sys.stderr.flush() -#""") -# cmdline = CommandLine('python', [script_file]) -# stdout = [] -# stderr = [] -# for out, err in cmdline.execute(timeout=5.0): -# stdout.append(out) -# stderr.append(err) -# py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) -# self.assertEqual(['Hello', 'world!', None], stdout) -# self.assertEqual([None, None, 'Oops'], stderr) -# self.assertEqual(0, cmdline.returncode) -# -# def test_input_stream_as_fileobj(self): -# script_file = self._create_file('test.py', content=""" -#import sys -#data = sys.stdin.read() -#if data == 'abcd': -# print>>sys.stdout, 'Thanks' -#""") -# input_file = self._create_file('input.txt', content='abcd') -# input_fileobj = file(input_file, 'r') -# try: -# cmdline = CommandLine('python', [script_file], input=input_fileobj) -# stdout = [] -# stderr = [] -# for out, err in cmdline.execute(timeout=5.0): -# stdout.append(out) -# stderr.append(err) -# py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) -# self.assertEqual(['Thanks'], stdout) -# self.assertEqual([None], stderr) -# self.assertEqual(0, cmdline.returncode) -# finally: -# input_fileobj.close() -# -# def test_input_stream_as_string(self): -# script_file = self._create_file('test.py', content=""" -#import sys -#data = sys.stdin.read() -#if data == 'abcd': -# print>>sys.stdout, 'Thanks' -#""") -# cmdline = CommandLine('python', [script_file], input='abcd') -# stdout = [] -# stderr = [] -# for out, err in cmdline.execute(timeout=5.0): -# stdout.append(out) -# stderr.append(err) -# py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) -# self.assertEqual(['Thanks'], stdout) -# self.assertEqual([None], stderr) -# self.assertEqual(0, cmdline.returncode) -# -# def test_timeout(self): -# script_file = self._create_file('test.py', content=""" -#import time -#time.sleep(2.0) -#print 'Done' -#""") -# cmdline = CommandLine('python', [script_file]) -# iterable = iter(cmdline.execute(timeout=.5)) -# self.assertRaises(TimeoutError, iterable.next) + def test_multiple_arguments(self): + script_file = self._create_file('test.py', content=""" +import sys +for arg in sys.argv[1:]: + print arg +""") + cmdline = CommandLine('python', [script_file, 'foo', 'bar', 'baz']) + stdout = [] + stderr = [] + for out, err in cmdline.execute(timeout=5.0): + stdout.append(out) + stderr.append(err) + py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) + self.assertEqual(['foo', 'bar', 'baz'], stdout) + self.assertEqual([None, None, None], stderr) + self.assertEqual(0, cmdline.returncode) + + def test_output_error_streams(self): + script_file = self._create_file('test.py', content=""" +import sys, time +print>>sys.stdout, 'Hello' +print>>sys.stdout, 'world!' +sys.stdout.flush() +time.sleep(.1) +print>>sys.stderr, 'Oops' +sys.stderr.flush() +""") + cmdline = CommandLine('python', [script_file]) + stdout = [] + stderr = [] + for out, err in cmdline.execute(timeout=5.0): + stdout.append(out) + stderr.append(err) + py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) + self.assertEqual(['Hello', 'world!', None], stdout) + self.assertEqual([None, None, 'Oops'], stderr) + self.assertEqual(0, cmdline.returncode) + + def test_input_stream_as_fileobj(self): + script_file = self._create_file('test.py', content=""" +import sys +data = sys.stdin.read() +if data == 'abcd': + print>>sys.stdout, 'Thanks' +""") + input_file = self._create_file('input.txt', content='abcd') + input_fileobj = file(input_file, 'r') + try: + cmdline = CommandLine('python', [script_file], input=input_fileobj) + stdout = [] + stderr = [] + for out, err in cmdline.execute(timeout=5.0): + stdout.append(out) + stderr.append(err) + py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) + self.assertEqual(['Thanks'], stdout) + self.assertEqual([None], stderr) + self.assertEqual(0, cmdline.returncode) + finally: + input_fileobj.close() + + def test_input_stream_as_string(self): + script_file = self._create_file('test.py', content=""" +import sys +data = sys.stdin.read() +if data == 'abcd': + print>>sys.stdout, 'Thanks' +""") + cmdline = CommandLine('python', [script_file], input='abcd') + stdout = [] + stderr = [] + for out, err in cmdline.execute(timeout=5.0): + stdout.append(out) + stderr.append(err) + py_version = '.'.join([str(v) for (v) in sys.version_info[:3]]) + self.assertEqual(['Thanks'], stdout) + self.assertEqual([None], stderr) + self.assertEqual(0, cmdline.returncode) + + def test_timeout(self): + script_file = self._create_file('test.py', content=""" +import time +time.sleep(2.0) +print 'Done' +""") + cmdline = CommandLine('python', [script_file]) + iterable = iter(cmdline.execute(timeout=.5)) + self.assertRaises(TimeoutError, iterable.next) class FileSetTestCase(unittest.TestCase):