]> git.ipfire.org Git - thirdparty/git.git/commit
t/test-lib: silence EBUSY errors on Windows during test cleanup
authorPatrick Steinhardt <ps@pks.im>
Wed, 3 Jun 2026 05:39:45 +0000 (07:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Jun 2026 07:38:04 +0000 (16:38 +0900)
commitdb9f2c4fc0fa293cc6246c5e5d806d05ca8a62b9
tree6224e03b4894df33de5a98684347cf64878cf052
parent9433efd64bd4bfa65fcaa8327276f038ea583df1
t/test-lib: silence EBUSY errors on Windows during test cleanup

When tests have finished we clean up the trash directory via `rm -rf`.
On Windows this can fail with EBUSY in cases where a process still holds
some of the files open, for example when we have spawned a daemonized
process that wasn't properly terminated. We thus retry several times,
but every failure will result in error messages being printed, and that
in turn breaks the TAP output format.

One such case where this is causing issues is in t921x, which contains
tests related to Scalar. Some tests spawn the fsmonitor daemon, and we
never properly terminate it.

The obvious fix would be to ensure that we never leak any processes, but
that gets ugly fast. Instead, let's work around the issue by silencing
error messages printed by the `rm -rf` calls. We already know to print
an error when the retry loop fails, so we don't loose much.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh