mirror of
https://github.com/git/git.git
synced 2026-02-07 08:15:23 +00:00
Merge 'win-tests-fixes' into HEAD
This commit is contained in:
@@ -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)' '
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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 () {
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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' '
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: ?? ???? ??? ?? ???? ?? ??? ????? ??????????? ??? ?? ????"
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user