summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/TaskmasterTests.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-09-18 12:41:15 (GMT)
committerSteven Knight <knight@baldmt.com>2004-09-18 12:41:15 (GMT)
commit80a0699a0a8de7400e34c2e72dce9b9abebd674d (patch)
treea6471aa2c86cfe1d44b297e29d7df306152b477d /src/engine/SCons/TaskmasterTests.py
parentf60958ba86ac7d131bdcbce5a40bd820b23ff9dd (diff)
downloadSCons-80a0699a0a8de7400e34c2e72dce9b9abebd674d.zip
SCons-80a0699a0a8de7400e34c2e72dce9b9abebd674d.tar.gz
SCons-80a0699a0a8de7400e34c2e72dce9b9abebd674d.tar.bz2
Print tracebacks for errors other than UserError and StopError. (Gary Oberbrunner)
Diffstat (limited to 'src/engine/SCons/TaskmasterTests.py')
-rw-r--r--src/engine/SCons/TaskmasterTests.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/engine/SCons/TaskmasterTests.py b/src/engine/SCons/TaskmasterTests.py
index 8865e09..a908192 100644
--- a/src/engine/SCons/TaskmasterTests.py
+++ b/src/engine/SCons/TaskmasterTests.py
@@ -921,7 +921,25 @@ class TaskmasterTestCase(unittest.TestCase):
else:
assert 0, "did not catch expected exception"
- t.exception_set(("exception 3", "XYZZY"))
+ try:
+ 1/0
+ except:
+ tb = sys.exc_info()[2]
+ t.exception_set(("exception 3", "arg", tb))
+ try:
+ t.exception_raise()
+ except:
+ exc_type, exc_value, exc_tb = sys.exc_info()
+ assert exc_type == 'exception 3', exc_type
+ assert exc_value == "arg", exc_value
+ import traceback
+ x = traceback.extract_tb(tb)[-1]
+ y = traceback.extract_tb(exc_tb)[-1]
+ assert x == y, "x = %s, y = %s" % (x, y)
+ else:
+ assert 0, "did not catch expected exception"
+
+ t.exception_set(("exception 4", "XYZZY"))
def fw_exc(exc):
raise 'exception_forwarded', exc
tm.exception_raise = fw_exc
@@ -930,7 +948,7 @@ class TaskmasterTestCase(unittest.TestCase):
except:
exc_type, exc_value = sys.exc_info()[:2]
assert exc_type == 'exception_forwarded', exc_type
- assert exc_value[0] == "exception 3", exc_value[0]
+ assert exc_value[0] == "exception 4", exc_value[0]
assert exc_value[1] == "XYZZY", exc_value[1]
else:
assert 0, "did not catch expected exception"