1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-01 09:24:20 -04:00
denoland-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 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 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 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 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 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 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 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 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 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
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 feat(extensions/web): add structuredClone function (#11572) 2021-08-09 10:39:00 +02: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 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 feat(etc/fetch): Support WebAssembly.instantiateStreaming for file fetches (#12901) 2021-11-26 19:52:41 +11:00
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 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.