Christian Heimes | 55b196a | 2016-09-22 16:49:35 +0200 | [diff] [blame] | 1 | # Convenience test module to run all of the OpenSSL-related tests in the |
Christian Heimes | c6d471d | 2013-12-05 07:45:36 +0100 | [diff] [blame] | 2 | # standard library. |
| 3 | |
Christian Heimes | 55b196a | 2016-09-22 16:49:35 +0200 | [diff] [blame] | 4 | import ssl |
Christian Heimes | c6d471d | 2013-12-05 07:45:36 +0100 | [diff] [blame] | 5 | import sys |
| 6 | import subprocess |
| 7 | |
Christian Heimes | 55b196a | 2016-09-22 16:49:35 +0200 | [diff] [blame] | 8 | TESTS = [ |
| 9 | 'test_asyncio', 'test_ensurepip.py', 'test_ftplib', 'test_hashlib', |
| 10 | 'test_hmac', 'test_httplib', 'test_imaplib', 'test_nntplib', |
| 11 | 'test_poplib', 'test_ssl', 'test_smtplib', 'test_smtpnet', |
| 12 | 'test_urllib2_localnet', 'test_venv', 'test_xmlrpc' |
| 13 | ] |
Christian Heimes | c6d471d | 2013-12-05 07:45:36 +0100 | [diff] [blame] | 14 | |
| 15 | def run_regrtests(*extra_args): |
Christian Heimes | 55b196a | 2016-09-22 16:49:35 +0200 | [diff] [blame] | 16 | print(ssl.OPENSSL_VERSION) |
| 17 | args = [ |
| 18 | sys.executable, |
| 19 | '-Werror', '-bb', # turn warnings into exceptions |
| 20 | '-m', 'test', |
| 21 | ] |
Christian Heimes | c6d471d | 2013-12-05 07:45:36 +0100 | [diff] [blame] | 22 | if not extra_args: |
Christian Heimes | 55b196a | 2016-09-22 16:49:35 +0200 | [diff] [blame] | 23 | args.extend([ |
| 24 | '-r', # randomize |
| 25 | '-w', # re-run failed tests with -v |
| 26 | '-u', 'network', # use network |
| 27 | '-u', 'urlfetch', # download test vectors |
| 28 | '-j', '0' # use multiple CPUs |
| 29 | ]) |
Christian Heimes | c6d471d | 2013-12-05 07:45:36 +0100 | [diff] [blame] | 30 | else: |
| 31 | args.extend(extra_args) |
| 32 | args.extend(TESTS) |
| 33 | result = subprocess.call(args) |
| 34 | sys.exit(result) |
| 35 | |
| 36 | if __name__ == '__main__': |
| 37 | run_regrtests(*sys.argv[1:]) |