Skip to content

Commit

Permalink
test(std/wasi): reduce test duplication
Browse files Browse the repository at this point in the history
This fast-forwards wasi-test-suite a couple of commits removed
duplicate, or near duplicate tests with not much additional value.

Other tests have been merged to reduce the number of modules to make
tests topical to the syscall that is being tested.
  • Loading branch information
caspervonb committed Oct 20, 2020
1 parent d9ae740 commit d141cb4
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 63 deletions.
12 changes: 2 additions & 10 deletions cli/repl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ async fn post_message_and_poll(
// A zero delay is long enough to yield the thread in order to prevent the loop from
// running hot for messages that are taking longer to resolve like for example an
// evaluation of top level await.
tokio::time::delay_for(tokio::time::Duration::from_millis(0)).await;
tokio::task::yield_now().await;
}
}
}
Expand All @@ -310,20 +310,12 @@ async fn read_line_and_poll(
.unwrap();
}

// Because an inspector websocket client may choose to connect at anytime when we have an
// inspector server we need to keep polling the worker to pick up new connections.
let mut timeout =
tokio::time::delay_for(tokio::time::Duration::from_millis(100));

tokio::select! {
result = &mut line => {
return result.unwrap();
}
_ = worker.run_event_loop(), if poll_worker => {
poll_worker = false;
}
_ = &mut timeout => {
poll_worker = true
tokio::task::yield_now();
}
}
}
Expand Down
78 changes: 26 additions & 52 deletions std/wasi/snapshot_preview1_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,77 +4,51 @@ import { copy } from "../fs/mod.ts";
import * as path from "../path/mod.ts";

const tests = [
"testdata/std_env_args_none.wasm",
"testdata/std_env_args_some.wasm",
"testdata/std_env_vars_none.wasm",
"testdata/std_env_vars_some.wasm",
"testdata/std_fs_create_dir_absolute.wasm",
"testdata/std_fs_create_dir_relative.wasm",
"testdata/std_fs_file_create_absolute.wasm",
"testdata/std_fs_file_create_relative.wasm",
"testdata/std_fs_file_metadata_absolute.wasm",
"testdata/std_fs_file_metadata_relative.wasm",
"testdata/std_fs_file_seek_absolute.wasm",
"testdata/std_fs_file_seek_relative.wasm",
"testdata/std_fs_file_set_len_absolute.wasm",
"testdata/std_fs_file_set_len_relative.wasm",
"testdata/std_fs_file_sync_all_absolute.wasm",
"testdata/std_fs_file_sync_all_relative.wasm",
"testdata/std_fs_file_sync_data_absolute.wasm",
"testdata/std_fs_file_sync_data_relative.wasm",
"testdata/std_fs_hard_link_absolute.wasm",
"testdata/std_fs_hard_link_relative.wasm",
"testdata/std_fs_metadata_absolute.wasm",
"testdata/std_fs_metadata_relative.wasm",
"testdata/std_fs_read_absolute.wasm",
"testdata/std_fs_read_dir_absolute.wasm",
"testdata/std_fs_read_dir_relative.wasm",
"testdata/std_fs_read_relative.wasm",
"testdata/std_fs_remove_dir_all_absolute.wasm",
"testdata/std_fs_remove_dir_all_relative.wasm",
"testdata/std_fs_rename_absolute.wasm",
"testdata/std_fs_rename_relative.wasm",
"testdata/std_fs_symlink_metadata_absolute.wasm",
"testdata/std_fs_symlink_metadata_relative.wasm",
"testdata/std_fs_write_absolute.wasm",
"testdata/std_fs_write_relative.wasm",
"testdata/std_env_args.wasm",
"testdata/std_env_vars.wasm",
"testdata/std_fs_create_dir.wasm",
"testdata/std_fs_file_create.wasm",
"testdata/std_fs_file_metadata.wasm",
"testdata/std_fs_file_seek.wasm",
"testdata/std_fs_file_set_len.wasm",
"testdata/std_fs_file_sync_all.wasm",
"testdata/std_fs_file_sync_data.wasm",
"testdata/std_fs_hard_link.wasm",
"testdata/std_fs_metadata.wasm",
"testdata/std_fs_read.wasm",
"testdata/std_fs_read_dir.wasm",
"testdata/std_fs_remove_dir_all.wasm",
"testdata/std_fs_rename.wasm",
"testdata/std_fs_symlink_metadata.wasm",
"testdata/std_fs_write.wasm",
"testdata/std_io_stderr.wasm",
"testdata/std_io_stdin.wasm",
"testdata/std_io_stdout.wasm",
"testdata/std_process_exit.wasm",
"testdata/wasi_clock_res_get_monotonic.wasm",
"testdata/wasi_clock_res_get_process.wasm",
"testdata/wasi_clock_res_get_realtime.wasm",
"testdata/wasi_clock_res_get_thread.wasm",
"testdata/wasi_clock_time_get_monotonic.wasm",
"testdata/wasi_clock_time_get_process.wasm",
"testdata/wasi_clock_time_get_realtime.wasm",
"testdata/wasi_clock_time_get_thread.wasm",
"testdata/wasi_fd_fdstat_get_stderr.wasm",
"testdata/wasi_fd_fdstat_get_stdin.wasm",
"testdata/wasi_fd_fdstat_get_stdout.wasm",
"testdata/wasi_clock_res_get.wasm",
"testdata/wasi_clock_time_get.wasm",
"testdata/wasi_fd_fdstat_get.wasm",
"testdata/wasi_fd_fdstat_get.wasm",
"testdata/wasi_fd_fdstat_get.wasm",
"testdata/wasi_fd_renumber.wasm",
"testdata/wasi_fd_tell_file.wasm",
"testdata/wasi_fd_write_file.wasm",
"testdata/wasi_fd_write_stderr.wasm",
"testdata/wasi_fd_write_stdout.wasm",
"testdata/wasi_proc_exit_one.wasm",
"testdata/wasi_proc_exit_zero.wasm",
"testdata/wasi_proc_exit.wasm",
"testdata/wasi_random_get.wasm",
"testdata/wasi_sched_yield.wasm",
];

const ignore = [
"testdata/wasi_clock_time_get_realtime.wasm",
"testdata/wasi_clock_time_get.wasm",
];

// TODO(caspervonb) investigate why these tests are failing on windows and fix
// them.
if (Deno.build.os == "windows") {
ignore.push("testdata/std_fs_metadata_absolute.wasm");
ignore.push("testdata/std_fs_metadata_relative.wasm");
ignore.push("testdata/std_fs_read_dir_absolute.wasm");
ignore.push("testdata/std_fs_read_dir_relative.wasm");
ignore.push("testdata/std_fs_metadata.wasm");
ignore.push("testdata/std_fs_read_dir.wasm");
}

const rootdir = path.dirname(path.fromFileUrl(import.meta.url));
Expand Down
2 changes: 1 addition & 1 deletion std/wasi/testdata
Submodule testdata updated 126 files

0 comments on commit d141cb4

Please sign in to comment.