From bc4a0e4d0441997b9c4f53c243c963650d5b2dbd Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 17 Oct 2024 13:34:42 -0700 Subject: [PATCH] this test is supposed to be allowed to fail with either message --- src/bun.js/bindings/helpers.cpp | 5 +++-- test/js/node/test/parallel/process-uid-gid.test.js | 14 ++------------ 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/bun.js/bindings/helpers.cpp b/src/bun.js/bindings/helpers.cpp index ef0e10613839c..d53c105480a72 100644 --- a/src/bun.js/bindings/helpers.cpp +++ b/src/bun.js/bindings/helpers.cpp @@ -269,12 +269,13 @@ JSC::JSValue createSystemError(JSC::JSGlobalObject* global, ASCIILiteral message JSC::JSValue createSystemError(JSC::JSGlobalObject* global, ASCIILiteral syscall, int err) { - auto* instance = JSC::createError(global, makeString(String(syscall), "() failed: "_s, String::fromLatin1(strerror(err)))); + auto errstr = String::fromLatin1(errno_string(err)); + auto* instance = JSC::createError(global, makeString(String(syscall), "() failed: "_s, errstr, ": "_s, String::fromLatin1(strerror(err)))); auto& vm = global->vm(); auto& builtinNames = WebCore::builtinNames(vm); instance->putDirect(vm, builtinNames.syscallPublicName(), jsString(vm, String(syscall)), 0); instance->putDirect(vm, builtinNames.errnoPublicName(), JSC::jsNumber(err), 0); instance->putDirect(vm, vm.propertyNames->name, jsString(vm, String("SystemError"_s)), JSC::PropertyAttribute::DontEnum | 0); - instance->putDirect(vm, builtinNames.codePublicName(), jsString(vm, String::fromLatin1(errno_string(err)))); + instance->putDirect(vm, builtinNames.codePublicName(), jsString(vm, errstr)); return instance; } diff --git a/test/js/node/test/parallel/process-uid-gid.test.js b/test/js/node/test/parallel/process-uid-gid.test.js index 85df2d38b70f7..b7f9d028a649d 100644 --- a/test/js/node/test/parallel/process-uid-gid.test.js +++ b/test/js/node/test/parallel/process-uid-gid.test.js @@ -80,19 +80,9 @@ if (isWindows) { expect(() => process.getgid()).not.toThrow(); expect(() => process.getuid()).not.toThrow(); - expect(() => process.setgid("nobody")).toThrow( - expect.objectContaining({ - syscall: "setgid", - code: "EPERM", - }), - ); + expect(() => process.setgid("nobody")).toThrow(/EPERM|Group identifier does not exist/); - expect(() => process.setuid("nobody")).toThrow( - expect.objectContaining({ - syscall: "setuid", - code: "EPERM", - }), - ); + expect(() => process.setuid("nobody")).toThrow(/EPERM|User identifier does not exist/); }); } else { test("root user permissions", async () => {