tests/hghave
changeset 1034 0350b6b64aff
parent 1032 5923d03569b3
child 1055 dabed2cabd5e
equal deleted inserted replaced
1029:ab16e060541e 1034:0350b6b64aff
    43     except ImportError:
    43     except ImportError:
    44         return False
    44         return False
    45 
    45 
    46 def has_cvs():
    46 def has_cvs():
    47     re = r'Concurrent Versions System.*?server'
    47     re = r'Concurrent Versions System.*?server'
    48     return matchoutput('cvs --version 2>&1', re)
    48     return matchoutput('cvs --version 2>&1', re) and not has_msys()
    49 
    49 
    50 def has_darcs():
    50 def has_darcs():
    51     return matchoutput('darcs --version', r'2\.[2-9]', True)
    51     return matchoutput('darcs --version', r'2\.[2-9]', True)
    52 
    52 
    53 def has_mtn():
    53 def has_mtn():
   218 def has_serve():
   218 def has_serve():
   219     return os.name != 'nt' # gross approximation
   219     return os.name != 'nt' # gross approximation
   220 
   220 
   221 def has_tic():
   221 def has_tic():
   222     return matchoutput('test -x "`which tic`"', '')
   222     return matchoutput('test -x "`which tic`"', '')
       
   223 
       
   224 def has_msys():
       
   225     return os.getenv('MSYSTEM')
   223 
   226 
   224 checks = {
   227 checks = {
   225     "baz": (has_baz, "GNU Arch baz client"),
   228     "baz": (has_baz, "GNU Arch baz client"),
   226     "bzr": (has_bzr, "Canonical's Bazaar client"),
   229     "bzr": (has_bzr, "Canonical's Bazaar client"),
   227     "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"),
   230     "bzr114": (has_bzr114, "Canonical's Bazaar client >= 1.14"),
   253     "system-sh": (has_system_sh, "system() uses sh"),
   256     "system-sh": (has_system_sh, "system() uses sh"),
   254     "tic": (has_tic, "terminfo compiler"),
   257     "tic": (has_tic, "terminfo compiler"),
   255     "tla": (has_tla, "GNU Arch tla client"),
   258     "tla": (has_tla, "GNU Arch tla client"),
   256     "unix-permissions": (has_unix_permissions, "unix-style permissions"),
   259     "unix-permissions": (has_unix_permissions, "unix-style permissions"),
   257     "windows": (has_windows, "Windows"),
   260     "windows": (has_windows, "Windows"),
       
   261     "msys": (has_msys, "Windows with MSYS"),
   258 }
   262 }
   259 
   263 
   260 def list_features():
   264 def list_features():
   261     for name, feature in checks.iteritems():
   265     for name, feature in checks.iteritems():
   262         desc = feature[1]
   266         desc = feature[1]