Skip to content

Commit ebba337

Browse files
committed
unittest: Print an error message if no tests ran
1 parent 6532200 commit ebba337

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

Lib/test/test_unittest/test_runner.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,16 @@ def test(self):
574574
'inner setup', 'inner test', 'inner cleanup',
575575
'end outer test', 'outer cleanup'])
576576

577+
def test_run_empty_suite_error_message(self):
578+
class EmptyTest(unittest.TestCase):
579+
pass
580+
581+
suite = unittest.defaultTestLoader.loadTestsFromTestCase(EmptyTest)
582+
runner = getRunner()
583+
runner.run(suite)
584+
585+
self.assertIn("\nNO TESTS RUN\n", runner.stream.getvalue())
586+
577587

578588
class TestModuleCleanUp(unittest.TestCase):
579589
def test_add_and_do_ModuleCleanup(self):

Lib/unittest/runner.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ def run(self, test):
238238
infos.append("failures=%d" % failed)
239239
if errored:
240240
infos.append("errors=%d" % errored)
241+
elif run == 0:
242+
self.stream.write("NO TESTS RUN")
241243
else:
242244
self.stream.write("OK")
243245
if skipped:

0 commit comments

Comments
 (0)