git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org
Cc: Taylor Blau <me@ttaylorr.com>, Eric Sunshine <sunshine@sunshineco.com>
Subject: [PATCH v2 00/10] Platform compatibility fixes
Date: Tue, 15 Oct 2024 13:45:04 +0200	[thread overview]
Message-ID: <cover.1728992306.git.ps@pks.im> (raw)
In-Reply-To: <cover.1728906490.git.ps@pks.im>

Hi,

this is the second version of my patch series that includes various
different platform compatibility fixes.

Changes compared to v1:

  - Provide a more in-depth explanation of the gitweb fix.

  - Fix up a stale comment in "lib-gitweb.sh".

  - Add a missing signoff.

Thanks!

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 FreeBSD

 Makefile                                     |   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 v1:
 1:  601670912ee =  1:  a514f5d14a7 t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE
 2:  f1d74c46aa2 =  2:  f6a8582c34a t/test-lib: wire up NO_ICONV prerequisite
 3:  eda73d81139 !  3:  2e2d208ef1b t/lib-gitweb: test against the build version of gitweb
    @@ Commit message
         t/lib-gitweb: test against the build version of gitweb
     
         When testing gitweb we set up the CGI script as "gitweb.perl", which is
    -    the source file of the build target "gitweb.cgi". This works alright as
    -    long as we run in-tree tests. But we're about to make out-of-tree tests
    -    a reality, and there things will break because "gitweb.perl" will not be
    -    found in the build directory.
    +    the source file of the build target "gitweb.cgi". This file doesn't have
    +    a patched shebang and still contains `++REPLACEMENT++` markers, but
    +    things generally work because we replace the configuration with our own
    +    test configuration.
     
    -    Fix this by using "gitweb.cgi" instead.
    +    But this only works as long as "$GIT_BUILD_DIR" actually points to the
    +    source tree, because "gitweb.cgi" and "gitweb.perl" happen to sit next
    +    to each other. This is not the case though once you have out-of-tree
    +    builds like with CMake, where the source and built versions live in
    +    different directories. Consequently, "$GIT_BUILD_DIR/gitweb/gitweb.perl"
    +    won't exist there.
    +
    +    While we could ask build systems with out-of-tree builds to instead set
    +    up GITWEB_TEST_INSTALLED, which allows us to override the location of
    +    the script, it goes against the spirit of this environment variable. We
    +    _don't_ want to test against an installed version, we want to use the
    +    version we have just built.
    +
    +    Fix this by using "gitweb.cgi" instead. This means that you cannot run
    +    test scripts without building that file, but in general we do expect
    +    developers to build stuff before they test it anyway.
     
         Signed-off-by: Patrick Steinhardt <ps@pks.im>
     
      ## t/lib-gitweb.sh ##
     @@ t/lib-gitweb.sh: EOF
    + 		test -f "$SCRIPT_NAME" ||
      		error "Cannot find gitweb at $GITWEB_TEST_INSTALLED."
      		say "# Testing $SCRIPT_NAME"
    - 	else # normal case, use source version of gitweb
    +-	else # normal case, use source version of gitweb
     -		SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.perl"
    ++	else # normal case, use built version of gitweb
     +		SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.cgi"
      	fi
      	export SCRIPT_NAME
 4:  f5700647839 =  4:  cc94f6fa648 t/lib-gpg: fix setup of GNUPGHOME in MinGW
 5:  d082cd92af3 !  5:  58691dd652b t1401: make invocation of tar(1) work with Win32-provided one
    @@ Commit message
         Drop the trailing slash. Other tests that use tar(1) work alright, this
         is the only instance where it has been failing.
     
    +    Signed-off-by: Patrick Steinhardt <ps@pks.im>
    +
      ## t/t1401-symbolic-ref.sh ##
     @@ t/t1401-symbolic-ref.sh: reset_to_sane() {
      test_expect_success 'setup' '
 6:  a82a6b3df70 =  6:  1daadd82766 t3404: work around platform-specific behaviour on macOS 10.15
 7:  e1b9617f943 =  7:  374f47bf3de t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin
 8:  b94fd876adb =  8:  13c06a8129b t7300: work around platform-specific behaviour with long paths on MinGW
 9:  8cce69e5ba6 =  9:  5fd78b6d535 builtin/credential-cache: fix missing parameter for stub function
10:  deb30e12a58 = 10:  9963dc73988 http: fix build error on FreeBSD

base-commit: ef8ce8f3d4344fd3af049c17eeba5cd20d98b69f
-- 
2.47.0.72.gef8ce8f3d4.dirty


  parent reply	other threads:[~2024-10-15 11:45 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-14 12:21 [PATCH 00/10] Platform compatibility fixes Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-14 22:00   ` Taylor Blau
2024-10-14 12:21 ` [PATCH 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-14 22:06   ` Taylor Blau
2024-10-15 11:36     ` Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-14 22:07   ` Taylor Blau
2024-10-14 12:21 ` [PATCH 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-14 23:23   ` Eric Sunshine
2024-10-15  0:29     ` Taylor Blau
2024-10-14 12:21 ` [PATCH 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-14 22:10   ` Taylor Blau
2024-10-14 12:21 ` [PATCH 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-14 12:21 ` [PATCH 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-14 22:12   ` Taylor Blau
2024-10-14 12:21 ` [PATCH 10/10] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-14 22:14   ` Taylor Blau
2024-10-15 11:44     ` Patrick Steinhardt
2024-10-15 11:45 ` Patrick Steinhardt [this message]
2024-10-15 11:45   ` [PATCH v2 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-15 11:45   ` [PATCH v2 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-15 23:53     ` Taylor Blau
2024-10-16  3:57       ` Patrick Steinhardt
2024-10-16 20:59         ` Taylor Blau
2024-10-16 21:02           ` Taylor Blau
2024-10-17  4:03             ` Patrick Steinhardt
2024-10-15 11:45   ` [PATCH v2 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-15 11:45   ` [PATCH v2 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-16  5:59     ` James Liu
2024-10-15 11:45   ` [PATCH v2 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-16  5:58     ` James Liu
2024-10-15 11:45   ` [PATCH v2 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-16  6:02     ` James Liu
2024-10-15 11:45   ` [PATCH v2 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-15 11:45   ` [PATCH v2 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-16  6:35     ` James Liu
2024-10-16  8:27       ` James Liu
2024-10-15 11:45   ` [PATCH v2 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-15 11:45   ` [PATCH v2 10/10] http: fix build error on FreeBSD Patrick Steinhardt
2024-10-16  8:12 ` [PATCH v3 00/10] Platform compatibility fixes Patrick Steinhardt
2024-10-16  8:12   ` [PATCH v3 01/10] t/test-lib: fix quoting of TEST_RESULTS_SAN_FILE Patrick Steinhardt
2024-10-16  8:12   ` [PATCH v3 02/10] t/test-lib: wire up NO_ICONV prerequisite Patrick Steinhardt
2024-10-17  1:10     ` brian m. carlson
2024-10-17  4:03       ` Patrick Steinhardt
2024-10-25 18:32     ` Josh Steadmon
2024-10-28  5:14       ` [PATCH] t6006: fix prereq handling with `test_format ()` Patrick Steinhardt
2024-10-28 17:48         ` Taylor Blau
2024-10-16  8:12   ` [PATCH v3 03/10] t/lib-gitweb: test against the build version of gitweb Patrick Steinhardt
2024-10-16  8:12   ` [PATCH v3 04/10] t/lib-gpg: fix setup of GNUPGHOME in MinGW Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 05/10] t1401: make invocation of tar(1) work with Win32-provided one Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 06/10] t3404: work around platform-specific behaviour on macOS 10.15 Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 07/10] t5500, t5601: skip tests which exercise paths with '[::1]' on Cygwin Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 08/10] t7300: work around platform-specific behaviour with long paths on MinGW Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 09/10] builtin/credential-cache: fix missing parameter for stub function Patrick Steinhardt
2024-10-16  8:13   ` [PATCH v3 10/10] http: fix build error on FreeBSD Patrick Steinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1728992306.git.ps@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=me@ttaylorr.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).