From be108c7a939407a759a009da78fd529aee140977 Mon Sep 17 00:00:00 2001 From: Pat Hickey Date: Wed, 27 Jan 2021 18:18:12 -0800 Subject: [PATCH] will this work for platform-specific errnos? WIP --- .../src/bin/path_symlink_trailing_slashes.rs | 3 ++- crates/test-programs/wasi-tests/src/lib.rs | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/crates/test-programs/wasi-tests/src/bin/path_symlink_trailing_slashes.rs b/crates/test-programs/wasi-tests/src/bin/path_symlink_trailing_slashes.rs index 748b8bd95d..5a63a13fb8 100644 --- a/crates/test-programs/wasi-tests/src/bin/path_symlink_trailing_slashes.rs +++ b/crates/test-programs/wasi-tests/src/bin/path_symlink_trailing_slashes.rs @@ -22,7 +22,8 @@ unsafe fn test_path_symlink_trailing_slashes(dir_fd: wasi::Fd) { wasi::path_symlink("source", dir_fd, "target/") .expect_err("link destination already exists") .raw_error(), - wasi::ERRNO_EXIST, + windows => wasi::ERRNO_NOENT, + wasi::ERRNO_EXIST ); wasi::path_remove_directory(dir_fd, "target").expect("removing a directory"); diff --git a/crates/test-programs/wasi-tests/src/lib.rs b/crates/test-programs/wasi-tests/src/lib.rs index 059d3c1ae2..7ecc77b33d 100644 --- a/crates/test-programs/wasi-tests/src/lib.rs +++ b/crates/test-programs/wasi-tests/src/lib.rs @@ -67,6 +67,22 @@ macro_rules! assert_errno { ($s:expr, $( $i:expr ),+,) => { assert_errno!($s, $( $i ),+) }; + ($s:expr, windows => $i:expr, $( $rest:expr ),+) => { + let e = $s; + if std::env::var("ERRNO_EXPECT_WINDOWS").is_ok() { + assert_errno!(e, $i); + } else { + assert_errno!(e, $($rest),+, $i); + } + }; + ($s:expr, linux => $i:expr, $( $rest:expr ),+) => { + let e = $s; + if std::env::var("ERRNO_EXPECT_LINUX").is_ok() { + assert_errno!(e, $i); + } else { + assert_errno!(e, $($rest),+, $i); + } + }; ($s:expr, $( $i:expr ),+) => { let e = $s; {