tests/test-hghave.t
changeset 25732 b94df10cc3b5
parent 25472 4d2b9b304ad0
child 26158 342ab95a1f4b
--- a/tests/test-hghave.t	Fri Jul 03 06:56:03 2015 +0900
+++ b/tests/test-hghave.t	Fri Jul 03 06:56:03 2015 +0900
@@ -1,3 +1,39 @@
 Testing that hghave does not crash when checking features
 
   $ hghave --test-features 2>/dev/null
+
+Testing hghave extensibility for third party tools
+
+  $ cat > hghaveaddon.py <<EOF
+  > import hghave
+  > @hghave.check("custom", "custom hghave feature")
+  > def has_custom():
+  >     return True
+  > EOF
+
+(invocation via run-tests.py)
+
+  $ cat > test-hghaveaddon.t <<EOF
+  > #require custom
+  >   $ echo foo
+  >   foo
+  > EOF
+  $ run-tests.py test-hghaveaddon.t
+  .
+  # Ran 1 tests, 0 skipped, 0 warned, 0 failed.
+
+(invocation via command line)
+
+  $ unset TESTDIR
+  $ hghave custom
+
+(terminate with exit code 2 at failure of importing hghaveaddon.py)
+
+  $ rm hghaveaddon.*
+  $ cat > hghaveaddon.py <<EOF
+  > importing this file should cause syntax error
+  > EOF
+
+  $ hghave custom
+  failed to import hghaveaddon.py from '.': invalid syntax (hghaveaddon.py, line 1)
+  [2]