0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-04 01:44:26 -05:00
deno/cli/tests/unit
Luca Casonato 53088e16de
feat(test): improved op sanitizer errors + traces (#13676)
This commit improves the error messages for the `deno test` async op
sanitizer. It does this in two ways:
- it uses handwritten error messages for each op that could be leaking
- it includes traces showing where each op was started

This "async op tracing" functionality is a new feature in deno_core.
It likely has a significant performance impact, which is why it is only
enabled in tests.
2022-02-16 19:53:17 +01:00
..
abort_controller_test.ts
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 uncaught TypeError in css styling (#13567) 2022-02-06 19:00:06 +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
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 chore: update copyright year (#13434) 2022-01-20 16:10:16 +09: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 tests: deflake a bunch of net related tests (#13685) 2022-02-16 16:51:32 +01:00
ffi_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09: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
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 feat(test): improved op sanitizer errors + traces (#13676) 2022-02-16 19:53:17 +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 tests: deflake a bunch of net related tests (#13685) 2022-02-16 16:51:32 +01:00
network_interfaces_test.ts feat(unstable): add Deno.networkInterfaces (#13475) 2022-01-24 18:39:28 +09:00
opcall_test.ts
os_test.ts feat(unstable): add Deno.getUid (#13496) 2022-01-31 14:44:19 +09:00
path_from_url_test.ts
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 chore: update copyright year (#13434) 2022-01-20 16:10:16 +09: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
real_path_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +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
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 chore: update copyright year (#13434) 2022-01-20 16:10:16 +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 feat(test): improved op sanitizer errors + traces (#13676) 2022-02-16 19:53:17 +01:00
tls_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
truncate_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09: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
webcrypto_test.ts fix(ext/crypto): optional additionalData in encrypt/decrypt (#13669) 2022-02-16 16:27:14 +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

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.