tests/run-tests.py
changeset 8280 0b02d98d44d0
parent 8258 2263c49af028
child 8397 613ac2856535
equal deleted inserted replaced
8279:602ed4982f36 8280:0b02d98d44d0
     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: '