Skip to content

Commit

Permalink
Unrolled build for rust-lang#116989
Browse files Browse the repository at this point in the history
Rollup merge of rust-lang#116989 - ChrisDenton:skip-unsupported, r=Mark-Simulacrum

Skip test if Unix sockets are unsupported

Fixes rust-lang#116683 (comment)

The test will be skipped if `AF_UNIX` is not supported. In that case [`WSASocketW` returns `WSAEAFNOSUPPORT`](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw#return-value).

It will never skip the test when run in CI but maybe this is me being too defensive since the error code is narrowly scoped to just the af family parameter being unsupported?

Also fixed a minor typo.

r? `@Mark-Simulacrum`
  • Loading branch information
rust-timer authored Oct 22, 2023
2 parents 3932c87 + 46f68cc commit 9a4b045
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions library/std/src/fs/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1717,7 +1717,7 @@ fn windows_unix_socket_exists() {
let tmp = tmpdir();
let socket_path = tmp.join("socket");

// std doesn't current support Unix sockets on Windows so manually create one here.
// std doesn't currently support Unix sockets on Windows so manually create one here.
net::init();
unsafe {
let socket = c::WSASocketW(
Expand All @@ -1728,7 +1728,16 @@ fn windows_unix_socket_exists() {
0,
c::WSA_FLAG_OVERLAPPED | c::WSA_FLAG_NO_HANDLE_INHERIT,
);
assert_ne!(socket, c::INVALID_SOCKET);
// AF_UNIX is not supported on earlier versions of Windows,
// so skip this test if it's unsupported and we're not in CI.
if socket == c::INVALID_SOCKET {
let error = c::WSAGetLastError();
if env::var_os("CI").is_none() && error == c::WSAEAFNOSUPPORT {
return;
} else {
panic!("Creating AF_UNIX socket failed (OS error {error})");
}
}
let mut addr = c::SOCKADDR_UN { sun_family: c::AF_UNIX, sun_path: mem::zeroed() };
let bytes = socket_path.as_os_str().as_encoded_bytes();
addr.sun_path[..bytes.len()].copy_from_slice(bytes);
Expand Down

0 comments on commit 9a4b045

Please sign in to comment.