Merge branch 'js/windows-tests'
* js/windows-tests: t5602: Work around path mangling on MSYS t5300, t5302, t5303: Do not use /dev/zero t2200, t7004: Avoid glob pattern that also matches files t7300: fix clean up on Windows test-lib: Introduce test_chmod and use it instead of update-index --chmod test-lib: Simplify test counting. test-lib: Replace uses of $(expr ...) by POSIX shell features. Call 'say' outside test_expect_success test suite: Use 'say' to say something instead of 'test_expect_success' t9400, t9401: Do not force hard-linked clone
This commit is contained in:
commit
6066f5ae75
@ -5,7 +5,7 @@ git_svn_id=git""-svn-id
|
||||
|
||||
if test -n "$NO_SVN_TESTS"
|
||||
then
|
||||
test_expect_success 'skipping git svn tests, NO_SVN_TESTS defined' :
|
||||
say 'skipping git svn tests, NO_SVN_TESTS defined'
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
@ -17,7 +17,7 @@ SVN_TREE=$GIT_SVN_DIR/svn-tree
|
||||
svn >/dev/null 2>&1
|
||||
if test $? -ne 1
|
||||
then
|
||||
test_expect_success 'skipping git svn tests, svn not found' :
|
||||
say 'skipping git svn tests, svn not found'
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
@ -41,7 +41,7 @@ then
|
||||
else
|
||||
err='Perl SVN libraries not found or unusable, skipping test'
|
||||
fi
|
||||
test_expect_success "$err" :
|
||||
say "$err"
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
|
@ -28,7 +28,7 @@ test_expect_success 'tar archive' '
|
||||
|
||||
"$UNZIP" -v >/dev/null 2>&1
|
||||
if [ $? -eq 127 ]; then
|
||||
echo "Skipping ZIP test, because unzip was not found"
|
||||
say "Skipping ZIP test, because unzip was not found"
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
|
@ -8,6 +8,7 @@ auml=`printf '\xc3\xa4'`
|
||||
aumlcdiar=`printf '\x61\xcc\x88'`
|
||||
|
||||
case_insensitive=
|
||||
unibad=
|
||||
test_expect_success 'see if we expect ' '
|
||||
|
||||
test_case=test_expect_success
|
||||
@ -19,7 +20,6 @@ test_expect_success 'see if we expect ' '
|
||||
then
|
||||
test_case=test_expect_failure
|
||||
case_insensitive=t
|
||||
say "will test on a case insensitive filesystem"
|
||||
fi &&
|
||||
rm -fr junk &&
|
||||
mkdir junk &&
|
||||
@ -27,13 +27,18 @@ test_expect_success 'see if we expect ' '
|
||||
case "$(cd junk && echo *)" in
|
||||
"$aumlcdiar")
|
||||
test_unicode=test_expect_failure
|
||||
say "will test on a unicode corrupting filesystem"
|
||||
unibad=t
|
||||
;;
|
||||
*) ;;
|
||||
esac &&
|
||||
rm -fr junk
|
||||
'
|
||||
|
||||
test "$case_insensitive" &&
|
||||
say "will test on a case insensitive filesystem"
|
||||
test "$unibad" &&
|
||||
say "will test on a unicode corrupting filesystem"
|
||||
|
||||
if test "$case_insensitive"
|
||||
then
|
||||
test_expect_success "detection of case insensitive filesystem during repo init" '
|
||||
|
@ -70,9 +70,7 @@ test_expect_success setup '
|
||||
E=`git rev-parse --verify HEAD:A/B/E` &&
|
||||
check_fsck &&
|
||||
|
||||
chmod +x C &&
|
||||
( test "`git config --bool core.filemode`" != false ||
|
||||
echo executable >>C ) &&
|
||||
test_chmod +x C &&
|
||||
git add C &&
|
||||
test_tick && git commit -m dragon &&
|
||||
L=`git rev-parse --verify HEAD` &&
|
||||
|
@ -150,7 +150,7 @@ test_expect_success 'add -u resolves unmerged paths' '
|
||||
echo 2 >path3 &&
|
||||
echo 2 >path5 &&
|
||||
git add -u &&
|
||||
git ls-files -s "path?" >actual &&
|
||||
git ls-files -s path1 path2 path3 path4 path5 path6 >actual &&
|
||||
{
|
||||
echo "100644 $three 0 path1"
|
||||
echo "100644 $one 1 path3"
|
||||
|
@ -83,9 +83,9 @@ test_expect_success 'rebase a single mode change' '
|
||||
git checkout -b modechange HEAD^ &&
|
||||
echo 1 > X &&
|
||||
git add X &&
|
||||
chmod a+x A &&
|
||||
test_chmod +x A &&
|
||||
test_tick &&
|
||||
git commit -m modechange A X &&
|
||||
git commit -m modechange &&
|
||||
GIT_TRACE=1 git rebase master
|
||||
'
|
||||
|
||||
|
@ -21,10 +21,11 @@ embedded'
|
||||
embedded' &&
|
||||
git commit -m 'add files with tabs and newlines'
|
||||
else
|
||||
say 'Your filesystem does not allow tabs in filenames.'
|
||||
test_tabs=n
|
||||
fi"
|
||||
|
||||
test "$test_tabs" = n && say 'Your filesystem does not allow tabs in filenames.'
|
||||
|
||||
# Later we will try removing an unremovable path to make sure
|
||||
# git rm barfs, but if the test is run as root that cannot be
|
||||
# arranged.
|
||||
@ -112,7 +113,7 @@ test_expect_success \
|
||||
'test_must_fail git rm -f baz'
|
||||
chmod 775 .
|
||||
else
|
||||
test_expect_success 'skipping removal failure (perhaps running as root?)' :
|
||||
say 'skipping removal failure test (perhaps running as root?)'
|
||||
fi
|
||||
|
||||
test_expect_success \
|
||||
|
@ -15,21 +15,10 @@ test_expect_success \
|
||||
tree=`git write-tree` &&
|
||||
echo $tree'
|
||||
|
||||
if [ "$(git config --get core.filemode)" = false ]
|
||||
then
|
||||
say 'filemode disabled on the filesystem, using update-index --chmod=+x'
|
||||
test_expect_success \
|
||||
'git update-index --chmod=+x' \
|
||||
'git update-index rezrov &&
|
||||
git update-index --chmod=+x rezrov &&
|
||||
git diff-index $tree >current'
|
||||
else
|
||||
test_expect_success \
|
||||
'chmod' \
|
||||
'chmod +x rezrov &&
|
||||
git update-index rezrov &&
|
||||
git diff-index $tree >current'
|
||||
fi
|
||||
test_expect_success \
|
||||
'chmod' \
|
||||
'test_chmod +x rezrov &&
|
||||
git diff-index $tree >current'
|
||||
|
||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||
|
@ -101,8 +101,7 @@ do
|
||||
'' | '#'*) continue ;;
|
||||
esac
|
||||
test=`echo "$cmd" | sed -e 's|[/ ][/ ]*|_|g'`
|
||||
cnt=`expr $test_count + 1`
|
||||
pfx=`printf "%04d" $cnt`
|
||||
pfx=`printf "%04d" $test_count`
|
||||
expect="$TEST_DIRECTORY/t4013/diff.$test"
|
||||
actual="$pfx-diff.$test"
|
||||
|
||||
|
@ -16,9 +16,7 @@ test_expect_success setup '
|
||||
git checkout -b side &&
|
||||
|
||||
for i in 1 2 5 6 A B C 7 8 9 10; do echo "$i"; done >file &&
|
||||
chmod +x elif &&
|
||||
git update-index file elif &&
|
||||
git update-index --chmod=+x elif &&
|
||||
test_chmod +x elif &&
|
||||
git commit -m "Side changes #1" &&
|
||||
|
||||
for i in D E F; do echo "$i"; done >>file &&
|
||||
|
@ -182,7 +182,7 @@ test_expect_success 'git archive --format=zip with --output' \
|
||||
|
||||
$UNZIP -v >/dev/null 2>&1
|
||||
if [ $? -eq 127 ]; then
|
||||
echo "Skipping ZIP tests, because unzip was not found"
|
||||
say "Skipping ZIP tests, because unzip was not found"
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
|
@ -13,11 +13,10 @@ TRASH=`pwd`
|
||||
test_expect_success \
|
||||
'setup' \
|
||||
'rm -f .git/index*
|
||||
for i in a b c
|
||||
do
|
||||
dd if=/dev/zero bs=4k count=1 | perl -pe "y/\\000/$i/" >$i &&
|
||||
git update-index --add $i || return 1
|
||||
done &&
|
||||
perl -e "print \"a\" x 4096;" > a &&
|
||||
perl -e "print \"b\" x 4096;" > b &&
|
||||
perl -e "print \"c\" x 4096;" > c &&
|
||||
git update-index --add a b c &&
|
||||
cat c >d && echo foo >>d && git update-index --add d &&
|
||||
tree=`git write-tree` &&
|
||||
commit=`git commit-tree $tree </dev/null` && {
|
||||
@ -221,7 +220,7 @@ test_expect_success \
|
||||
test_expect_success \
|
||||
'verify-pack catches a corrupted pack signature' \
|
||||
'cat test-1-${packname_1}.pack >test-3.pack &&
|
||||
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=2 &&
|
||||
echo | dd of=test-3.pack count=1 bs=1 conv=notrunc seek=2 &&
|
||||
if git verify-pack test-3.idx
|
||||
then false
|
||||
else :;
|
||||
@ -230,7 +229,7 @@ test_expect_success \
|
||||
test_expect_success \
|
||||
'verify-pack catches a corrupted pack version' \
|
||||
'cat test-1-${packname_1}.pack >test-3.pack &&
|
||||
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=7 &&
|
||||
echo | dd of=test-3.pack count=1 bs=1 conv=notrunc seek=7 &&
|
||||
if git verify-pack test-3.idx
|
||||
then false
|
||||
else :;
|
||||
@ -239,7 +238,7 @@ test_expect_success \
|
||||
test_expect_success \
|
||||
'verify-pack catches a corrupted type/size of the 1st packed object data' \
|
||||
'cat test-1-${packname_1}.pack >test-3.pack &&
|
||||
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=12 &&
|
||||
echo | dd of=test-3.pack count=1 bs=1 conv=notrunc seek=12 &&
|
||||
if git verify-pack test-3.idx
|
||||
then false
|
||||
else :;
|
||||
@ -250,7 +249,7 @@ test_expect_success \
|
||||
'l=`wc -c <test-3.idx` &&
|
||||
l=`expr $l - 20` &&
|
||||
cat test-1-${packname_1}.pack >test-3.pack &&
|
||||
dd if=/dev/zero of=test-3.idx count=20 bs=1 conv=notrunc seek=$l &&
|
||||
printf "%20s" "" | dd of=test-3.idx count=20 bs=1 conv=notrunc seek=$l &&
|
||||
if git verify-pack test-3.pack
|
||||
then false
|
||||
else :;
|
||||
|
@ -208,7 +208,7 @@ test_expect_success \
|
||||
obj=`git hash-object file_001` &&
|
||||
nr=`index_obj_nr ".git/objects/pack/pack-${pack1}.idx" $obj` &&
|
||||
chmod +w ".git/objects/pack/pack-${pack1}.idx" &&
|
||||
dd if=/dev/zero of=".git/objects/pack/pack-${pack1}.idx" conv=notrunc \
|
||||
printf xxxx | dd of=".git/objects/pack/pack-${pack1}.idx" conv=notrunc \
|
||||
bs=1 count=4 seek=$((8 + 256 * 4 + `wc -l <obj-list` * 20 + $nr * 4)) &&
|
||||
( while read obj
|
||||
do git cat-file -p $obj >/dev/null || exit 1
|
||||
|
@ -55,6 +55,8 @@ do_corrupt_object() {
|
||||
test_must_fail git verify-pack ${pack}.pack
|
||||
}
|
||||
|
||||
printf '\0' > zero
|
||||
|
||||
test_expect_success \
|
||||
'initial setup validation' \
|
||||
'create_test_files &&
|
||||
@ -66,7 +68,7 @@ test_expect_success \
|
||||
|
||||
test_expect_success \
|
||||
'create corruption in header of first object' \
|
||||
'do_corrupt_object $blob_1 0 < /dev/zero &&
|
||||
'do_corrupt_object $blob_1 0 < zero &&
|
||||
test_must_fail git cat-file blob $blob_1 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_2 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_3 > /dev/null'
|
||||
@ -125,7 +127,7 @@ test_expect_success \
|
||||
'create corruption in header of first delta' \
|
||||
'create_new_pack &&
|
||||
git prune-packed &&
|
||||
do_corrupt_object $blob_2 0 < /dev/zero &&
|
||||
do_corrupt_object $blob_2 0 < zero &&
|
||||
git cat-file blob $blob_1 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_2 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_3 > /dev/null'
|
||||
@ -180,7 +182,7 @@ test_expect_success \
|
||||
'corruption in delta base reference of first delta (OBJ_REF_DELTA)' \
|
||||
'create_new_pack &&
|
||||
git prune-packed &&
|
||||
do_corrupt_object $blob_2 2 < /dev/zero &&
|
||||
do_corrupt_object $blob_2 2 < zero &&
|
||||
git cat-file blob $blob_1 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_2 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_3 > /dev/null'
|
||||
@ -207,7 +209,7 @@ test_expect_success \
|
||||
'corruption #0 in delta base reference of first delta (OBJ_OFS_DELTA)' \
|
||||
'create_new_pack --delta-base-offset &&
|
||||
git prune-packed &&
|
||||
do_corrupt_object $blob_2 2 < /dev/zero &&
|
||||
do_corrupt_object $blob_2 2 < zero &&
|
||||
git cat-file blob $blob_1 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_2 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_3 > /dev/null'
|
||||
@ -259,7 +261,7 @@ test_expect_success \
|
||||
|
||||
test_expect_success \
|
||||
'... and a redundant pack allows for full recovery too' \
|
||||
'do_corrupt_object $blob_2 2 < /dev/zero &&
|
||||
'do_corrupt_object $blob_2 2 < zero &&
|
||||
git cat-file blob $blob_1 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_2 > /dev/null &&
|
||||
test_must_fail git cat-file blob $blob_3 > /dev/null &&
|
||||
|
@ -129,8 +129,7 @@ do
|
||||
'' | '#'*) continue ;;
|
||||
esac
|
||||
test=`echo "$cmd" | sed -e 's|[/ ][/ ]*|_|g'`
|
||||
cnt=`expr $test_count + 1`
|
||||
pfx=`printf "%04d" $cnt`
|
||||
pfx=`printf "%04d" $test_count`
|
||||
expect_f="$TEST_DIRECTORY/t5515/fetch.$test"
|
||||
actual_f="$pfx-fetch.$test"
|
||||
expect_r="$TEST_DIRECTORY/t5515/refs.$test"
|
||||
|
@ -18,8 +18,8 @@ test_expect_success 'clone calls git upload-pack unqualified with no -u option'
|
||||
'
|
||||
|
||||
test_expect_success 'clone calls specified git upload-pack with -u option' '
|
||||
GIT_SSH=./not_ssh git clone -u /something/bin/git-upload-pack localhost:/path/to/repo junk
|
||||
echo "localhost /something/bin/git-upload-pack '\''/path/to/repo'\''" >expected
|
||||
GIT_SSH=./not_ssh git clone -u ./something/bin/git-upload-pack localhost:/path/to/repo junk
|
||||
echo "localhost ./something/bin/git-upload-pack '\''/path/to/repo'\''" >expected
|
||||
test_cmp expected not_ssh_output
|
||||
'
|
||||
|
||||
|
@ -3,9 +3,6 @@
|
||||
test_description='merge-recursive: handle file mode'
|
||||
. ./test-lib.sh
|
||||
|
||||
# Note that we follow "chmod +x F" with "update-index --chmod=+x F" to
|
||||
# help filesystems that do not have the executable bit.
|
||||
|
||||
test_expect_success 'mode change in one branch: keep changed version' '
|
||||
: >file1 &&
|
||||
git add file1 &&
|
||||
@ -15,8 +12,7 @@ test_expect_success 'mode change in one branch: keep changed version' '
|
||||
git add dummy &&
|
||||
git commit -m a &&
|
||||
git checkout -b b1 master &&
|
||||
chmod +x file1 &&
|
||||
git update-index --chmod=+x file1 &&
|
||||
test_chmod +x file1 &&
|
||||
git commit -m b1 &&
|
||||
git checkout a1 &&
|
||||
git merge-recursive master -- a1 b1 &&
|
||||
@ -28,8 +24,7 @@ test_expect_success 'mode change in both branches: expect conflict' '
|
||||
git checkout -b a2 master &&
|
||||
: >file2 &&
|
||||
H=$(git hash-object file2) &&
|
||||
chmod +x file2 &&
|
||||
git update-index --add --chmod=+x file2 &&
|
||||
test_chmod +x file2 &&
|
||||
git commit -m a2 &&
|
||||
git checkout -b b2 master &&
|
||||
: >file2 &&
|
||||
|
@ -185,8 +185,9 @@ cba
|
||||
EOF
|
||||
test_expect_success \
|
||||
'listing tags with substring as pattern must print those matching' '
|
||||
git tag -l "*a*" > actual &&
|
||||
test_cmp expect actual
|
||||
rm *a* &&
|
||||
git tag -l "*a*" > current &&
|
||||
test_cmp expect current
|
||||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
@ -582,7 +583,7 @@ test_expect_success \
|
||||
# subsequent tests require gpg; check if it is available
|
||||
gpg --version >/dev/null
|
||||
if [ $? -eq 127 ]; then
|
||||
echo "gpg not found - skipping tag signing and verification tests"
|
||||
say "gpg not found - skipping tag signing and verification tests"
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
@ -614,7 +615,7 @@ test_expect_success \
|
||||
# that version, creation of signed tags using the generated key fails.
|
||||
case "$(gpg --version)" in
|
||||
'gpg (GnuPG) 1.0.6'*)
|
||||
echo "Skipping signed tag tests, because a bug in 1.0.6 version"
|
||||
say "Skipping signed tag tests, because a bug in 1.0.6 version"
|
||||
test_done
|
||||
exit
|
||||
;;
|
||||
|
@ -87,30 +87,27 @@ do
|
||||
'
|
||||
done
|
||||
|
||||
if ! echo 'echo space > "$1"' > "e space.sh"
|
||||
then
|
||||
say "Skipping; FS does not support spaces in filenames"
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
|
||||
test_expect_success 'editor with a space' '
|
||||
|
||||
if echo "echo space > \"\$1\"" > "e space.sh"
|
||||
then
|
||||
chmod a+x "e space.sh" &&
|
||||
GIT_EDITOR="./e\ space.sh" git commit --amend &&
|
||||
test space = "$(git show -s --pretty=format:%s)"
|
||||
else
|
||||
say "Skipping; FS does not support spaces in filenames"
|
||||
fi
|
||||
chmod a+x "e space.sh" &&
|
||||
GIT_EDITOR="./e\ space.sh" git commit --amend &&
|
||||
test space = "$(git show -s --pretty=format:%s)"
|
||||
|
||||
'
|
||||
|
||||
unset GIT_EDITOR
|
||||
test_expect_success 'core.editor with a space' '
|
||||
|
||||
if test -f "e space.sh"
|
||||
then
|
||||
git config core.editor \"./e\ space.sh\" &&
|
||||
git commit --amend &&
|
||||
test space = "$(git show -s --pretty=format:%s)"
|
||||
else
|
||||
say "Skipping; FS does not support spaces in filenames"
|
||||
fi
|
||||
git config core.editor \"./e\ space.sh\" &&
|
||||
git commit --amend &&
|
||||
test space = "$(git show -s --pretty=format:%s)"
|
||||
|
||||
'
|
||||
|
||||
|
@ -373,9 +373,9 @@ test_expect_success 'removal failure' '
|
||||
|
||||
mkdir foo &&
|
||||
touch foo/bar &&
|
||||
exec <foo/bar &&
|
||||
chmod 0 foo &&
|
||||
test_must_fail git clean -f -d
|
||||
(exec <foo/bar &&
|
||||
chmod 0 foo &&
|
||||
test_must_fail git clean -f -d)
|
||||
|
||||
'
|
||||
chmod 755 foo
|
||||
|
@ -9,7 +9,7 @@ test_description='Test export of commits to CVS'
|
||||
cvs >/dev/null 2>&1
|
||||
if test $? -ne 1
|
||||
then
|
||||
test_expect_success 'skipping git cvsexportcommit tests, cvs not found' :
|
||||
say 'skipping git cvsexportcommit tests, cvs not found'
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
|
@ -13,12 +13,12 @@ cvs CLI client via git-cvsserver server'
|
||||
cvs >/dev/null 2>&1
|
||||
if test $? -ne 1
|
||||
then
|
||||
test_expect_success 'skipping git-cvsserver tests, cvs not found' :
|
||||
say 'skipping git-cvsserver tests, cvs not found'
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
test_expect_success 'skipping git-cvsserver tests, Perl SQLite interface unavailable' :
|
||||
say 'skipping git-cvsserver tests, Perl SQLite interface unavailable'
|
||||
test_done
|
||||
exit
|
||||
}
|
||||
@ -44,7 +44,7 @@ test_expect_success 'setup' '
|
||||
git add secondrootfile &&
|
||||
git commit -m "second root") &&
|
||||
git pull secondroot master &&
|
||||
git clone -q --local --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
|
||||
GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log"
|
||||
'
|
||||
@ -267,7 +267,7 @@ test_expect_success 'gitcvs.ext.dbname' \
|
||||
|
||||
rm -fr "$SERVERDIR"
|
||||
cd "$WORKDIR" &&
|
||||
git clone -q --local --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
|
||||
GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" ||
|
||||
exit 1
|
||||
|
@ -49,12 +49,12 @@ not_present() {
|
||||
cvs >/dev/null 2>&1
|
||||
if test $? -ne 1
|
||||
then
|
||||
test_expect_success 'skipping git-cvsserver tests, cvs not found' :
|
||||
say 'skipping git-cvsserver tests, cvs not found'
|
||||
test_done
|
||||
exit
|
||||
fi
|
||||
perl -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
|
||||
test_expect_success 'skipping git-cvsserver tests, Perl SQLite interface unavailable' :
|
||||
say 'skipping git-cvsserver tests, Perl SQLite interface unavailable'
|
||||
test_done
|
||||
exit
|
||||
}
|
||||
@ -84,7 +84,7 @@ test_expect_success 'setup' '
|
||||
echo "subdir/file.h crlf" >> .gitattributes &&
|
||||
git add .gitattributes textfile.c binfile.bin mixedUp.c subdir/* &&
|
||||
git commit -q -m "First Commit" &&
|
||||
git clone -q --local --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
|
||||
GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true &&
|
||||
GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log"
|
||||
'
|
||||
|
@ -63,18 +63,10 @@ gitweb_run () {
|
||||
# gitweb.log is left for debugging
|
||||
}
|
||||
|
||||
safe_chmod () {
|
||||
chmod "$1" "$2" &&
|
||||
if [ "$(git config --get core.filemode)" = false ]
|
||||
then
|
||||
git update-index --chmod="$1" "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
perl -MEncode -e 'decode_utf8("", Encode::FB_CROAK)' >/dev/null 2>&1 || {
|
||||
test_expect_success 'skipping gitweb tests, perl version is too old' :
|
||||
say 'skipping gitweb tests, perl version is too old'
|
||||
test_done
|
||||
exit
|
||||
}
|
||||
@ -242,7 +234,7 @@ test_debug 'cat gitweb.log'
|
||||
|
||||
test_expect_success \
|
||||
'commitdiff(0): mode change' \
|
||||
'safe_chmod +x new_file &&
|
||||
'test_chmod +x new_file &&
|
||||
git commit -a -m "Mode changed." &&
|
||||
gitweb_run "p=.git;a=commitdiff"'
|
||||
test_debug 'cat gitweb.log'
|
||||
@ -281,7 +273,7 @@ test_debug 'cat gitweb.log'
|
||||
test_expect_success \
|
||||
'commitdiff(0): mode change and modified' \
|
||||
'echo "New line" >> file2 &&
|
||||
safe_chmod +x file2 &&
|
||||
test_chmod +x file2 &&
|
||||
git commit -a -m "Mode change and modification." &&
|
||||
gitweb_run "p=.git;a=commitdiff"'
|
||||
test_debug 'cat gitweb.log'
|
||||
@ -308,7 +300,7 @@ test_expect_success \
|
||||
'commitdiff(0): renamed, mode change and modified' \
|
||||
'git mv file3 file2 &&
|
||||
echo "Propter nomen suum." >> file2 &&
|
||||
safe_chmod +x file2 &&
|
||||
test_chmod +x file2 &&
|
||||
git commit -a -m "File rename, mode change and modification." &&
|
||||
gitweb_run "p=.git;a=commitdiff"'
|
||||
test_debug 'cat gitweb.log'
|
||||
@ -425,10 +417,10 @@ test_expect_success \
|
||||
git add 03-new &&
|
||||
git mv 04-rename-from 04-rename-to &&
|
||||
echo "Changed" >> 04-rename-to &&
|
||||
safe_chmod +x 05-mode-change &&
|
||||
test_chmod +x 05-mode-change &&
|
||||
rm -f 06-file-or-symlink && ln -s 01-change 06-file-or-symlink &&
|
||||
echo "Changed and have mode changed" > 07-change-mode-change &&
|
||||
safe_chmod +x 07-change-mode-change &&
|
||||
test_chmod +x 07-change-mode-change &&
|
||||
git commit -a -m "Large commit" &&
|
||||
git checkout master'
|
||||
|
||||
|
@ -7,7 +7,7 @@ test_description='perl interface (Git.pm)'
|
||||
. ./test-lib.sh
|
||||
|
||||
perl -MTest::More -e 0 2>/dev/null || {
|
||||
say_color skip "Perl Test::More unavailable, skipping test"
|
||||
say "Perl Test::More unavailable, skipping test"
|
||||
test_done
|
||||
}
|
||||
|
||||
|
@ -238,18 +238,25 @@ test_merge () {
|
||||
git tag "$1"
|
||||
}
|
||||
|
||||
# This function helps systems where core.filemode=false is set.
|
||||
# Use it instead of plain 'chmod +x' to set or unset the executable bit
|
||||
# of a file in the working directory and add it to the index.
|
||||
|
||||
test_chmod () {
|
||||
chmod "$@" &&
|
||||
git update-index --add "--chmod=$@"
|
||||
}
|
||||
|
||||
# You are not expected to call test_ok_ and test_failure_ directly, use
|
||||
# the text_expect_* functions instead.
|
||||
|
||||
test_ok_ () {
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
test_success=$(expr "$test_success" + 1)
|
||||
test_success=$(($test_success + 1))
|
||||
say_color "" " ok $test_count: $@"
|
||||
}
|
||||
|
||||
test_failure_ () {
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
test_failure=$(expr "$test_failure" + 1);
|
||||
test_failure=$(($test_failure + 1))
|
||||
say_color error "FAIL $test_count: $1"
|
||||
shift
|
||||
echo "$@" | sed -e 's/^/ /'
|
||||
@ -257,13 +264,11 @@ test_failure_ () {
|
||||
}
|
||||
|
||||
test_known_broken_ok_ () {
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
test_fixed=$(($test_fixed+1))
|
||||
say_color "" " FIXED $test_count: $@"
|
||||
}
|
||||
|
||||
test_known_broken_failure_ () {
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
test_broken=$(($test_broken+1))
|
||||
say_color skip " still broken $test_count: $@"
|
||||
}
|
||||
@ -279,12 +284,11 @@ test_run_ () {
|
||||
}
|
||||
|
||||
test_skip () {
|
||||
this_test=$(expr "./$0" : '.*/\(t[0-9]*\)-[^/]*$')
|
||||
this_test="$this_test.$(expr "$test_count" + 1)"
|
||||
test_count=$(($test_count+1))
|
||||
to_skip=
|
||||
for skp in $GIT_SKIP_TESTS
|
||||
do
|
||||
case "$this_test" in
|
||||
case $this_test.$test_count in
|
||||
$skp)
|
||||
to_skip=t
|
||||
esac
|
||||
@ -292,7 +296,6 @@ test_skip () {
|
||||
case "$to_skip" in
|
||||
t)
|
||||
say_color skip >&3 "skipping test: $@"
|
||||
test_count=$(expr "$test_count" + 1)
|
||||
say_color skip "skip $test_count: $1"
|
||||
: true
|
||||
;;
|
||||
@ -370,7 +373,7 @@ test_external () {
|
||||
then
|
||||
# Announce the script to reduce confusion about the
|
||||
# test output that follows.
|
||||
say_color "" " run $(expr "$test_count" + 1): $descr ($*)"
|
||||
say_color "" " run $test_count: $descr ($*)"
|
||||
# Run command; redirect its stderr to &4 as in
|
||||
# test_run_, but keep its stdout on our stdout even in
|
||||
# non-verbose mode.
|
||||
@ -613,7 +616,8 @@ test_create_repo "$test"
|
||||
# in subprocesses like git equals our $PWD (for pathname comparisons).
|
||||
cd -P "$test" || exit 1
|
||||
|
||||
this_test=$(expr "./$0" : '.*/\(t[0-9]*\)-[^/]*$')
|
||||
this_test=${0##*/}
|
||||
this_test=${this_test%%-*}
|
||||
for skp in $GIT_SKIP_TESTS
|
||||
do
|
||||
to_skip=
|
||||
|
Loading…
Reference in New Issue
Block a user