Andrew Leech
9f6f211506
unittest: Reset python env between tests.
2022-05-06 10:47:37 +10:00
Andrew Leech
a7b2f63117
unittest: Add discover function.
2022-05-06 10:47:37 +10:00
Andrew Leech
9d9ca3d59b
unittest: Run test_* functions as well as TestCase classes.
2022-05-06 10:47:37 +10:00
Andrew Leech
c7eb3de858
unittest: Print module name on result lines.
...
Matches cpython format.
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
f92833b015
unittest: Support TestCase subclasses with own runTest() method.
...
E.g. for doctest.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
ac282d861e
unittest: Add TextTestRunner as alias for TestRunner.
...
For CPython compatibility.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
5a53a75ec1
unittest: Print no. of skipped tests in a way compatible with CPython.
...
Perhaps, modern CPython (3.8).
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
377ebbfe56
unittest: Add expectedFailure decorator.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
8e82f3d80b
unittest: Support recursive TestSuite's.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
e582666f5d
unittest: Properly handle failures vs errors.
...
Also, rework result printing to be more compatible with CPython.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
1b46612f94
unittest: Implement basic addCleanup()/doCleanup().
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
2c0b508e4d
unittest: TestSuite: Add run() method.
...
For CPython compatibility.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
04dce89790
unittest: Add dummy TestCase.assertWarns() context manager.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
555f28ce6d
unittest: Add dummy TestCase.subTest() context manager.
...
Just runs "subtests" in the scope of the main TestCase.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
7d77774027
unittest: Add TestCase.skipTest() method.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
5d3a44cb1c
unittest: TestCase: Add (dummy) __init__.
...
Mostly to workaround inherited MicroPython's issues with inheritance.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
f09d2ec608
unittest: Support both test classes and class instances.
...
And for clarity, rename runner function run_class() -> run_suite().
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
d747b21fc6
unittest: Only treat callable fields as test methods.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
c72ec5c029
unittest: TestSuite: Add undescore to internal field, self._tests.
...
To avoid possible name clashes.
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
dc788f4e50
unittest: Reinstate useful debugger helper.
...
Signed-off-by: Paul Sokolovsky <pfalcon@users.sourceforge.net>
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
dedfe2dcd4
unittest: Add assertLessEqual, assertGreaterEqual methods.
...
As used by CPython testsuite.
2022-05-06 10:47:37 +10:00
Paul Sokolovsky
a57b575020
unittest: AssertRaisesContext: Store exception value as self.exception.
...
For tests to check. This feature is used by CPython stdlib tests.
2022-05-06 10:47:37 +10:00
sss
669d343feb
unittest: Allow to catch AssertionError with assertRaises().
...
Without this change, current implementaiton produces a false positive
result for AssertionError type.
Example of falsely passing test code:
def test(a, b):
assert a > 10
assert b > 10
self.assertRaises(AssertionError, test, 20, 20)
2022-05-06 10:47:37 +10:00
Andrew Leech
7d4d02edfc
unittest: Log failure tracebacks at test end.
...
Store traceback details for each test failure and log to console at the
end of the test, like CPython version of the module does.
2022-05-06 10:47:37 +10:00
Andrew Leech
a9cd99ce2d
unittest: Allow passing module name or instance into unittest.main()
2022-05-06 10:47:37 +10:00
Jim Mussared
fa13cbbc8b
all: Run black over all code.
...
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2021-05-27 15:50:04 +10:00
Jim Mussared
1a28fe84e8
top: Move modules into python-stdlib, unix-ffi, or micropython.
2021-05-27 15:41:08 +10:00