From 5bb88e89efc8b4babb2e2818063ebe88f482f82b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 25 Mar 2025 10:38:30 +0000 Subject: [PATCH] test-tool path-utils: support debugging "dubious ownership" issues This adds a new sub-sub-command for `test-tool`, simply passing through the command-line arguments to the `is_path_owned_by_current_user()` function. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- t/helper/test-path-utils.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/t/helper/test-path-utils.c b/t/helper/test-path-utils.c index 72ac8d1b1b..f3c59e5028 100644 --- a/t/helper/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -504,6 +504,25 @@ int cmd__path_utils(int argc, const char **argv) return !!res; } + if (argc > 1 && !strcmp(argv[1], "is_path_owned_by_current_user")) { + int res = 0; + + for (int i = 2; i < argc; i++) { + struct strbuf buf = STRBUF_INIT; + + if (is_path_owned_by_current_user(argv[i], &buf)) + printf("'%s' is owned by current SID\n", argv[i]); + else { + printf("'%s' is not owned by current SID: %s\n", argv[i], buf.buf); + res = 1; + } + + strbuf_release(&buf); + } + + return res; + } + fprintf(stderr, "%s: unknown function name: %s\n", argv[0], argv[1] ? argv[1] : "(there was none)"); return 1;