fix: propagate compile errors from imported modules and update test runner to skip them

This commit is contained in:
Bob Nystrom
2015-12-08 15:49:37 +00:00
parent 9dcba9f8b6
commit 0f0d3f0c2d
5 changed files with 21 additions and 7 deletions
+9 -4
View File
@@ -173,15 +173,20 @@ class Test:
self.runtime_error_message)
return
# Make sure we got the right error.
if error_lines[0] != self.runtime_error_message:
# Skip any compile errors. This can happen if there is a compile error in
# a module loaded by the module being tested.
line = 0
while ERROR_PATTERN.search(error_lines[line]):
line += 1
if error_lines[line] != self.runtime_error_message:
self.fail('Expected runtime error "{0}" and got:',
self.runtime_error_message)
self.fail(error_lines[0])
self.fail(error_lines[line])
# Make sure the stack trace has the right line. Skip over any lines that
# come from builtin libraries.
stack_lines = error_lines[1:]
stack_lines = error_lines[line + 1:]
for stack_line in stack_lines:
match = STACK_TRACE_PATTERN.search(stack_line)
if match: break