From 572737c791bd24d26bedb75cade234f14dbabe1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fekete=20Kriszti=C3=A1n?= Date: Tue, 16 Jun 2015 10:44:51 +0200 Subject: [PATCH] report unhandled exception in testing framework Fixes #60 - uncaught exception from testcase - exit without traceback --- green/cmdline.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/green/cmdline.py b/green/cmdline.py index ae1086a..d706dc2 100644 --- a/green/cmdline.py +++ b/green/cmdline.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import os import sys +import traceback try: # pragma: no cover import coverage @@ -80,11 +81,17 @@ def main(testing=False, coverage_testing=False): test_suite = GreenTestSuite() # Actually run the test_suite - if testing: - result = lambda: None - result.wasSuccessful = lambda: 0 - else: - result = run(test_suite, stream, args) # pragma: no cover + # result defaults to a failure + result = lambda: None + result.wasSuccessful = lambda: 0 + if not testing: + try: + result = run(test_suite, stream, args) + except: + sys.__stderr__.write( + 'Unhandled exception in the testing framework:\n') + tb_limit = None + traceback.print_exc(tb_limit, sys.__stderr__) if args.run_coverage and ((not testing) or coverage_testing): stream.writeln()