Skip to content

Commit

Permalink
bpo-37667: Add regression test for regrtest. (pythonGH-14929)
Browse files Browse the repository at this point in the history
Verify that it appears to find roughly the right number of tests in the stdlib's testsuite.
  • Loading branch information
gpshead authored Jul 24, 2019
1 parent f0807ab commit e95ac20
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions Lib/test/test_regrtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import contextlib
import faulthandler
import glob
import io
import os.path
import platform
Expand Down Expand Up @@ -529,6 +530,31 @@ def run_python(self, args, **kw):
return proc.stdout


class CheckActualTests(BaseTestCase):
"""
Check that regrtest appears to find the expected set of tests.
"""

def test_finds_expected_number_of_tests(self):
args = ['-Wd', '-E', '-bb', '-m', 'test.regrtest', '--list-tests']
output = self.run_python(args)
rough_number_of_tests_found = len(output.splitlines())
actual_testsuite_glob = os.path.join(os.path.dirname(__file__),
'test*.py')
rough_counted_test_py_files = len(glob.glob(actual_testsuite_glob))
# We're not trying to duplicate test finding logic in here,
# just give a rough estimate of how many there should be and
# be near that. This is a regression test to prevent mishaps
# such as https://bugs.python.org/issue37667 in the future.
# If you need to change the values in here during some
# mythical future test suite reorganization, don't go
# overboard with logic and keep that goal in mind.
self.assertGreater(rough_number_of_tests_found,
rough_counted_test_py_files*9//10,
msg='Unexpectedly low number of tests found in:\n'
f'{", ".join(output.splitlines())}')


class ProgramsTestCase(BaseTestCase):
"""
Test various ways to run the Python test suite. Use options close
Expand Down

0 comments on commit e95ac20

Please sign in to comment.