[PATCH v3 00/10] Platform compatibility fixes
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Oct 16, 2024, 08:12 UTC
- Message-ID
- <cover.1729060405.git.ps@pks.im>
- In-Reply-To
- <cover.1728906490.git.ps@pks.im>
Hi,
this is the third version of this series that fixes various different issues on more or less esoteric platforms.
There's only a single change compared to v2, namely that I restore the `!MINGW` prerequisite in t4201. I've been a bit overeager to convert it to use `ICONV` as that platform is seemingly still broken here.
I've kicked off another pipeline at GitHub [1] while the GitLab CI support for Windows hasn't yet landed to verify that things work as expected now. Tests pass now.
Thanks!
[1]: https://github.com/git/git/pull/1815
Patrick
Patrick Steinhardt (10):
t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
t/test-lib: wire up NO_ICONV prerequisite
t/lib-gitweb: test against the build version of gitweb
t/lib-gpg: fix setup of GNUPGHOME in MinGW
t1401: make invocation of tar(1) work with Win32-provided one
t3404: work around platform-specific behaviour on macOS 10.15
t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin
t7300: work around platform-specific behaviour with long paths on
MinGW
builtin/credential-cache: fix missing parameter for stub function
http: fix build error on FreeBSDMakefile | 1 + builtin/credential-cache.c | 3 +- contrib/buildsystems/CMakeLists.txt | 6 ++ http.c | 10 +- t/lib-gitweb.sh | 4 +- t/lib-gpg.sh | 2 +- t/t0028-working-tree-encoding.sh | 6 ++ t/t1401-symbolic-ref.sh | 2 +- t/t2082-parallel-checkout-attributes.sh | 2 +- t/t3404-rebase-interactive.sh | 26 +++-- t/t3434-rebase-i18n.sh | 6 ++ t/t3900-i18n-commit.sh | 6 ++ t/t3901-i18n-patch.sh | 6 ++ t/t4041-diff-submodule-option.sh | 16 ++- t/t4059-diff-submodule-not-initialized.sh | 16 ++- t/t4060-diff-submodule-option-diff-format.sh | 17 ++-- t/t4201-shortlog.sh | 8 +- t/t4205-log-pretty-formats.sh | 102 +++++++++++-------- t/t4210-log-i18n.sh | 6 ++ t/t4254-am-corrupt.sh | 6 ++ t/t5100-mailinfo.sh | 14 ++- t/t5500-fetch-pack.sh | 14 ++- t/t5550-http-fetch-dumb.sh | 4 +- t/t5601-clone.sh | 11 +- t/t6006-rev-list-format.sh | 54 ++++++---- t/t7102-reset.sh | 40 +++++--- t/t7300-clean.sh | 2 +- t/t8005-blame-i18n.sh | 6 ++ t/t9300-fast-import.sh | 2 +- t/t9350-fast-export.sh | 10 +- t/test-lib.sh | 3 +- 31 files changed, 274 insertions(+), 137 deletions(-)
Range-diff against v2:
1: a514f5d14a7 = 1: a514f5d14a7 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
2: f6a8582c34a ! 2: c046e5f03bf t/test-lib: wire up NO_ICONV prerequisite
@@ Commit message
assess whether the failure is expected or not. Most of the tests do
smell like the expected kind of failure though.
- Further note that there are several "!MINGW" conditions in t4201, and
- all of these fail due to iconv-related errors. This is quite likely a
- leftover from times before dce7d29551 (msvc: support building Git using
- MS Visual C++, 2019-06-25), which switched Windows-based builds over
- from "NO_ICONV=YesPlease" to "NEEDS_LIBICONV=YesPlease". Consequently,
- adapt those tests to also use the new ICONV prerequisite.
-
Signed-off-by: Patrick Steinhardt <ps@pks.im>
## Makefile ##
@@ t/t4201-shortlog.sh: test_expect_success 'output from user-defined format is re-
'
-test_expect_success !MINGW 'shortlog wrapping' '
-+test_expect_success ICONV 'shortlog wrapping' '
++test_expect_success !MINGW,ICONV 'shortlog wrapping' '
cat >expect <<\EOF &&
A U Thor (5):
Test
@@ t/t4201-shortlog.sh: EOF
'
-test_expect_success !MINGW 'shortlog from non-git directory' '
-+test_expect_success ICONV 'shortlog from non-git directory' '
++test_expect_success !MINGW,ICONV 'shortlog from non-git directory' '
git log --no-expand-tabs HEAD >log &&
GIT_DIR=non-existing git shortlog -w <log >out &&
test_cmp expect out
'
-test_expect_success !MINGW 'shortlog can read --format=raw output' '
-+test_expect_success ICONV 'shortlog can read --format=raw output' '
++test_expect_success !MINGW,ICONV 'shortlog can read --format=raw output' '
git log --format=raw HEAD >log &&
GIT_DIR=non-existing git shortlog -w <log >out &&
test_cmp expect out
@@ t/t4201-shortlog.sh: $DSCHO (2):
EOF
-test_expect_success !MINGW 'shortlog encoding' '
-+test_expect_success ICONV 'shortlog encoding' '
++test_expect_success !MINGW,ICONV 'shortlog encoding' '
git reset --hard "$commit" &&
git config --unset i18n.commitencoding &&
echo 2 > a1 &&
3: 2e2d208ef1b = 3: 52d0b252a1c t/lib-gitweb: test against the build version of gitweb
4: cc94f6fa648 = 4: 89957caf6ad t/lib-gpg: fix setup of GNUPGHOME in MinGW
5: 58691dd652b = 5: df2fb1b9607 t1401: make invocation of tar(1) work with Win32-provided one
6: 1daadd82766 = 6: 29fffa5d86b t3404: work around platform-specific behaviour on macOS 10.15
7: 374f47bf3de = 7: de4c0c786bd t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin
8: 13c06a8129b = 8: ee67336621c t7300: work around platform-specific behaviour with long paths on MinGW
9: 5fd78b6d535 = 9: aaa6b5a175d builtin/credential-cache: fix missing parameter for stub function
10: 9963dc73988 = 10: c22a94bab41 http: fix build error on FreeBSD-- 2.47.0.72.gef8ce8f3d4.dirty