equal
deleted
inserted
replaced
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 |