Home | History | Annotate | Download | only in test
      1 # Convenience test module to run all of the OpenSSL-related tests in the
      2 # standard library.
      3 
      4 import ssl
      5 import sys
      6 import subprocess
      7 
      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 ]
     14 
     15 def run_regrtests(*extra_args):
     16     print(ssl.OPENSSL_VERSION)
     17     args = [
     18         sys.executable,
     19         '-Werror', '-bb',  # turn warnings into exceptions
     20         '-m', 'test',
     21     ]
     22     if not extra_args:
     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         ])
     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:])
     38