[PATCH] ci: fix aggregation of test results with Meson

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Our CI needs to be aware of the location of the test output directory so
that it knows where to find test results. Some of our CI jobs achieve
this by setting the `TEST_OUTPUT_DIRECTORY` environment variable, which
ensures that the output will be written to that directory. Other jobs,
especially on GitHub Workflows, don't set that environment variable and
instead expect test results to be located in the source directory in
"t/".

The latter logic does not work with Meson though, as the test results
are not written into the source directory by default, but instead into
the build directory. As such, any job that uses Meson without setting
the environment variable will be unable to locate and aggregate results.

Fix this by explicitly setting the test output directory when we set up
the Meson build directory. Like this, we can easily default to "t/" in
the source directory when the value hasn't been set explicitly.

Reported-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
Signed-off-by: Patrick Steinhardt <ps@xxxxxx>
---
Hi,

Johannes reported to me off-list that aggregation of test results
doesn't work on GitHub Workflow when using Meson, as can be seen e.g. in
[1].

As it turns out, the issue is that we don't set `TEST_OUTPUT_DIRECTORY`
for many of the GitHub Workflows jobs. And because Meson by default puts
test results into the build instead of into the source directory our
assumption that the results can be found in "t/" is broken. This isn't 

I never noticed this failure myself because in GitLab we always set the
above environment variable there. In any case, this patch fixes it as
can be seen at [2].

Thanks!

Patrick

[1]: https://github.com/git-for-windows/git/actions/runs/14806194960/job/41574766327#step:9:2125
[2]: https://github.com/git/git/actions/runs/14833082023/job/41638408968
---
 ci/run-build-and-tests.sh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
index f99b7db2ee8..bd300a05db8 100755
--- a/ci/run-build-and-tests.sh
+++ b/ci/run-build-and-tests.sh
@@ -56,6 +56,7 @@ case "$jobname" in
 		--warnlevel 2 --werror \
 		--wrap-mode nofallback \
 		-Dfuzzers=true \
+		-Dtest_output_directory="${TEST_OUTPUT_DIRECTORY:-$(pwd)/t}" \
 		$MESONFLAGS
 	group "Build" meson compile -C build --
 	if test -n "$run_tests"

---
base-commit: 6c0bd1fc70efaf053abe4e57c976afdc72d15377
change-id: 20250505-b4-pks-meson-aggregate-results-60ef175dd424





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux