deno/tests/unit
Divy 6807ca4e9c
Some checks are pending
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
chore: disable flaky netTcpWithAbortSignal (#30755)
This test is very flaky and needs to be rewritten, it depends on a race
condition between the timeout and `Deno.connect`.
2025-09-17 05:43:50 +00:00
..
__snapshots__ fix(unstable): add missing decorators nodes in lint ast (#28834) 2025-04-10 17:49:05 +02:00
abort_controller_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
blob_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
body_test.ts feat: TypeScript 5.7 (#27857) 2025-01-31 16:07:42 -05:00
broadcast_channel_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
build_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
bundle_test.ts feat(bundle): support html entrypoint (#29856) 2025-09-09 12:18:10 -07:00
cache_api_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
chmod_test.ts fix(std/fs): implement chmod on windows (#30436) 2025-08-18 19:06:22 +02:00
chown_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
command_test.ts feat(ext/process): add collector utilities to ChildProcess.stdout & ChildProcess.stderr (#30552) 2025-09-02 11:21:14 +02:00
console_test.ts fix: don't invoke Proxy getter trap on console.log (#30230) 2025-07-29 13:45:12 +02:00
copy_file_test.ts refactor(permissions): remove access check callback (#30050) 2025-07-10 21:40:20 -04:00
cron_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
custom_event_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
dir_test.ts feat: Deno.cwd() no longer requires --allow-read permission (#27192) 2025-01-27 15:13:59 +01:00
dom_exception_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
error_stack_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
error_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
esnext_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
event_source_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
event_target_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
event_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
fetch_test.ts feat(unstable): tcp proxy for Deno.HttpClient (#30700) 2025-09-15 16:50:12 +00:00
ffi_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
file_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
filereader_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
files_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
fs_events_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
get_random_values_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
globals_test.ts fix: global global should be writeable (#30032) 2025-07-08 13:18:44 +02:00
headers_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
http_test.ts chore: update std in test util (#27892) 2025-01-31 08:52:32 -05:00
image_bitmap_test.ts fix(dts): specify the underlying buffer type in more places (#30640) 2025-09-08 09:05:09 -04:00
image_data_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
internals_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
intl_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
jupyter_test.ts feat(jupyter): make GPUTexture and GPUBuffer displayable (#28117) 2025-02-18 00:29:45 -08:00
kv_queue_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
kv_queue_test_no_db_close.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
kv_queue_undelivered_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
kv_test.ts feat(kv): implement custom inspect for AtomicOperation (#30077) 2025-08-13 10:09:22 +02:00
link_test.ts refactor(permissions): push down special file checking to permissions container (#30005) 2025-07-09 20:50:26 +00:00
lint_plugin_test.ts fix(unstable): lint node properties should be enumerable (#30391) 2025-08-13 13:46:51 +00:00
lint_selectors_test.ts fix(unstable): parsing regex in selector with character class (#30462) 2025-08-20 07:58:09 +02:00
make_temp_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
message_channel_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
mkdir_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
navigator_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
net_test.ts chore: disable flaky netTcpWithAbortSignal (#30755) 2025-09-17 05:43:50 +00:00
network_interfaces_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
ops_test.ts feat(test): Add setup and teardown APIs to Deno.test API (#30504) 2025-09-02 16:27:04 +02:00
os_test.ts feat: Deno.execPath() no longer requires --allow-read permission (#29620) 2025-06-25 20:57:35 +02:00
path_from_url_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
performance_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
permissions_test.ts fix: support Deno.permissions.query({name:"import"}) (#29610) 2025-06-26 22:13:56 +02:00
process_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
progressevent_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
promise_hooks_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
quic_test.ts chore: upgrade rustls (#29988) 2025-07-10 12:47:42 +00:00
read_dir_test.ts fix(types): Deno.readDirSync's type returns an IteratorObject (#27805) 2025-01-24 11:25:55 -05:00
read_file_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
read_link_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
read_text_file_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
README.md test: remove usage of --unstable flag (#25549) 2024-09-10 11:28:59 +00:00
real_path_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
ref_unref_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
remove_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
rename_test.ts chore: Rust 1.85.1 (#29412) 2025-05-24 04:01:25 +00:00
request_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
response_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
serve_test.ts test(ext/http): reduce flakiness of httpServerVsockWebSocketUpgrade (#29688) 2025-06-11 21:32:15 +09:00
signal_test.ts feat(signals): support listening for ctrl+close on Windows (#27880) 2025-06-26 16:03:16 -04:00
stat_test.ts Revert "fix(ext/node): fs.stat and fs.statSync compatibility (#30… (#30741) 2025-09-15 19:25:47 -04:00
stdio_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
streams_test.ts fix(streams): handle Resource stream error (#27975) 2025-02-11 09:27:52 -08:00
structured_clone_test.ts feat: TypeScript 5.7 (#27857) 2025-01-31 16:07:42 -05:00
symbol_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
symlink_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
test_util.ts feat(bundle): runtime API for deno bundle (#29949) 2025-09-04 09:47:27 -07:00
testing_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
text_encoding_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
timers_test.ts fix: update setTimeout and setInterval callback type to support strin… (#30183) 2025-07-26 10:43:05 +02:00
tls_sni_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
tls_test.ts feat: allow disable hostname verification in TLS (#30409) 2025-08-23 10:37:57 +05:30
truncate_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
tty_color_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
tty_test.ts feat: deno_core 0.344.0 (#29089) 2025-04-29 13:15:08 +02:00
umask_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
url_search_params_test.ts feat: TypeScript 5.7 (#27857) 2025-01-31 16:07:42 -05:00
url_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
urlpattern_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
utime_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
version_test.ts feat: TypeScript 5.9.2 (#30601) 2025-09-03 09:23:13 -04:00
wasm_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
webcrypto_test.ts fix(dts): specify the underlying buffer type in more places (#30640) 2025-09-08 09:05:09 -04:00
webgpu_test.ts feat(ext/webgpu): implement GPUQueue.onSubmittedWorkDone (#29255) 2025-05-17 01:48:03 +02:00
websocket_test.ts feat(unstable): support Deno.HttpClient in WebSocket (#30692) 2025-09-12 11:42:25 +02:00
websocketstream_test.ts.disabled chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
webstorage_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
worker_permissions_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
worker_test.ts fix: support Deno.permissions.query({name:"import"}) (#29610) 2025-06-26 22:13:56 +02:00
write_file_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
write_text_file_test.ts chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +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 --location=http://js-unit-tests/foo/bar cli/tests/unit/

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