Merge 'win-tests-fixes' into HEAD

This commit is contained in:
Johannes Schindelin
2015-03-05 10:34:19 +01:00
14 changed files with 95 additions and 38 deletions

View File

@@ -263,27 +263,27 @@ test_expect_success 'blame -L X,-N' '
'
test_expect_success 'blame -L /RE/ (RE to end)' '
check_count -L/evil/ C 1 "A U Thor" 1
check_count -L/\;*evil/ C 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/,/RE2/' '
check_count -L/robot/,/green/ A 1 B 1 B2 1 D 1 E 1
check_count -L/\;*robot/,/\;*green/ A 1 B 1 B2 1 D 1 E 1
'
test_expect_success 'blame -L X,/RE/' '
check_count -L5,/evil/ B1 1 D 1 "A U Thor" 1
check_count -L5,/\;*evil/ B1 1 D 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/,Y' '
check_count -L/99/,7 B1 1 D 1 "A U Thor" 1
check_count -L/\;*99/,7 B1 1 D 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/,+N' '
check_count -L/99/,+3 B1 1 D 1 "A U Thor" 1
check_count -L/\;*99/,+3 B1 1 D 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/,-N' '
check_count -L/99/,-3 B 1 B2 1 D 1
check_count -L/\;*99/,-3 B 1 B2 1 D 1
'
# 'file' ends with an incomplete line, so 'wc' reports one fewer lines than
@@ -349,19 +349,19 @@ test_expect_success 'blame -L multiple (superset/subset: unordered)' '
'
test_expect_success 'blame -L /RE/ (relative)' '
check_count -L3,3 -L/fox/ B1 1 B2 1 C 1 D 1 "A U Thor" 1
check_count -L3,3 -L/\;*fox/ B1 1 B2 1 C 1 D 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/ (relative: no preceding range)' '
check_count -L/dog/ A 1 B 1 B1 1 B2 1 C 1 D 1 "A U Thor" 1
check_count -L/\;*dog/ A 1 B 1 B1 1 B2 1 C 1 D 1 "A U Thor" 1
'
test_expect_success 'blame -L /RE/ (relative: adjacent)' '
check_count -L1,1 -L/dog/,+1 A 1 E 1
check_count -L1,1 -L/\;*dog/,+1 A 1 E 1
'
test_expect_success 'blame -L /RE/ (relative: not found)' '
test_must_fail $PROG -L4,4 -L/dog/ file
test_must_fail $PROG -L4,4 -L/\;*dog/ file
'
test_expect_success 'blame -L /RE/ (relative: end-of-file)' '
@@ -369,11 +369,11 @@ test_expect_success 'blame -L /RE/ (relative: end-of-file)' '
'
test_expect_success 'blame -L ^/RE/ (absolute)' '
check_count -L3,3 -L^/dog/,+2 A 1 B2 1
check_count -L3,3 -L^/\;*dog/,+2 A 1 B2 1
'
test_expect_success 'blame -L ^/RE/ (absolute: no preceding range)' '
check_count -L^/dog/,+2 A 1 B2 1
check_count -L^/\;*dog/,+2 A 1 B2 1
'
test_expect_success 'blame -L ^/RE/ (absolute: not found)' '

View File

@@ -23,6 +23,11 @@ then
test_done
fi
if ! test_have_prereq PIPE
then
test_skip_or_die $GIT_TEST_GIT_DAEMON "file system does not support FIFOs"
fi
LIB_GIT_DAEMON_PORT=${LIB_GIT_DAEMON_PORT-${this_test#t}}
GIT_DAEMON_PID=

View File

@@ -5,7 +5,13 @@ test_description=check-ignore
. ./test-lib.sh
init_vars () {
global_excludes="$(pwd)/global-excludes"
# On Windows, avoid using "C:" in the global-excludes paths.
if test_have_prereq MINGW
then
global_excludes="global-excludes"
else
global_excludes="$(pwd)/global-excludes"
fi
}
enable_global_excludes () {

View File

@@ -204,7 +204,7 @@ test_expect_success 'filtering large input to small output should use little mem
GIT_MMAP_LIMIT=1m GIT_ALLOC_LIMIT=1m git add 30MB
'
test_expect_success EXPENSIVE 'filter large file' '
test_expect_success EXPENSIVE,!MINGW 'filter large file' '
git config filter.largefile.smudge cat &&
git config filter.largefile.clean cat &&
for i in $(test_seq 1 2048); do printf "%1048576d" 1; done >2GB &&

View File

@@ -4,9 +4,9 @@ test_description='CRLF conversion all combinations'
. ./test-lib.sh
if ! test_have_prereq EXPENSIVE
if ! test_have_prereq EXPENSIVE && ! test_have_prereq MINGW
then
skip_all="EXPENSIVE not set"
skip_all="Neither EXPENSIVE nor MINGW set"
test_done
fi
@@ -55,11 +55,17 @@ create_gitattributes () {
esac
}
# Some warnings depend on the native end-of-line marker
test_have_prereq NATIVE_CRLF &&
NATIVE_CRLF=t ||
NATIVE_CRLF=
check_warning () {
case "$1" in
LF_CRLF) grep "LF will be replaced by CRLF" $2;;
CRLF_LF) grep "CRLF will be replaced by LF" $2;;
'')
case "$1,$NATIVE_CRLF" in
LF_CRLF,*|MAYBE_CRLF,t|MIX,t) grep "LF will be replaced by CRLF" $2;;
CRLF_LF,*|MAYBE_LF,|MIX,) grep "CRLF will be replaced by LF" $2;;
,*|MAYBE_CRLF,|MAYBE_LF,t)
>expect
grep "will be replaced by" $2 >actual
test_cmp expect actual
@@ -175,16 +181,17 @@ test_expect_success 'add files empty attr' '
create_file_in_repo input "" "" "CRLF_LF" "CRLF_LF" "" ""
'
test_expect_success 'add files attr=auto' '
create_file_in_repo false "auto" "" "CRLF_LF" "CRLF_LF" "" "" &&
create_file_in_repo true "auto" "LF_CRLF" "" "LF_CRLF" "" "" &&
create_file_in_repo input "auto" "" "CRLF_LF" "CRLF_LF" "" ""
create_file_in_repo false "auto" "MAYBE_CRLF" "MAYBE_LF" "MIX" "" "" &&
create_file_in_repo true "auto" "LF_CRLF" "" "LF_CRLF" "" "" &&
create_file_in_repo input "auto" "" "CRLF_LF" "CRLF_LF" "" ""
'
test_expect_success 'add files attr=text' '
create_file_in_repo false "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF" &&
create_file_in_repo true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" &&
create_file_in_repo input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF"
create_file_in_repo false "text" "MAYBE_CRLF" "MAYBE_LF" "MIX" "MAYBE_CRLF" "MAYBE_LF" &&
create_file_in_repo true "text" "LF_CRLF" "" "LF_CRLF" "LF_CRLF" "" &&
create_file_in_repo input "text" "" "CRLF_LF" "CRLF_LF" "" "CRLF_LF"
'
test_expect_success 'add files attr=-text' '

View File

@@ -58,7 +58,7 @@ test_expect_success GETTEXT_LOCALE 'sanity: gettext(unknown) is passed through'
'
# xgettext from C
test_expect_success GETTEXT_LOCALE 'xgettext: C extraction of _() and N_() strings' '
test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: C extraction of _() and N_() strings' '
printf "TILRAUN: C tilraunastrengur" >expect &&
printf "\n" >>expect &&
printf "Sjá '\''git help SKIPUN'\'' til að sjá hjálp fyrir tiltekna skipun." >>expect &&
@@ -81,7 +81,7 @@ test_expect_success GETTEXT_LOCALE 'xgettext: Shell extraction' '
test_cmp expect actual
'
test_expect_success GETTEXT_LOCALE 'xgettext: Shell extraction with $variable' '
test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: Shell extraction with $variable' '
printf "TILRAUN: Skeljartilraunastrengur með breytunni a var i able" >x-expect &&
LANGUAGE=is LC_ALL="$is_IS_locale" variable="a var i able" eval_gettext "TEST: A Shell test \$variable" >x-actual &&
test_cmp x-expect x-actual
@@ -94,7 +94,7 @@ test_expect_success GETTEXT_LOCALE 'xgettext: Perl extraction' '
test_cmp expect actual
'
test_expect_success GETTEXT_LOCALE 'xgettext: Perl extraction with %s' '
test_expect_success GETTEXT_LOCALE,!MINGW 'xgettext: Perl extraction with %s' '
printf "TILRAUN: Perl tilraunastrengur með breytunni %%s" >expect &&
LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test variable %s" >actual &&
test_cmp expect actual

View File

@@ -7,6 +7,15 @@ test_description="Gettext reencoding of our *.po/*.mo files works"
. ./lib-gettext.sh
if test_have_prereq MINGW
then
# There is no MinGW 'locale', but an MSys2 one that interferes
# with this test (the MinGW and MSys2 locales are in fundamentally
# different realms).
skip_all='No native locale.exe available'
test_done
fi
# The constants used in a tricky observation for undefined behaviour
RUNES="TILRAUN: ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ"
PUNTS="TILRAUN: ?? ???? ??? ?? ???? ?? ??? ????? ??????????? ??? ?? ????"

View File

@@ -339,6 +339,10 @@ test_expect_success 'make_relative_path handles double slashes in GIT_DIR' '
git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file
'
test_have_prereq MINGW &&
# make sure to test DOS path on Windows
TRASH_DIRECTORY="$(cd "$TRASH_DIRECTORY" && pwd)"
test_expect_success 'relative $GIT_WORK_TREE and git subprocesses' '
GIT_DIR=repo.git GIT_WORK_TREE=repo.git/work \
test-subprocess --setup-work-tree rev-parse --show-toplevel >actual &&

View File

@@ -29,13 +29,22 @@ fail() {
"$@" failure
}
if test_have_prereq MINGW
then
# MSys interprets `@/abc` to be a file list, and wants to substitute
# the Unix-y path with a Windows one (e.g. @C:\msys64\abc)
AT_SLASH=@//at-test
else
AT_SLASH=@/at-test
fi
test_expect_success 'setup' '
test_commit master-one &&
test_commit master-two &&
git checkout -b upstream-branch &&
test_commit upstream-one &&
test_commit upstream-two &&
git checkout -b @/at-test &&
git checkout -b $AT_SLASH &&
git checkout -b @@/at-test &&
git checkout -b @at-test &&
git checkout -b old-branch &&
@@ -64,7 +73,7 @@ check "@{-1}@{u}@{1}" commit master-one
check "@" commit new-two
check "@@{u}" ref refs/heads/upstream-branch
check "@@/at-test" ref refs/heads/@@/at-test
check "@/at-test" ref refs/heads/@/at-test
check "$AT_SLASH" ref refs/heads/@/at-test
check "@at-test" ref refs/heads/@at-test
nonsense "@{u}@{-1}"
nonsense "@{0}@{0}"

View File

@@ -52,7 +52,7 @@ get_needs () {
' "$1"
}
test_expect_success 'fetch A (new commit : 1 connection)' '
test_expect_failure 'fetch A (new commit : 1 connection)' ' # TODO known breakage
rm -f $U &&
(
cd cloned &&
@@ -82,7 +82,7 @@ want $T
EOF
'
test_expect_success 'fetch C, T (new branch, tag : 1 connection)' '
test_expect_failure 'fetch C, T (new branch, tag : 1 connection)' ' # TODO known breakage
rm -f $U &&
(
cd cloned &&
@@ -118,7 +118,7 @@ want $S
EOF
'
test_expect_success 'fetch B, S (commit and tag : 1 connection)' '
test_expect_failure 'fetch B, S (commit and tag : 1 connection)' ' # TODO known breakage
rm -f $U &&
(
cd cloned &&

View File

@@ -101,7 +101,7 @@ test_expect_success 'push with receive.fsckobjects' '
git config transfer.fsckobjects false
) &&
test_must_fail git push --porcelain dst master:refs/heads/test >act &&
test_cmp exp act
test_cmp exp act || test ! -s act
'
test_expect_success 'push with transfer.fsckobjects' '
@@ -112,7 +112,7 @@ test_expect_success 'push with transfer.fsckobjects' '
git config transfer.fsckobjects true
) &&
test_must_fail git push --porcelain dst master:refs/heads/test >act &&
test_cmp exp act
test_cmp exp act || test ! -s act
'
test_done

View File

@@ -308,7 +308,7 @@ test_expect_success 'git mv moves a submodule with a .git directory and no .gitm
(
cd sub &&
rm -f .git &&
cp -R -P -p ../.git/modules/sub .git &&
cp -a ../.git/modules/sub .git &&
GIT_WORK_TREE=. git config --unset core.worktree
) &&
mkdir mod &&
@@ -331,7 +331,7 @@ test_expect_success 'git mv moves a submodule with a .git directory and .gitmodu
(
cd sub &&
rm -f .git &&
cp -R -P -p ../.git/modules/sub .git &&
cp -a ../.git/modules/sub .git &&
GIT_WORK_TREE=. git config --unset core.worktree
) &&
mkdir mod &&

View File

@@ -12,6 +12,12 @@ then
test_done
fi
if test_have_prereq MINGW
then
skip_all='skipping remote-svn tests for lack of POSIX'
test_done
fi
# Override svnrdump with our simulator
PATH="$HOME:$PATH"
export PATH PYTHON_PATH GIT_BUILD_DIR

View File

@@ -522,4 +522,15 @@ test_expect_success 'delete refspec' '
test_cmp expected actual
'
cat > expected << EOF
reset refs/heads/master
from $(git rev-parse master)
EOF
test_expect_failure 'refs are updated even if no commits need to be exported' '
git fast-export master..master > actual &&
test_cmp expected actual
'
test_done