diff options
Diffstat (limited to 'test/errors.py')
-rw-r--r-- | test/errors.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/errors.py b/test/errors.py new file mode 100644 index 0000000..d3b7e04 --- /dev/null +++ b/test/errors.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python + +__revision__ = "test/t0003.py __REVISION__ __DATE__ __DEVELOPER__" + +from TestCmd import TestCmd + +test = TestCmd(program = 'scons.py', + workdir = '', + interpreter = 'python') + +test.write('SConstruct1', """ +a ! int(2.0) +""") +test.run(chdir = '.', arguments='-f SConstruct1') +test.fail_test(test.stderr() != """ File "SConstruct1", line 2 + + a ! int(2.0) + + ^ + +SyntaxError: invalid syntax + +""") + + +test.write('SConstruct2', """ +raise UserError, 'Depends() require both sources and targets.' +""") +test.run(chdir = '.', arguments='-f SConstruct2') +test.fail_test(test.stderr() != """ +SCons error: Depends() require both sources and targets. +File "SConstruct2", line 2, in ? +""") + + +import os +sconspath = os.path.join(os.getcwd(), 'scons.py') + +test.write('SConstruct3', """ +raise InternalError, 'error inside' +""") +test.run(chdir = '.', arguments='-f SConstruct3') +expect = r"""Traceback \((most recent call|innermost) last\): + File "%s", line 163, in \? + main\(\) + File "%s", line 153, in main + execfile\(file\) + File "SConstruct3", line 2, in \? + raise InternalError, 'error inside' +InternalError: error inside +""" % (sconspath, sconspath) +test.fail_test(not test.match_re(test.stderr(), expect)) + +test.pass_test() |