diff --git a/test/libc/calls/getprogramexecutablename_test.c b/test/libc/calls/getprogramexecutablename_test.c index 3e1f8ad8d..0de855239 100644 --- a/test/libc/calls/getprogramexecutablename_test.c +++ b/test/libc/calls/getprogramexecutablename_test.c @@ -36,8 +36,12 @@ void SetUpOnce(void) { __attribute__((__constructor__)) static void Child(int argc, char *argv[]) { static bool skiparg0tests; - if (IsLinux()) { - /* see also: https://github.com/jart/cosmopolitan/issues/1014 */ + if (!IsXnuSilicon()) { + /* TODO(mrdomino): these tests only pass on XnuSilicon right now because + __sys_execve fails there, so the ape loader is used. + the correct check here is "we have been invoked either + as an assimilated binary or via the ape loader, and not + via a raw __sys_execve." */ skiparg0tests = true; if (argc < 2) { fprintf(stderr, "warning: skipping argv[0] tests\n");