diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2005-10-28 04:48:03 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-10-28 22:56:59 -0700 |
commit | eebda31d21d5d5df351b41994df875918863294e (patch) | |
tree | 00ad2bef75d73e9511e3cce20cc54dd11d779fa0 /t | |
parent | 6b17c674aa517c4b22cd88809fcf1532b8204fbf (diff) | |
download | git-eebda31d21d5d5df351b41994df875918863294e.tar.gz git-eebda31d21d5d5df351b41994df875918863294e.tar.xz |
Implement an interoperability test for fetch-pack/upload-pack
The next patches will extend the pack protocol. This test assures that this
extension is compatible to earlier versions of git-fetch-pack/git-upload-pack.
All you need to do to take advantage of this test, is to install older
known-to-be-working binaries in the path as "old-git-fetch-pack" and
"old-git-upload-pack".
Note that the warning when testing with old-git-fetch-pack is to be
expected (it just says that the old version was not taking advantage
of all the information which the server sent).
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 't')
-rwxr-xr-x | t/t5501-old-fetch-and-upload.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/t5501-old-fetch-and-upload.sh b/t/t5501-old-fetch-and-upload.sh new file mode 100755 index 000000000..86df78549 --- /dev/null +++ b/t/t5501-old-fetch-and-upload.sh @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Copyright (c) 2005 Johannes Schindelin +# + +# Test that the current fetch-pack/upload-pack plays nicely with +# an old counterpart + +cd $(dirname $0) || exit 1 + +tmp=$(mktemp tmp-XXXX) + +retval=0 + +if [ -z "$1" ]; then + list="fetch upload" +else + list="$@" +fi + +for i in $list; do + case "$i" in + fetch) pgm="old-git-fetch-pack"; replace="$pgm";; + upload) pgm="old-git-upload-pack"; replace="git-fetch-pack --exec=$pgm";; + both) pgm="old-git-upload-pack"; replace="old-git-fetch-pack --exec=$pgm";; + esac + + if which $pgm; then + echo "Testing with $pgm" + sed -e "s/git-fetch-pack/$replace/g" \ + -e "s/# old fails/warn/" < t5500-fetch-pack.sh > $tmp + + sh $tmp || retval=$? + rm $tmp + + test $retval != 0 && exit $retval + else + echo "Skipping test for $i, since I cannot find $pgm" + fi +done + +exit 0 + |