Patchwork [1,of,3] tests: alias syshg and syshgenv so they can be switched conditionally

login
register
mail settings
Submitter Yuya Nishihara
Date July 2, 2017, 7:12 a.m.
Message ID <8dfe0afe4c411739107e.1498979524@mimosa>
Download mbox | patch
Permalink /patch/21915/
State Accepted
Headers show

Comments

Yuya Nishihara - July 2, 2017, 7:12 a.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1498968860 -32400
#      Sun Jul 02 13:14:20 2017 +0900
# Node ID 8dfe0afe4c411739107e498561169b75e1d5383a
# Parent  6d678ab1b10d0fddc73003d21aa3c7ec43194e2e
tests: alias syshg and syshgenv so they can be switched conditionally

Patch

diff --git a/tests/helpers-testrepo.sh b/tests/helpers-testrepo.sh
--- a/tests/helpers-testrepo.sh
+++ b/tests/helpers-testrepo.sh
@@ -27,11 +27,10 @@  syshgenv () {
 # in ancient versions of hg. So we double check if "syshg files" works and
 # fallback to hg bundled in the repo.
 syshg files -h >/dev/null 2>/dev/null
-if [ $? -ne 0 ]; then
-    syshg() {
-        hg "$@"
-    }
-    syshgenv() {
-        :
-    }
+if [ $? -eq 0 ]; then
+    alias testrepohg=syshg
+    alias testrepohgenv=syshgenv
+else
+    alias testrepohg=hg
+    alias testrepohgenv=:
 fi
diff --git a/tests/test-check-code.t b/tests/test-check-code.t
--- a/tests/test-check-code.t
+++ b/tests/test-check-code.t
@@ -7,7 +7,8 @@ 
 New errors are not allowed. Warnings are strongly discouraged.
 (The writing "no-che?k-code" is for not skipping this file when checking.)
 
-  $ syshg locate -X contrib/python-zstandard -X hgext/fsmonitor/pywatchman |
+  $ testrepohg locate -X contrib/python-zstandard \
+  > -X hgext/fsmonitor/pywatchman |
   > sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false
   Skipping i18n/polib.py it has no-che?k-code (glob)
   Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
@@ -33,7 +34,7 @@  New errors are not allowed. Warnings are
 
 Prevent adding new files in the root directory accidentally.
 
-  $ syshg files 'glob:*'
+  $ testrepohg files 'glob:*'
   .editorconfig
   .hgignore
   .hgsigs
diff --git a/tests/test-check-commit.t b/tests/test-check-commit.t
--- a/tests/test-check-commit.t
+++ b/tests/test-check-commit.t
@@ -8,8 +8,9 @@  Go back in the hg repo
 
   $ cd $TESTDIR/..
 
-  $ for node in `syshg log --rev 'not public() and ::. and not desc("# no-check-commit")' --template '{node|short}\n'`; do
-  >    syshg export --git $node | contrib/check-commit > ${TESTTMP}/check-commit.out
+  $ for node in `testrepohg log --rev 'not public() and ::. and not desc("# no-check-commit")' --template '{node|short}\n'`; do
+  >    testrepohg export --git $node \
+  >        | contrib/check-commit > ${TESTTMP}/check-commit.out
   >    if [ $? -ne 0 ]; then
   >        echo "Revision $node does not comply with rules"
   >        echo '------------------------------------------------------'
diff --git a/tests/test-check-config.t b/tests/test-check-config.t
--- a/tests/test-check-config.t
+++ b/tests/test-check-config.t
@@ -31,7 +31,7 @@  Sanity check check-config.py
 
 New errors are not allowed. Warnings are strongly discouraged.
 
-  $ syshg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' |
+  $ testrepohg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' |
   >   $PYTHON contrib/check-config.py
               limit = ui.configwith(fraction, 'profiling', 'showmin', 0.05)
   
diff --git a/tests/test-check-execute.t b/tests/test-check-execute.t
--- a/tests/test-check-execute.t
+++ b/tests/test-check-execute.t
@@ -5,20 +5,20 @@ 
 
 look for python scripts without the execute bit
 
-  $ syshg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
+  $ testrepohg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
   [1]
 
 look for python scripts with execute bit but not shebang
 
-  $ syshg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
+  $ testrepohg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
   [1]
 
 look for shell scripts with execute bit but not shebang
 
-  $ syshg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
+  $ testrepohg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
   [1]
 
 look for non scripts with no shebang
 
-  $ syshg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
+  $ testrepohg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
   [1]
diff --git a/tests/test-check-help.t b/tests/test-check-help.t
--- a/tests/test-check-help.t
+++ b/tests/test-check-help.t
@@ -23,7 +23,7 @@ 
 Check if ":hg:`help TOPIC`" is valid:
 (use "xargs -n1 -t" to see which help commands are executed)
 
-  $ syshg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' \
+  $ testrepohg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' \
   > | sed 's|\\|/|g' \
   > | xargs $PYTHON "$TESTTMP/scanhelptopics.py" \
   > | xargs -n1 hg help > /dev/null
diff --git a/tests/test-check-module-imports.t b/tests/test-check-module-imports.t
--- a/tests/test-check-module-imports.t
+++ b/tests/test-check-module-imports.t
@@ -14,7 +14,7 @@  these may expose other cycles.
 Known-bad files are excluded by -X as some of them would produce unstable
 outputs, which should be fixed later.
 
-  $ syshg locate 'set:**.py or grep(r"^#!.*?python")' \
+  $ testrepohg locate 'set:**.py or grep(r"^#!.*?python")' \
   > 'tests/**.t' \
   > -X contrib/debugshell.py \
   > -X contrib/python-zstandard/ \
diff --git a/tests/test-check-py3-compat.t b/tests/test-check-py3-compat.t
--- a/tests/test-check-py3-compat.t
+++ b/tests/test-check-py3-compat.t
@@ -3,7 +3,8 @@ 
   $ . "$TESTDIR/helpers-testrepo.sh"
   $ cd "$TESTDIR"/..
 
-  $ syshg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON contrib/check-py3-compat.py
+  $ testrepohg files 'set:(**.py)' | sed 's|\\|/|g' \
+  > | xargs $PYTHON contrib/check-py3-compat.py
   contrib/python-zstandard/setup.py not using absolute_import
   contrib/python-zstandard/setup_zstd.py not using absolute_import
   contrib/python-zstandard/tests/common.py not using absolute_import
@@ -22,7 +23,8 @@ 
   tests/test-demandimport.py not using absolute_import
 
 #if py3exe
-  $ syshg files 'set:(**.py) - grep(pygments)' -X hgext/fsmonitor/pywatchman \
+  $ testrepohg files 'set:(**.py) - grep(pygments)' \
+  > -X hgext/fsmonitor/pywatchman \
   > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
   > | sed 's/[0-9][0-9]*)$/*)/'
   hgext/convert/transport.py: error importing: <*Error> No module named 'svn.client' (error at transport.py:*) (glob)
@@ -38,7 +40,7 @@ 
 #endif
 
 #if py3exe py3pygments
-  $ syshg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \
+  $ testrepohg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \
   > | xargs $PYTHON3 contrib/check-py3-compat.py \
   > | sed 's/[0-9][0-9]*)$/*)/'
 #endif
diff --git a/tests/test-check-pyflakes.t b/tests/test-check-pyflakes.t
--- a/tests/test-check-pyflakes.t
+++ b/tests/test-check-pyflakes.t
@@ -6,7 +6,7 @@ 
 run pyflakes on all tracked files ending in .py or without a file ending
 (skipping binary file random-seed)
 
-  $ syshg locate 'set:**.py or grep("^#!.*python")' \
+  $ testrepohg locate 'set:**.py or grep("^#!.*python")' \
   > -X hgext/fsmonitor/pywatchman \
   > -X mercurial/pycompat.py -X contrib/python-zstandard \
   > 2>/dev/null \
diff --git a/tests/test-check-shbang.t b/tests/test-check-shbang.t
--- a/tests/test-check-shbang.t
+++ b/tests/test-check-shbang.t
@@ -5,11 +5,11 @@ 
 
 look for python scripts that do not use /usr/bin/env
 
-  $ syshg files 'set:grep(r"^#!.*?python") and not grep(r"^#!/usr/bi{1}n/env python") - **/*.t'
+  $ testrepohg files 'set:grep(r"^#!.*?python") and not grep(r"^#!/usr/bi{1}n/env python") - **/*.t'
   [1]
 
 In tests, enforce $PYTHON and *not* /usr/bin/env python or similar:
-  $ syshg files 'set:grep(r"#!.*?python") and **/*.t' \
+  $ testrepohg files 'set:grep(r"#!.*?python") and **/*.t' \
   > -X tests/test-check-execute.t \
   > -X tests/test-check-module-imports.t \
   > -X tests/test-check-pyflakes.t \
@@ -21,5 +21,5 @@  contain Python but don't end in .py - pl
 
 look for shell scripts that do not use /bin/sh
 
-  $ syshg files 'set:grep(r"^#!.*/bi{1}n/sh") and not grep(r"^#!/bi{1}n/sh")'
+  $ testrepohg files 'set:grep(r"^#!.*/bi{1}n/sh") and not grep(r"^#!/bi{1}n/sh")'
   [1]
diff --git a/tests/test-contrib-perf.t b/tests/test-contrib-perf.t
--- a/tests/test-contrib-perf.t
+++ b/tests/test-contrib-perf.t
@@ -170,6 +170,6 @@  Check perf.py for historical portability
 
   $ cd "$TESTDIR/.."
 
-  $ (syshg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
-  >  syshg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
+  $ (testrepohg files -r 1.2 glob:mercurial/*.c glob:mercurial/*.py;
+  >  testrepohg files -r tip glob:mercurial/*.c glob:mercurial/*.py) |
   > "$TESTDIR"/check-perf-code.py contrib/perf.py
diff --git a/tests/test-debian-packages.t b/tests/test-debian-packages.t
--- a/tests/test-debian-packages.t
+++ b/tests/test-debian-packages.t
@@ -1,7 +1,7 @@ 
 #require test-repo slow debhelper
 
   $ . "$TESTDIR/helpers-testrepo.sh"
-  $ syshgenv
+  $ testrepohgenv
 
 Ensure debuild doesn't run the testsuite, as that could get silly.
   $ DEB_BUILD_OPTIONS=nocheck
diff --git a/tests/test-docker-packaging.t b/tests/test-docker-packaging.t
--- a/tests/test-docker-packaging.t
+++ b/tests/test-docker-packaging.t
@@ -1,7 +1,7 @@ 
 #require test-repo slow docker
 
   $ . "$TESTDIR/helpers-testrepo.sh"
-  $ syshgenv
+  $ testrepohgenv
 
 Ensure debuild doesn't run the testsuite, as that could get silly.
   $ DEB_BUILD_OPTIONS=nocheck
diff --git a/tests/test-hghave.t b/tests/test-hghave.t
--- a/tests/test-hghave.t
+++ b/tests/test-hghave.t
@@ -21,7 +21,7 @@  Testing hghave extensibility for third p
   >   foo
   > EOF
   $ ( \
-  > syshgenv; \
+  > testrepohgenv; \
   > $TESTDIR/run-tests.py $HGTEST_RUN_TESTS_PURE test-hghaveaddon.t \
   > )
   .
diff --git a/tests/test-imports-checker.t b/tests/test-imports-checker.t
--- a/tests/test-imports-checker.t
+++ b/tests/test-imports-checker.t
@@ -1,7 +1,7 @@ 
 #require test-repo
 
   $ . "$TESTDIR/helpers-testrepo.sh"
-  $ syshgenv
+  $ testrepohgenv
   $ import_checker="$TESTDIR"/../contrib/import-checker.py
 
 Run the doctests from the import checker, and make sure
diff --git a/tests/test-install.t b/tests/test-install.t
--- a/tests/test-install.t
+++ b/tests/test-install.t
@@ -159,7 +159,7 @@  path variables are expanded (~ is the sa
   >     print('  %s' % f)
   > EOF
 
-  $ (syshgenv; $PYTHON wixxml.py help )
+  $ ( testrepohgenv; $PYTHON wixxml.py help )
   Not installed:
     help/common.txt
     help/hg-ssh.8.txt
@@ -168,7 +168,7 @@  path variables are expanded (~ is the sa
     help/hgrc.5.txt
   Not tracked:
 
-  $ ( syshgenv; $PYTHON wixxml.py templates )
+  $ ( testrepohgenv; $PYTHON wixxml.py templates )
   Not installed:
   Not tracked:
 
diff --git a/tests/test-mac-packages.t b/tests/test-mac-packages.t
--- a/tests/test-mac-packages.t
+++ b/tests/test-mac-packages.t
@@ -1,7 +1,7 @@ 
 #require test-repo slow osx osxpackaging
 
   $ . "$TESTDIR/helpers-testrepo.sh"
-  $ syshgenv
+  $ testrepohgenv
 
   $ OUTPUTDIR="`pwd`"
   $ export OUTPUTDIR