1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
denoland-deno/cli/tests/unit
Colin Ihrig 0a96cb62a8
fix(runtime): improve permission descriptor validation (#14676)
This commit improves the permission descriptor validation by
explicitly checking for object types and using optional
chaining when creating error messages in case the descriptor
is not an object.

Fixes: https://github.com/denoland/deno/issues/14675
2022-05-19 17:45:09 -04: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
console_test.ts feat(ext/console): Compact empty iterables when calling Deno.inspect with compact false (#14387) 2022-04-26 13:04:28 +02: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 BREAKING: Remove unstable Deno.applySourceMap API (#14473) 2022-05-03 18:44:05 +02: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 fix: add types for Response.json (#14655) 2022-05-18 16:16:11 +02: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 fix(runtime): lossy utf8 readTextFile (#14456) 2022-05-01 19:13:05 -07:00
flock_test.ts refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02: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: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02: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 feat: add userAgent property to Navigator's prototype (#14415) 2022-05-14 12:00:02 +02: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02: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 feat(ext/web): add performance.toJSON (#14548) 2022-05-13 18:36:00 +02:00
permissions_test.ts fix(runtime): improve permission descriptor validation (#14676) 2022-05-19 17:45:09 -04:00
process_test.ts Revert "refactor(runtime): change from signal_str_to_int function to enum (#14539)" (#14606) 2022-05-15 05:57:09 +02: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 perf(runtime): read entire files in single ops (#14261) 2022-04-27 16:03:44 +02: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
spawn_test.ts feat: make Child.kill argument optional (#14669) 2022-05-19 14:05:57 +02: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
testing_test.ts feat(test): Add "name", "origin" and "parent" to "Deno.TestContext" (#14007) 2022-04-06 16:51:38 +02: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 refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
truncate_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
tty_color_test.ts refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02: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): check extractable in exportKey (#14222) 2022-04-07 18:28:56 +05:30
webgpu_test.ts chore: disable wgpu tests in WSL (#14157) 2022-03-30 20:56:28 -04:00
websocket_test.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
worker_permissions_test.ts BREAKING(unstable): Enable Deno namespace in workers by default (#14581) 2022-05-17 22:27:17 +02:00
worker_types.ts chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
write_file_test.ts perf: move Deno.writeTextFile and like functions to Rust (#14221) 2022-04-18 18:00:14 -04:00
write_text_file_test.ts perf: move Deno.writeTextFile and like functions to Rust (#14221) 2022-04-18 18:00:14 -04: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.