Mercurial > hg
changeset 28037:54c896f8bb79
run-tests: warn about symlinks to non hg scripts
If you symlink /usr/bin/true to /something/hg and try to run
--with-hg=/something/hg, run-tests will end up running /usr/bin/hg,
not /usr/bin/true.
author | timeless <timeless@mozdev.org> |
---|---|
date | Mon, 08 Feb 2016 22:50:19 +0000 |
parents | b5069c2b6f62 |
children | 08e0c4082903 |
files | tests/run-tests.py tests/test-run-tests.t |
diffstat | 2 files changed, 22 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Mon Feb 08 18:29:17 2016 +0900 +++ b/tests/run-tests.py Mon Feb 08 22:50:19 2016 +0000 @@ -285,7 +285,7 @@ options.pure = True if options.with_hg: - options.with_hg = os.path.expanduser(options.with_hg) + options.with_hg = os.path.realpath(os.path.expanduser(options.with_hg)) if not (os.path.isfile(options.with_hg) and os.access(options.with_hg, os.X_OK)): parser.error('--with-hg must specify an executable hg script')
--- a/tests/test-run-tests.t Mon Feb 08 18:29:17 2016 +0900 +++ b/tests/test-run-tests.t Mon Feb 08 22:50:19 2016 +0000 @@ -21,6 +21,27 @@ > run-tests.py --with-hg=`which hg` "$@" > } +error paths + +#if symlink + $ ln -s `which true` hg + $ run-tests.py --with-hg=./hg + warning: --with-hg should specify an hg script + + # Ran 0 tests, 0 skipped, 0 warned, 0 failed. + $ rm hg +#endif + +#if execbit + $ touch hg + $ run-tests.py --with-hg=./hg + Usage: run-tests.py [options] [tests] + + run-tests.py: error: --with-hg must specify an executable hg script + [2] + $ rm hg +#endif + a succesful test =======================