equal
deleted
inserted
replaced
9 |
9 |
10 import difflib |
10 import difflib |
11 import errno |
11 import errno |
12 import optparse |
12 import optparse |
13 import os |
13 import os |
14 try: |
14 import subprocess |
15 import subprocess |
|
16 subprocess.Popen # trigger ImportError early |
|
17 closefds = os.name == 'posix' |
|
18 def Popen4(cmd, bufsize=-1): |
|
19 p = subprocess.Popen(cmd, shell=True, bufsize=bufsize, |
|
20 close_fds=closefds, |
|
21 stdin=subprocess.PIPE, stdout=subprocess.PIPE, |
|
22 stderr=subprocess.STDOUT) |
|
23 p.fromchild = p.stdout |
|
24 p.tochild = p.stdin |
|
25 p.childerr = p.stderr |
|
26 return p |
|
27 except ImportError: |
|
28 subprocess = None |
|
29 from popen2 import Popen4 |
|
30 import shutil |
15 import shutil |
31 import signal |
16 import signal |
32 import sys |
17 import sys |
33 import tempfile |
18 import tempfile |
34 import time |
19 import time |
|
20 |
|
21 closefds = os.name == 'posix' |
|
22 def Popen4(cmd, bufsize=-1): |
|
23 p = subprocess.Popen(cmd, shell=True, bufsize=bufsize, |
|
24 close_fds=closefds, |
|
25 stdin=subprocess.PIPE, stdout=subprocess.PIPE, |
|
26 stderr=subprocess.STDOUT) |
|
27 p.fromchild = p.stdout |
|
28 p.tochild = p.stdin |
|
29 p.childerr = p.stderr |
|
30 return p |
35 |
31 |
36 # reserved exit code to skip test (used by hghave) |
32 # reserved exit code to skip test (used by hghave) |
37 SKIPPED_STATUS = 80 |
33 SKIPPED_STATUS = 80 |
38 SKIPPED_PREFIX = 'skipped: ' |
34 SKIPPED_PREFIX = 'skipped: ' |
39 FAILED_PREFIX = 'hghave check failed: ' |
35 FAILED_PREFIX = 'hghave check failed: ' |