Mercurial > hg
view tests/test-init @ 7732:3793802ea41b
Make util.find_exe alway returns existing file, fixing issue1459
It seems like the old behaviour with different handling for commands with and
without path was intended, but I think this behaviour of util.find_exe is
better:
* Always returns existing file
* or None if command not found - no default
* Windows: Returned file thus always ends with extension from PATHEXT
This fixes http://www.selenic.com/mercurial/bts/issue1459. The change might
fix other unintended behaviour too.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 25 Jan 2009 21:20:13 +0100 |
parents | 671b3e1eac2e |
children | c3e8ab80ee90 |
line wrap: on
line source
#!/bin/sh # This test tries to exercise the ssh functionality with a dummy script cat <<EOF > dummyssh import sys import os os.chdir(os.path.dirname(sys.argv[0])) if sys.argv[1] != "user@dummy": sys.exit(-1) if not os.path.exists("dummyssh"): sys.exit(-1) log = open("dummylog", "ab") log.write("Got arguments") for i, arg in enumerate(sys.argv[1:]): log.write(" %d:%s" % (i+1, arg)) log.write("\n") log.close() r = os.system(sys.argv[2]) sys.exit(bool(r)) EOF checknewrepo() { name=$1 if [ -d $name/.hg/store ]; then echo store created fi if [ -f $name/.hg/00changelog.i ]; then echo 00changelog.i created fi cat $name/.hg/requires } echo "# creating 'local'" hg init local checknewrepo local echo this > local/foo hg ci --cwd local -A -m "init" -d "1000000 0" echo "# creating repo with format.usestore=false" hg --config format.usestore=false init old checknewrepo old echo "# creating repo with format.usefncache=false" hg --config format.usefncache=false init old2 checknewrepo old2 echo "#test failure" hg init local echo "# init+push to remote2" hg init -e "python ./dummyssh" ssh://user@dummy/remote2 hg incoming -R remote2 local hg push -R local -e "python ./dummyssh" ssh://user@dummy/remote2 echo "# clone to remote1" hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 echo "# init to existing repo" hg init -e "python ./dummyssh" ssh://user@dummy/remote1 echo "# clone to existing repo" hg clone -e "python ./dummyssh" local ssh://user@dummy/remote1 echo "# output of dummyssh" cat dummylog echo "# comparing repositories" hg tip -q -R local hg tip -q -R remote1 hg tip -q -R remote2 echo "# check names for repositories (clashes with URL schemes, special chars)" for i in bundle file hg http https old-http ssh static-http " " "with space"; do echo "# hg init \"$i\"" hg init "$i" test -d "$i" -a -d "$i/.hg" && echo "ok" || echo "failed" done