Skip to content

Commit

Permalink
this test is supposed to be allowed to fail with either message
Browse files Browse the repository at this point in the history
  • Loading branch information
nektro committed Oct 17, 2024
1 parent de82b4a commit bc4a0e4
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 14 deletions.
5 changes: 3 additions & 2 deletions src/bun.js/bindings/helpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
14 changes: 2 additions & 12 deletions test/js/node/test/parallel/process-uid-gid.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 () => {
Expand Down

0 comments on commit bc4a0e4

Please sign in to comment.