git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Ramsay Jones <ramsay@ramsayjones.plus.com>
Subject: Re: [PATCH 0/4] meson: parse TAP output generated by our tests
Date: Fri, 23 May 2025 17:00:57 +0200	[thread overview]
Message-ID: <aDCNqRAoGygwnAbq@pks.im> (raw)
In-Reply-To: <aDBH7G-oKKxAXWBp@pks.im>

On Fri, May 23, 2025 at 12:03:24PM +0200, Patrick Steinhardt wrote:
> On Wed, May 21, 2025 at 02:26:23PM -0700, Junio C Hamano wrote:
> > So the four patches are now sitting somewhere in 'seen'.  Is it the
> > one that causes this failure, I have to wonder?
> > 
> > 
> > https://github.com/git/git/actions/runs/15169816296/job/42656836511#step:4:2113
> > 
> > It is curious that only osx-meson is affected.
> 
> Ah, interesting. Seems like macOS has since updated to a newer version
> of Meson, so it now uses the TAP parser. And there are some tests that
> only execute on macOS and that cause us to emit output to stdout/stderr,
> which will thus break the TAP format.
> 
> I'll have a look and will send a newer version soonish.

Okay, the problem actually isn't the TAP format -- Meson copes with the
broken output, but I'll fix it regardless in the next version of this
patch series. The problem is that we have a test that unexpectedly
passes on macOS:

    ▶  868/1023 - git grep .fi a                             UNEXPECTEDPASS

The test in question is this one:

    test_expect_failure !CYGWIN 'git grep .fi a' '
        git grep .fi a
    '

The test passes if '.' matches a NUL byte, which we expect to only
happen on Cygwin. 064eed36c7f (config.mak.uname: only set NO_REGEX on
cygwin for v1.7, 2025-04-17) mentions that this behaviour was probably
imported from FreeBSD, which makes me wonder whether macOS eventually
also inherited the same code given its BSD lineage.

I think we probably want something like the below patch to fix this. We
could also have a prereq, but that prereq would look almost the exact
same as the test. It does make me question the value of the test itself
as the behaviour is completely platform specific.

Patrick

diff --git a/t/t7815-grep-binary.sh b/t/t7815-grep-binary.sh
index b7d83f9a5de..55d5e6de17c 100755
--- a/t/t7815-grep-binary.sh
+++ b/t/t7815-grep-binary.sh
@@ -63,7 +63,7 @@ test_expect_success 'git grep ile a' '
 	git grep ile a
 '
 
-test_expect_failure !CYGWIN 'git grep .fi a' '
+test_expect_failure !CYGWIN,!MACOS 'git grep .fi a' '
 	git grep .fi a
 '
 
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 6ce8570226c..fef522327f2 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1636,6 +1636,9 @@ fi
 # Fix some commands on Windows, and other OS-specific things
 uname_s=$(uname -s)
 case $uname_s in
+Darwin)
+	test_set_prereq MACOS
+	;;
 *MINGW*)
 	# Windows has its own (incompatible) sort and find
 	sort () {


  reply	other threads:[~2025-05-23 15:01 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-06 10:59 [PATCH 0/4] meson: parse TAP output generated by our tests Patrick Steinhardt
2025-05-06 10:59 ` [PATCH 1/4] t: fix cases where output breaks TAP format Patrick Steinhardt
2025-05-06 13:17   ` Phillip Wood
2025-05-07  6:52     ` Patrick Steinhardt
2025-05-07 10:12       ` Phillip Wood
2025-05-14 18:51   ` Karthik Nayak
2025-05-06 10:59 ` [PATCH 2/4] t/test-lib: don't print shell traces to stdout Patrick Steinhardt
2025-05-06 10:59 ` [PATCH 3/4] meson: introduce kwargs variable for tests Patrick Steinhardt
2025-05-15  7:39   ` Karthik Nayak
2025-05-06 10:59 ` [PATCH 4/4] meson: parse TAP output generated by our tests Patrick Steinhardt
2025-05-15  7:48   ` Karthik Nayak
2025-05-15  8:20     ` Patrick Steinhardt
2025-05-15 11:35       ` Karthik Nayak
2025-05-06 12:29 ` [PATCH 0/4] " Patrick Steinhardt
2025-05-07  7:06   ` Patrick Steinhardt
2025-05-21 10:57 ` Patrick Steinhardt
2025-05-21 11:56   ` Hridoy Ahmed
2025-05-21 16:06   ` Junio C Hamano
2025-05-21 21:26     ` Junio C Hamano
2025-05-23 10:03       ` Patrick Steinhardt
2025-05-23 15:00         ` Patrick Steinhardt [this message]
2025-05-23 15:58           ` Junio C Hamano
2025-05-23 16:40             ` Ramsay Jones
2025-05-23 16:53               ` Ramsay Jones
2025-05-23 19:33               ` Junio C Hamano
2025-05-26 12:44                 ` Patrick Steinhardt
2025-05-26 13:31                   ` Phillip Wood
2025-05-26 14:23                     ` Todd Zullinger
2025-05-26 13:54                   ` Eli Schwartz
2025-05-26 13:59                     ` Patrick Steinhardt
2025-05-27 16:04                       ` Junio C Hamano
2025-05-28 12:27                         ` Patrick Steinhardt
2025-05-27 13:36                   ` Junio C Hamano
2025-05-27 14:02 ` [PATCH v2 0/6] " Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 1/6] t: fix cases where output breaks TAP format Patrick Steinhardt
2025-05-27 19:47     ` Eric Sunshine
2025-05-28 15:55       ` Patrick Steinhardt
2025-05-28 20:14         ` Eric Sunshine
2025-05-30  7:50           ` Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 2/6] t/test-lib: don't print shell traces to stdout Patrick Steinhardt
2025-05-27 19:47     ` Junio C Hamano
2025-05-28 15:55       ` Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 3/6] t/test-lib: fix TAP format for BASH_XTRACEFD warning Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 4/6] t7815: fix unexpectedly passing test on macOS Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 5/6] meson: introduce kwargs variable for tests Patrick Steinhardt
2025-05-27 14:02   ` [PATCH v2 6/6] meson: parse TAP output generated by our tests Patrick Steinhardt
2025-05-30 13:31 ` [PATCH v3 00/10] " Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 01/10] t: stop announcing prereqs Patrick Steinhardt
2025-05-31 21:00     ` Karthik Nayak
2025-05-30 13:31   ` [PATCH v3 02/10] t: silence output from `test_create_repo()` Patrick Steinhardt
2025-05-30 21:16     ` Eric Sunshine
2025-05-30 13:31   ` [PATCH v3 03/10] t9822: use prereq to check for ISO-8859-1 support Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 04/10] t983*: use prereq to check for Python-specific git-b4(1) support Patrick Steinhardt
2025-05-30 14:08     ` Todd Zullinger
2025-05-30 14:21       ` Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 05/10] t/test-lib: don't print shell traces to stdout Patrick Steinhardt
2025-05-31 21:21     ` Karthik Nayak
2025-05-30 13:31   ` [PATCH v3 06/10] t/test-lib: fix TAP format for BASH_XTRACEFD warning Patrick Steinhardt
2025-05-31 21:25     ` Karthik Nayak
2025-05-30 13:31   ` [PATCH v3 07/10] t7815: fix unexpectedly passing test on macOS Patrick Steinhardt
2025-05-31 21:28     ` Karthik Nayak
2025-06-01  9:19     ` Kristoffer Haugsbakk
2025-06-02  6:19       ` Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 08/10] test-lib: fail on unexpectedly passing tests Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 09/10] meson: introduce kwargs variable for tests Patrick Steinhardt
2025-05-30 13:31   ` [PATCH v3 10/10] meson: parse TAP output generated by our tests Patrick Steinhardt
2025-05-31 21:37   ` [PATCH v3 00/10] " Karthik Nayak
2025-06-02  6:44 ` [PATCH v4 " Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 01/10] t: stop announcing prereqs Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 02/10] t: silence output from `test_create_repo()` Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 03/10] t9822: use prereq to check for ISO-8859-1 support Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 04/10] t983*: use prereq to check for Python-specific git-p4(1) support Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 05/10] t/test-lib: don't print shell traces to stdout Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 06/10] t/test-lib: fix TAP format for BASH_XTRACEFD warning Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 07/10] t7815: fix unexpectedly passing test on macOS Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 08/10] test-lib: fail on unexpectedly passing tests Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 09/10] meson: introduce kwargs variable for tests Patrick Steinhardt
2025-06-02  6:44   ` [PATCH v4 10/10] meson: parse TAP output generated by our tests Patrick Steinhardt
2025-06-02  7:40   ` [PATCH v4 00/10] " Karthik Nayak

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=aDCNqRAoGygwnAbq@pks.im \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=ramsay@ramsayjones.plus.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).