--- a/tests/hghave Fri Nov 11 09:38:45 2011 +0000
+++ b/tests/hghave Fri Nov 11 09:39:33 2011 +0000
@@ -161,7 +161,7 @@
return matchoutput('p4 -V', r'Rev\. P4/') and matchoutput('p4d -V', r'Rev\. P4D/')
def has_symlink():
- return hasattr(os, "symlink")
+ return hasattr(os, "symlink") # FIXME: should also check file system and os
def has_tla():
return matchoutput('tla --version 2>&1', r'The GNU Arch Revision')
@@ -209,6 +209,15 @@
except ImportError:
return False
+def has_windows():
+ return os.name == 'nt'
+
+def has_system_sh():
+ return os.name != 'nt'
+
+def has_serve():
+ return os.name != 'nt' # gross approximation
+
checks = {
"baz": (has_baz, "GNU Arch baz client"),
"bzr": (has_bzr, "Canonical's Bazaar client"),
@@ -231,14 +240,17 @@
"p4": (has_p4, "Perforce server and client"),
"pyflakes": (has_pyflakes, "Pyflakes python linter"),
"pygments": (has_pygments, "Pygments source highlighting library"),
+ "serve": (has_serve, "platform and python can manage 'hg serve -d'"),
"ssl": (has_ssl, "python >= 2.6 ssl module and python OpenSSL"),
"svn": (has_svn, "subversion client and admin tools"),
"svn13": (has_svn13, "subversion client and admin tools >= 1.3"),
"svn15": (has_svn15, "subversion client and admin tools >= 1.5"),
"svn-bindings": (has_svn_bindings, "subversion python bindings"),
"symlink": (has_symlink, "symbolic links"),
+ "system-sh": (has_system_sh, "system() uses sh"),
"tla": (has_tla, "GNU Arch tla client"),
"unix-permissions": (has_unix_permissions, "unix-style permissions"),
+ "windows": (has_windows, "Windows"),
}
def list_features():