提交 269fe3ae 编写于 作者: J Junio C Hamano

Merge branch 'js/mingw-tests-2.8'

* js/mingw-tests-2.8:
  mingw: skip some tests in t9115 due to file name issues
  t1300: fix the new --show-origin tests on Windows
  t1300-repo-config: make it resilient to being run via 'sh -x'
  config --show-origin: report paths with forward slashes
...@@ -396,6 +396,12 @@ static inline char *mingw_find_last_dir_sep(const char *path) ...@@ -396,6 +396,12 @@ static inline char *mingw_find_last_dir_sep(const char *path)
ret = (char *)path; ret = (char *)path;
return ret; return ret;
} }
static inline void convert_slashes(char *path)
{
for (; *path; path++)
if (*path == '\\')
*path = '/';
}
#define find_last_dir_sep mingw_find_last_dir_sep #define find_last_dir_sep mingw_find_last_dir_sep
int mingw_offset_1st_component(const char *path); int mingw_offset_1st_component(const char *path);
#define offset_1st_component mingw_offset_1st_component #define offset_1st_component mingw_offset_1st_component
......
...@@ -584,6 +584,9 @@ char *expand_user_path(const char *path) ...@@ -584,6 +584,9 @@ char *expand_user_path(const char *path)
if (!home) if (!home)
goto return_null; goto return_null;
strbuf_addstr(&user_path, home); strbuf_addstr(&user_path, home);
#ifdef GIT_WINDOWS_NATIVE
convert_slashes(user_path.buf);
#endif
} else { } else {
struct passwd *pw = getpw_str(username, username_len); struct passwd *pw = getpw_str(username, username_len);
if (!pw) if (!pw)
......
...@@ -699,17 +699,13 @@ test_expect_success 'invalid unit' ' ...@@ -699,17 +699,13 @@ test_expect_success 'invalid unit' '
echo 1auto >expect && echo 1auto >expect &&
git config aninvalid.unit >actual && git config aninvalid.unit >actual &&
test_cmp expect actual && test_cmp expect actual &&
cat >expect <<-\EOF &&
fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in file .git/config: invalid unit
EOF
test_must_fail git config --int --get aninvalid.unit 2>actual && test_must_fail git config --int --get aninvalid.unit 2>actual &&
test_i18ncmp expect actual test_i18ngrep "bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit" actual
' '
test_expect_success 'invalid stdin config' ' test_expect_success 'invalid stdin config' '
echo "fatal: bad config line 1 in standard input " >expect &&
echo "[broken" | test_must_fail git config --list --file - >output 2>&1 && echo "[broken" | test_must_fail git config --list --file - >output 2>&1 &&
test_cmp expect output test_i18ngrep "bad config line 1 in standard input" output
' '
cat > expect << EOF cat > expect << EOF
...@@ -1209,6 +1205,9 @@ test_expect_success POSIXPERM,PERL 'preserves existing permissions' ' ...@@ -1209,6 +1205,9 @@ test_expect_success POSIXPERM,PERL 'preserves existing permissions' '
"die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600" "die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600"
' '
! test_have_prereq MINGW ||
HOME="$(pwd)" # convert to Windows path
test_expect_success 'set up --show-origin tests' ' test_expect_success 'set up --show-origin tests' '
INCLUDE_DIR="$HOME/include" && INCLUDE_DIR="$HOME/include" &&
mkdir -p "$INCLUDE_DIR" && mkdir -p "$INCLUDE_DIR" &&
...@@ -1308,7 +1307,7 @@ test_expect_success 'set up custom config file' ' ...@@ -1308,7 +1307,7 @@ test_expect_success 'set up custom config file' '
EOF EOF
' '
test_expect_success '--show-origin escape special file name characters' ' test_expect_success !MINGW '--show-origin escape special file name characters' '
cat >expect <<-\EOF && cat >expect <<-\EOF &&
file:"file\" (dq) and spaces.conf" user.custom=true file:"file\" (dq) and spaces.conf" user.custom=true
EOF EOF
...@@ -1337,7 +1336,7 @@ test_expect_success '--show-origin stdin with file include' ' ...@@ -1337,7 +1336,7 @@ test_expect_success '--show-origin stdin with file include' '
test_cmp expect output test_cmp expect output
' '
test_expect_success '--show-origin blob' ' test_expect_success !MINGW '--show-origin blob' '
cat >expect <<-\EOF && cat >expect <<-\EOF &&
blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true
EOF EOF
...@@ -1346,7 +1345,7 @@ test_expect_success '--show-origin blob' ' ...@@ -1346,7 +1345,7 @@ test_expect_success '--show-origin blob' '
test_cmp expect output test_cmp expect output
' '
test_expect_success '--show-origin blob ref' ' test_expect_success !MINGW '--show-origin blob ref' '
cat >expect <<-\EOF && cat >expect <<-\EOF &&
blob:"master:file\" (dq) and spaces.conf" user.custom=true blob:"master:file\" (dq) and spaces.conf" user.custom=true
EOF EOF
......
...@@ -93,7 +93,7 @@ test_expect_success 'git svn rebase works inside a fresh-cloned repository' ' ...@@ -93,7 +93,7 @@ test_expect_success 'git svn rebase works inside a fresh-cloned repository' '
# > to special UNICODE characters in the range 0xf000 to 0xf0ff (the # > to special UNICODE characters in the range 0xf000 to 0xf0ff (the
# > "Private use area") when creating or accessing files. # > "Private use area") when creating or accessing files.
prepare_a_utf8_locale prepare_a_utf8_locale
test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' test_expect_success UTF8,!MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 new file on dcommit' '
LC_ALL=$a_utf8_locale && LC_ALL=$a_utf8_locale &&
export LC_ALL && export LC_ALL &&
neq=$(printf "\201\202") && neq=$(printf "\201\202") &&
...@@ -105,7 +105,7 @@ test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' ...@@ -105,7 +105,7 @@ test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' '
' '
# See the comment on the above test for setting of LC_ALL. # See the comment on the above test for setting of LC_ALL.
test_expect_success 'svn.pathnameencoding=cp932 rename on dcommit' ' test_expect_success !MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 rename on dcommit' '
LC_ALL=$a_utf8_locale && LC_ALL=$a_utf8_locale &&
export LC_ALL && export LC_ALL &&
inf=$(printf "\201\207") && inf=$(printf "\201\207") &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册