Git development
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Make our clar tests ignore the long-tests argument
@ 2026-10-26  7:18 Kaartic Sivaraam
  2026-10-26  7:18 ` [PATCH v2 1/2] unit-tests: reshuffle NOOP arguments to maintain order Kaartic Sivaraam
  2026-10-26  7:18 ` [PATCH v2 2/2] unit-tests: ignore --long-tests Kaartic Sivaraam
  0 siblings, 2 replies; 6+ messages in thread
From: Kaartic Sivaraam @ 2026-10-26  7:18 UTC (permalink / raw)
  To: Git mailing list; +Cc: Patrick Steinhardt

This is a small patch to fix a hiccup I hit while trying to run
our test using the following incantation:

  $ meson test -v --test-args='-ilx'

  ...

  Summary of Failures:

     2/1063 unit-tests                                     FAIL            0.16s   (exit status 129 or signal 1 SIGHUP)

  Ok:                 1061
  Expected Fail:      0
  Fail:               1
  Unexpected Pass:    0
  Skipped:            1
  Timeout:            0

  Full log written to /path/to/testlog.txt

On some exploration, we find the following which shows us what's wrong:

  2/1063 unit-tests RUNNING       
  >>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=103 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /me/git-1/build/t/unit-tests -ilx
  ――――――――――――――――――――――――――――――――――――――――――――――― ✀  ――――――――――――――――――――――――――――――――――――――――――――――――
  error: unknown switch `l'
  usage: unit-test [<options>]

      -i, --[no-]immediate  immediately exit upon the first failed test
      -r, --[no-]run suite[::test]
                            run only test suite or individual test <suite[::test]>
      --[no-]exclude <suite>
                            exclude test suite <suite>

  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  2/1063 unit-tests FAIL            0.01s   (exit status 129 or signal 1 SIGHUP)

So, the '-l' switch that's passed to unit-tests is the problem.

On searching for how these were handled before, I stumbled across
9faf3963b6 (t: introduce compatibility options to clar-based tests,
2024-12-13) which handled this by adding such arguments as NOOP
arguments to t/unit-tests/unit-test.c. So, this patch does the same
to make unit-test ignore the '-l' passed to it.

The CI pipeline passes (for v1. v2 only had a commit message change):

 - GitHub: https://github.com/sivaraam/git/actions/runs/39756087806
   (a couple of MacOS ones didn't run owing to the lack of a runner)

- GitLab: https://gitlab.com/gitlab-org/git/-/pipelines/2975804623

---
Changes in v2:
- Fixed the s/prerequiiste/prerequisite/ typo in the commit message

- Link to v1: https://lore.kernel.org/r/20261022-ks-unit-tests-ignore-long-tests-v1-0-554a590d418b@gmail.com

Range-diff vs. v1:

1:  66759f627c = 1:  60bc3f0d83 unit-tests: reshuffle NOOP arguments to maintain order
2:  0bea06fe46 ! 2:  c39dd72a2b unit-tests: ignore --long-tests
    @@ Commit message
         So, ignore -l / --long-tests in our clar tests.

         This does not show up as a problem while running our CI as we enable
    -    the expensive prerequiiste via the GIT_TEST_LONG env variable.
    +    the expensive prerequisite via the GIT_TEST_LONG env variable.

         Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>

---
Kaartic Sivaraam (2):
      unit-tests: reshuffle NOOP arguments to maintain order
      unit-tests: ignore --long-tests

 t/unit-tests/unit-test.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

${range_diff}
---
base-commit: 47fdf2208c5b94c8cc01c106b8f7c85efb91c926
change-id: 20261021-ks-unit-tests-ignore-long-tests-9f32078e9100
${prerequisites}


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] unit-tests: reshuffle NOOP arguments to maintain order
  2026-10-26  7:18 [PATCH v2 0/2] Make our clar tests ignore the long-tests argument Kaartic Sivaraam
@ 2026-10-26  7:18 ` Kaartic Sivaraam
  2026-10-26  7:18 ` [PATCH v2 2/2] unit-tests: ignore --long-tests Kaartic Sivaraam
  1 sibling, 0 replies; 6+ messages in thread
From: Kaartic Sivaraam @ 2026-10-26  7:18 UTC (permalink / raw)
  To: Git mailing list; +Cc: Patrick Steinhardt

Ever since 9faf3963b6 (t: introduce compatibility options to
clar-based tests, 2024-12-13), our clar tests have a few NOOP
arguments in order to accept the same arguments that our integration
tests accept. This makes it easy to pass in test arguments when both
unit and integration tests are run together such as via:

  $ meson test -v --test-args='-ix'

On a quick scan, the order of the NOOP arguments seem to be
alphabetical. That is only until you notice that 'with-dashes'
appears out of order.

Fix this by moving it into its appropriate place thus ensuring
they are in alphabetical order. This makes it easy for future
patches to not worry about where to place a NOOP argument
that is not yet in the list.

Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
---
 t/unit-tests/unit-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/unit-tests/unit-test.c b/t/unit-tests/unit-test.c
index 752fb38fb3..d066c8a4c8 100644
--- a/t/unit-tests/unit-test.c
+++ b/t/unit-tests/unit-test.c
@@ -33,12 +33,12 @@ int cmd_main(int argc, const char **argv)
 		OPT_NOOP_ARG(0, "root"),
 		OPT_NOOP_ARG(0, "stress"),
 		OPT_NOOP_NOARG(0, "tee"),
-		OPT_NOOP_NOARG(0, "with-dashes"),
 		OPT_NOOP_ARG(0, "valgrind"),
 		OPT_NOOP_ARG(0, "valgrind-only"),
 		OPT_NOOP_NOARG('v', "verbose"),
 		OPT_NOOP_NOARG('V', "verbose-log"),
 		OPT_NOOP_ARG(0, "verbose-only"),
+		OPT_NOOP_NOARG(0, "with-dashes"),
 		OPT_NOOP_NOARG('x', NULL),
 		OPT_END(),
 	};

-- 
2.56.0.99.g5a7d1e8045.dirty


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] unit-tests: ignore --long-tests
  2026-10-26  7:18 [PATCH v2 0/2] Make our clar tests ignore the long-tests argument Kaartic Sivaraam
  2026-10-26  7:18 ` [PATCH v2 1/2] unit-tests: reshuffle NOOP arguments to maintain order Kaartic Sivaraam
@ 2026-10-26  7:18 ` Kaartic Sivaraam
  1 sibling, 0 replies; 6+ messages in thread
From: Kaartic Sivaraam @ 2026-10-26  7:18 UTC (permalink / raw)
  To: Git mailing list; +Cc: Patrick Steinhardt

In the same spirit as 9faf3963b6 (t: introduce compatibility options to
clar-based tests, 2024-12-13), we should ignore -l / --long-tests passed
to our clar tests. It may be passed along while manually running tests
via a command as follows:

  $ meson test -v --test-args='-ilx'

So, ignore -l / --long-tests in our clar tests.

This does not show up as a problem while running our CI as we enable
the expensive prerequisite via the GIT_TEST_LONG env variable.

Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
---
 t/unit-tests/unit-test.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/t/unit-tests/unit-test.c b/t/unit-tests/unit-test.c
index d066c8a4c8..06ffd0f5bb 100644
--- a/t/unit-tests/unit-test.c
+++ b/t/unit-tests/unit-test.c
@@ -28,6 +28,7 @@ int cmd_main(int argc, const char **argv)
 		 */
 		OPT_NOOP_NOARG('d', "debug"),
 		OPT_NOOP_NOARG(0, "github-workflow-markup"),
+		OPT_NOOP_NOARG('l', "long-tests"),
 		OPT_NOOP_NOARG(0, "no-bin-wrappers"),
 		OPT_NOOP_ARG(0, "no-chain-lint"),
 		OPT_NOOP_ARG(0, "root"),

-- 
2.56.0.99.g5a7d1e8045.dirty


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 0/2] Make our clar tests ignore the long-tests argument
  2026-10-22 11:01 [PATCH 0/2] Make our clar tests ignore the long-tests argument Kaartic Sivaraam
@ 2026-10-26  7:31 ` Kaartic Sivaraam
  2026-10-26  8:11   ` Patrick Steinhardt
  0 siblings, 1 reply; 6+ messages in thread
From: Kaartic Sivaraam @ 2026-10-26  7:31 UTC (permalink / raw)
  To: Git mailing list; +Cc: Patrick Steinhardt

(Resending in the proper thread. Still trying to figure out how to make b4 send
 v2 in the proper thread. Sorry for the noise!)

This is a small patch to fix a hiccup I hit while trying to run
our test using the following incantation:

  $ meson test -v --test-args='-ilx'

  ...

  Summary of Failures:

     2/1063 unit-tests                                     FAIL            0.16s   (exit status 129 or signal 1 SIGHUP)

  Ok:                 1061
  Expected Fail:      0
  Fail:               1
  Unexpected Pass:    0
  Skipped:            1
  Timeout:            0

  Full log written to /path/to/testlog.txt

On some exploration, we find the following which shows us what's wrong:

  2/1063 unit-tests RUNNING
  >>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=103 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /me/git-1/build/t/unit-tests -ilx
  ――――――――――――――――――――――――――――――――――――――――――――――― ✀  ――――――――――――――――――――――――――――――――――――――――――――――――
  error: unknown switch `l'
  usage: unit-test [<options>]

      -i, --[no-]immediate  immediately exit upon the first failed test
      -r, --[no-]run suite[::test]
                            run only test suite or individual test <suite[::test]>
      --[no-]exclude <suite>
                            exclude test suite <suite>

  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  2/1063 unit-tests FAIL            0.01s   (exit status 129 or signal 1 SIGHUP)

So, the '-l' switch that's passed to unit-tests is the problem.

On searching for how these were handled before, I stumbled across
9faf3963b6 (t: introduce compatibility options to clar-based tests,
2024-12-13) which handled this by adding such arguments as NOOP
arguments to t/unit-tests/unit-test.c. So, this patch does the same
to make unit-test ignore the '-l' passed to it.

The CI pipeline passes (for v1. v2 only had a commit message change):

 - GitHub: https://github.com/sivaraam/git/actions/runs/39756087806
   (a couple of MacOS ones didn't run owing to the lack of a runner)

- GitLab: https://gitlab.com/gitlab-org/git/-/pipelines/2975804623

---
Changes in v2:
- Fixed the s/prerequiiste/prerequisite/ typo in the commit message

- Link to v1: https://lore.kernel.org/r/20261022-ks-unit-tests-ignore-long-tests-v1-0-554a590d418b@gmail.com

Range-diff vs. v1:

1:  66759f627c = 1:  60bc3f0d83 unit-tests: reshuffle NOOP arguments to maintain order
2:  0bea06fe46 ! 2:  c39dd72a2b unit-tests: ignore --long-tests
    @@ Commit message
         So, ignore -l / --long-tests in our clar tests.

         This does not show up as a problem while running our CI as we enable
    -    the expensive prerequiiste via the GIT_TEST_LONG env variable.
    +    the expensive prerequisite via the GIT_TEST_LONG env variable.

         Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>

---
Kaartic Sivaraam (2):
      unit-tests: reshuffle NOOP arguments to maintain order
      unit-tests: ignore --long-tests

 t/unit-tests/unit-test.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---
base-commit: 47fdf2208c5b94c8cc01c106b8f7c85efb91c926
change-id: 20261021-ks-unit-tests-ignore-long-tests-9f32078e9100
-- 
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/2] Make our clar tests ignore the long-tests argument
  2026-10-26  7:31 ` [PATCH v2 " Kaartic Sivaraam
@ 2026-10-26  8:11   ` Patrick Steinhardt
  2026-10-26 16:10     ` Junio C Hamano
  0 siblings, 1 reply; 6+ messages in thread
From: Patrick Steinhardt @ 2026-10-26  8:11 UTC (permalink / raw)
  To: Kaartic Sivaraam; +Cc: Git mailing list

On Mon, Oct 26, 2026 at 01:01:03PM +0530, Kaartic Sivaraam wrote:
> Changes in v2:
> - Fixed the s/prerequiiste/prerequisite/ typo in the commit message
> 
> - Link to v1: https://lore.kernel.org/r/20261022-ks-unit-tests-ignore-long-tests-v1-0-554a590d418b@gmail.com

Thanks, this version looks good to me.

Patrick

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/2] Make our clar tests ignore the long-tests argument
  2026-10-26  8:11   ` Patrick Steinhardt
@ 2026-10-26 16:10     ` Junio C Hamano
  0 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2026-10-26 16:10 UTC (permalink / raw)
  To: Patrick Steinhardt; +Cc: Kaartic Sivaraam, Git mailing list

Patrick Steinhardt <ps@pks.im> writes:

> On Mon, Oct 26, 2026 at 01:01:03PM +0530, Kaartic Sivaraam wrote:
>> Changes in v2:
>> - Fixed the s/prerequiiste/prerequisite/ typo in the commit message
>> 
>> - Link to v1: https://lore.kernel.org/r/20261022-ks-unit-tests-ignore-long-tests-v1-0-554a590d418b@gmail.com
>
> Thanks, this version looks good to me.
>
> Patrick

Thanks for writing and reviewing.  Will queue.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-26 16:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-26  7:18 [PATCH v2 0/2] Make our clar tests ignore the long-tests argument Kaartic Sivaraam
2026-10-26  7:18 ` [PATCH v2 1/2] unit-tests: reshuffle NOOP arguments to maintain order Kaartic Sivaraam
2026-10-26  7:18 ` [PATCH v2 2/2] unit-tests: ignore --long-tests Kaartic Sivaraam
  -- strict thread matches above, loose matches on Subject: below --
2026-10-22 11:01 [PATCH 0/2] Make our clar tests ignore the long-tests argument Kaartic Sivaraam
2026-10-26  7:31 ` [PATCH v2 " Kaartic Sivaraam
2026-10-26  8:11   ` Patrick Steinhardt
2026-10-26 16:10     ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox