tests/run-tests.py
changeset 39645 13179f97f697
parent 39589 4eb0f2452ad7
child 39646 f3d1229555d9
equal deleted inserted replaced
39644:3b421154d2ca 39645:13179f97f697
    84         reload(sys)
    84         reload(sys)
    85         sys.setdefaultencoding("undefined")
    85         sys.setdefaultencoding("undefined")
    86     except NameError:
    86     except NameError:
    87         pass
    87         pass
    88 
    88 
    89 origenviron = os.environ.copy()
       
    90 osenvironb = getattr(os, 'environb', os.environ)
       
    91 processlock = threading.Lock()
    89 processlock = threading.Lock()
    92 
    90 
    93 pygmentspresent = False
    91 pygmentspresent = False
    94 # ANSI color is unsupported prior to Windows 10
    92 # ANSI color is unsupported prior to Windows 10
    95 if os.name != 'nt':
    93 if os.name != 'nt':
   139         }
   137         }
   140 
   138 
   141     runnerformatter = formatters.Terminal256Formatter(style=TestRunnerStyle)
   139     runnerformatter = formatters.Terminal256Formatter(style=TestRunnerStyle)
   142     runnerlexer = TestRunnerLexer()
   140     runnerlexer = TestRunnerLexer()
   143 
   141 
       
   142 origenviron = os.environ.copy()
       
   143 
   144 if sys.version_info > (3, 5, 0):
   144 if sys.version_info > (3, 5, 0):
   145     PYTHON3 = True
   145     PYTHON3 = True
   146     xrange = range # we use xrange in one place, and we'd rather not use range
   146     xrange = range # we use xrange in one place, and we'd rather not use range
   147     def _bytespath(p):
   147     def _bytespath(p):
   148         if p is None:
   148         if p is None:
   152     def _strpath(p):
   152     def _strpath(p):
   153         if p is None:
   153         if p is None:
   154             return p
   154             return p
   155         return p.decode('utf-8')
   155         return p.decode('utf-8')
   156 
   156 
       
   157     osenvironb = getattr(os, 'environb', None)
       
   158     if osenvironb is None:
       
   159         # Windows lacks os.environb, for instance.
       
   160         osenvironb = {
       
   161             _bytespath(k): _bytespath(v) for k, v in os.environ.items()
       
   162         }
       
   163 
   157 elif sys.version_info >= (3, 0, 0):
   164 elif sys.version_info >= (3, 0, 0):
   158     print('%s is only supported on Python 3.5+ and 2.7, not %s' %
   165     print('%s is only supported on Python 3.5+ and 2.7, not %s' %
   159           (sys.argv[0], '.'.join(str(v) for v in sys.version_info[:3])))
   166           (sys.argv[0], '.'.join(str(v) for v in sys.version_info[:3])))
   160     sys.exit(70) # EX_SOFTWARE from `man 3 sysexit`
   167     sys.exit(70) # EX_SOFTWARE from `man 3 sysexit`
   161 else:
   168 else:
   167     # help keep code consistent between platforms.
   174     # help keep code consistent between platforms.
   168     def _bytespath(p):
   175     def _bytespath(p):
   169         return p
   176         return p
   170 
   177 
   171     _strpath = _bytespath
   178     _strpath = _bytespath
       
   179     osenvironb = os.environ
   172 
   180 
   173 # For Windows support
   181 # For Windows support
   174 wifexited = getattr(os, "WIFEXITED", lambda x: False)
   182 wifexited = getattr(os, "WIFEXITED", lambda x: False)
   175 
   183 
   176 # Whether to use IPv6
   184 # Whether to use IPv6