0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/cli/tests/unit
Andreu Botella d983b577bc
chore(wasm): Don't await on the argument to handleWasmStreaming (#14000)
`handleWasmStreaming` is the function that provides the binding with
the `fetch` API needed for `WebAssembly.instantiateStreaming()` and
`WebAssembly.compileStreaming()`. When I implemented it in #11200, I
thought V8 was calling these functions with the argument of the
`WebAssembly` streaming functions, without doing any resolving, and so
`handleWasmStreaming` awaits for the parameter to resolve. However,
as discovered in
https://github.com/denoland/deno/issues/13917#issuecomment-1065805565,
V8 does in fact resolve the parameter if it's a promise (and handles
rejections arising from that).

This change removes the `async` IIFE inside `handleWasmStreaming`,
letting initial errors be handled synchronously (which will however
not throw synchronously from the `WebAssembly` namespace functions).
Awaiting is still necessary for reading the bytes of the response,
though, and so there is an `async` IIFE for that.
2022-03-29 14:44:33 +02:00
..
abort_controller_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
blob_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
body_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
broadcast_channel_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
buffer_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
build_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
chmod_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
chown_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
console_test.ts fix(ext/console): fix error with a Proxy of a Map (#14032) 2022-03-20 20:21:42 +09:00
copy_file_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
custom_event_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
dir_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
dom_exception_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
error_stack_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
error_test.ts fix(cli/dts): add NotSupported error type (#13432) 2022-01-20 12:29:37 +09:00
esnext_test.ts feat(cli): update to TypeScript 4.6.2 (#13474) 2022-03-02 07:44:43 +11:00
event_target_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
event_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
fetch_test.ts feat(ext/fetch): Allow Response status 101 (#13969) 2022-03-16 14:30:43 +01:00
ffi_test.ts fix(ext/ffi): enforce unstable check on ops (#14115) 2022-03-25 12:29:54 +01:00
file_test.ts feat(runtime): web streams in fs & net APIs (#13615) 2022-02-15 13:35:22 +01:00
filereader_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
files_test.ts feat(runtime): web streams in fs & net APIs (#13615) 2022-02-15 13:35:22 +01:00
flock_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
format_error_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
fs_events_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
get_random_values_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
globals_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
headers_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
http_test.ts refactor: remove loops in cli/tests/unit/http_test.ts (#14075) 2022-03-22 23:08:29 +01:00
internals_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
io_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
link_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
make_temp_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
message_channel_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
metrics_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
mkdir_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
navigator_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
net_test.ts feat(unstable): add ref/unref to Listener (#13961) 2022-03-23 12:04:20 +09:00
network_interfaces_test.ts feat(unstable): add Deno.networkInterfaces (#13475) 2022-01-24 18:39:28 +09:00
opcall_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
os_test.ts feat(unstable): add Deno.getUid (#13496) 2022-01-31 14:44:19 +09:00
path_from_url_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
performance_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
permissions_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
process_test.ts fix: Deno.run - do not modify user provided cmd array (#14109) 2022-03-25 08:17:13 -04:00
progressevent_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
read_dir_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
read_file_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
read_link_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
read_text_file_test.ts feat: support abort reasons in Deno APIs and WebSocketStream (#13066) 2021-12-16 12:57:26 +01:00
README.md refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00
real_path_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
ref_unref_test.ts refactor(core): validate promise id in refOp (#13905) 2022-03-12 01:18:49 +09:00
remove_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
rename_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
request_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
resources_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
response_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
signal_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
stat_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
stdio_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
streams_deprecated.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
structured_clone_test.ts fix(core): Don't override structured clone error messages from V8 (#13942) 2022-03-14 19:35:15 +01:00
symlink_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
sync_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
test_util.ts feat(unstable): add ref/unref to Listener (#13961) 2022-03-23 12:04:20 +09:00
testing_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
text_encoding_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
timers_test.ts fix: actually don't inherit runtime permissions (#14024) 2022-03-20 22:46:39 +01:00
tls_test.ts feat: Add Deno.TcpConn class, change return type from Deno.connect (#13714) 2022-02-27 15:18:30 +01:00
truncate_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
tty_color_test.ts fix: actually don't inherit runtime permissions (#14024) 2022-03-20 22:46:39 +01:00
tty_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
umask_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
url_search_params_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
url_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
urlpattern_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
utime_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
version_test.ts feat(cli): update to TypeScript 4.5 (#12410) 2021-12-10 09:12:21 +11:00
wasm_test.ts chore(wasm): Don't await on the argument to handleWasmStreaming (#14000) 2022-03-29 14:44:33 +02:00
webcrypto_test.ts fix(ext/crypto): handle JWK import with "use" (#13912) 2022-03-11 20:26:16 +05:30
webgpu_test.ts chore: re-enable wgpu_sync (#13453) 2022-01-24 23:47:05 +01:00
websocket_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
worker_permissions_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
worker_types.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
write_file_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
write_text_file_test.ts refactor: remove "unitTest" wrapper from cli/tests/unit (#12750) 2021-11-23 17:45:18 +01:00

Deno runtime tests

Files in this directory are unit tests for Deno runtime.

Testing Deno runtime code requires checking API under different runtime permissions. To accomplish this all tests exercised are created using Deno.test() function.

import {} from "./test_util.ts";

Deno.test(function simpleTestFn(): void {
  // test code here
});

Deno.test(
  {
    ignore: Deno.build.os === "windows",
    permissions: { read: true, write: true },
  },
  function complexTestFn(): void {
    // test code here
  },
);

Running tests

There are two ways to run unit_test_runner.ts:

# Run all tests.
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/

# Run a specific test module
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/files_test.ts

Http server

target/debug/test_server is required to run when one's running unit tests. During CI it's spawned automatically, but if you want to run tests manually make sure that server is spawned otherwise there'll be cascade of test failures.