-"""Copied from https://raw.githubusercontent.com/micropython/micropython-lib/cfa1b9cce0c93a3115bbff3886c9bbcddd9e8047/unittest/unittest.py """
+"""Based on https://raw.githubusercontent.com/micropython/micropython-lib/cfa1b9cce0c93a3115bbff3886c9bbcddd9e8047/unittest/unittest.py """
+import sys
class SkipTest(Exception):
pass
+raiseException = False
+raiseBaseException = True
class AssertRaisesContext:
except SkipTest as e:
print(" skipped:", e.args[0])
test_result.skippedNum += 1
- except:
+ except Exception as e: # user exception
print(" FAIL")
- test_result.failuresNum += 1
- # Uncomment to investigate failure in detail
- #raise
- continue
+ if raiseException:
+ raise
+ else:
+ print(e)
+ test_result.failuresNum += 1
+ continue
+ except BaseException as e: # system exception
+ print(" FAIL")
+ if raiseBaseException:
+ raise
+ else:
+ print(e)
+ test_result.failuresNum += 1
+ continue
finally:
tear_down()
if isinstance(c, object) and isinstance(c, type) and issubclass(c, TestCase):
yield c
- m = __import__(module, fromlist=['']) # changed to permit non-top-level testing modules
+ m = __import__(module) # changed to permit non-top-level testing modules
suite = TestSuite()
for c in test_cases(m):
suite.addTest(c)