# HG changeset patch # User Yuya Nishihara # Date 2017-07-02 04:14:20 # Node ID ddd65b4f3ae676e4ebcb8a57090ba36c40174ab6 # Parent cf826b9e9ea4b1fb4efca3356cbe5ef6a0ccbda6 tests: alias syshg and syshgenv so they can be switched conditionally 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 @@ -43,5 +43,5 @@ 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 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