deno/cli/tests/unit
Matt Mastracci ffbb1bad03
chore(cli): Use @test_util for relative path for unit tests (#22327)
This removes the majority of `../../../../../../test_util` relative
imports from the codebase, allowing us to move this code more easily in
the future.
2024-02-07 09:51:28 -07:00
..
abort_controller_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
blob_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
body_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
broadcast_channel_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
buffer_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
build_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
cache_api_test.ts chore(ext/cache): remove CachePutResource in preparation for resource rewrite (#21949) 2024-01-15 13:14:54 -07:00
chmod_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
chown_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
command_test.ts chore: use Deno.writeTextFile() where appropriate (#22008) 2024-01-21 21:58:24 +01:00
console_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
copy_file_test.ts fix(fs): copyFile NUL path on macOS (#22216) 2024-02-01 10:06:09 +05:30
cron_test.ts fix(ext/cron): automatically override unspecified values (#22042) 2024-01-24 00:45:11 +00:00
custom_event_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
dir_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
dom_exception_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
error_stack_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
error_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
esnext_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
event_target_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
event_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
fetch_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
ffi_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
file_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
filereader_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
files_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
flock_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
fs_events_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
get_random_values_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
globals_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
headers_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
http_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
image_bitmap_test.ts feat(web): ImageBitmap (#21898) 2024-01-22 12:08:01 +01:00
image_data_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
internals_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
intl_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
io_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
jupyter_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
kv_queue_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
kv_queue_test_no_db_close.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
kv_queue_undelivered_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
kv_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
link_test.ts chore: use Deno.readTextFile() where appropriate (#22018) 2024-01-21 23:41:28 +01:00
make_temp_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
message_channel_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
mkdir_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
navigator_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
net_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
network_interfaces_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
ops_test.ts chore: remove op_spawn_child test (#22314) 2024-02-07 04:44:51 +01:00
os_test.ts fix(runtime): return number from op_ppid instead of bigint (#22169) 2024-01-30 15:34:31 +09:00
path_from_url_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
performance_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
permissions_test.ts fix: enable "--allow-sys=cpus" for "deno run" (#22260) 2024-02-07 06:38:40 +00:00
process_test.ts chore: use FsFile[Symbol.dispose]() (#22007) 2024-01-22 00:20:59 +01:00
progressevent_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
promise_hooks_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
read_dir_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
read_file_test.ts feat: deprecate Deno.resources() (#22059) 2024-01-24 00:27:29 +01:00
read_link_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
read_text_file_test.ts feat: deprecate Deno.resources() (#22059) 2024-01-24 00:27:29 +01:00
README.md chore: fix flaky netListenUnrefAndRef (#16892) 2022-12-02 12:41:52 -05:00
real_path_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
ref_unref_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
remove_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
rename_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
request_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
resources_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
response_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
serve_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
signal_test.ts fix(cli): make signals tests more reliable (#21772) 2024-01-03 07:41:58 -07:00
stat_test.ts feat: deprecate Deno.close() (#22066) 2024-01-24 15:59:55 +01:00
stdio_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
streams_test.ts refactor: don't expose ops to user code (#22273) 2024-02-06 00:26:36 +01:00
structured_clone_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
symbol_test.ts fix: Support Symbol.metadata (#22282) 2024-02-06 14:57:25 +01:00
symlink_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
sync_test.ts feat: deprecate Deno.write() and Deno.writeSync() (#22064) 2024-01-24 16:36:13 +01:00
test_util.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
testing_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
text_encoding_test.ts chore: upgrade deno_core to 0.259.0 (#22311) 2024-02-07 02:16:08 +01:00
timers_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
tls_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
truncate_test.ts feat: deprecate Deno.close() (#22066) 2024-01-24 15:59:55 +01:00
tty_color_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
tty_test.ts feat: Deno.{stdin,stdout,stderr}.isTerminal(), deprecate Deno.isatty() (#22011) 2024-01-24 00:01:56 +01:00
umask_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
url_search_params_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
url_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
urlpattern_test.ts chore(cli): Use @test_util for relative path for unit tests (#22327) 2024-02-07 09:51:28 -07:00
utime_test.ts revert: Remove deprecations of file sync APIs (#22085) 2024-01-24 23:38:18 +01:00
version_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
wasm_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
webcrypto_test.ts feat(ext/crypto): initial support for p521 in generateKey and importKey (#21815) 2024-01-06 16:48:31 +05:30
webgpu_test.ts feat(unstable): implement navigator.gpu.getPreferredCanvasFormat() (#22149) 2024-01-27 23:10:09 +05:30
websocket_test.ts fix(ext/websocket): pass on uncaught errors in idleTimeout (#21846) 2024-01-09 19:56:54 +05:30
webstorage_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
worker_permissions_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
worker_types.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
write_file_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
write_text_file_test.ts chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00: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.
cargo run --bin deno -- test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/

# Run a specific test module
cargo run --bin 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.