1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00
denoland-deno/tests/unit
Matt Mastracci 365e1f48f7
feat(ext/http): Add addr to HttpServer (#23442)
Adds an `addr` field to `HttpServer` to simplify the pattern
`Deno.serve({ onListen({ port } => listenPort = port })`. This becomes:
`const server = Deno.serve({}); port = server.addr.port`.

Changes:
- Refactors `serve` overloads to split TLS out (in preparation for
landing a place for the TLS SNI information)
- Adds an `addr` field to `HttpServer` that matches the `addr` field of
the corresponding `Deno.Listener`s.
2024-04-19 18:09:50 -06:00
..
abort_controller_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
blob_test.ts chore: update std submodule to 0.221.0 (#23112) 2024-04-02 12:57:05 +11:00
body_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
broadcast_channel_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
buffer_test.ts chore: update std submodule to 0.221.0 (#23112) 2024-04-02 12:57:05 +11:00
build_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
cache_api_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
chmod_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
chown_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
command_test.ts chore(ext/buffer): remove use of deprecated Deno.readAll() (#22874) 2024-03-20 10:39:17 -07:00
console_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
copy_file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
cron_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
custom_event_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
dir_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
dom_exception_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
error_stack_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
error_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
esnext_test.ts feat: type declarations for new Set methods (#23090) 2024-03-26 21:59:24 -04:00
event_source_test.ts fix(ext/fetch): do not truncate field value in EventSource (#22368) 2024-03-25 07:31:13 -07:00
event_target_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
event_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
fetch_test.ts chore: remove unused, unstable 'http' namespace (#23436) 2024-04-18 11:21:25 -06:00
ffi_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
filereader_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
files_test.ts chore: update std submodule to 0.221.0 (#23112) 2024-04-02 12:57:05 +11:00
flock_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
fs_events_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
get_random_values_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
globals_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
headers_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
http_test.ts fix(ext/http): Make Deno.serveHttp() work when proxying (#23269) 2024-04-08 15:02:49 -06:00
image_bitmap_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
image_data_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
internals_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
intl_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
io_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
jupyter_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_queue_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_queue_test_no_db_close.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_queue_undelivered_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
link_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
make_temp_test.ts fix(ext/fs): make errors in tempfile creation clearer (#22498) 2024-02-21 20:11:04 +00:00
message_channel_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
mkdir_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
navigator_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
net_test.ts feat(ext/net): Refactor TCP socket listeners for future clustering mode (#23037) 2024-04-08 16:18:14 -06:00
network_interfaces_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
ops_test.ts perf(cli): reduce overhead in test registration (#22552) 2024-02-27 20:30:17 -07:00
os_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
path_from_url_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
performance_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
permissions_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
process_test.ts chore(ext/buffer): remove use of deprecated Deno.readAll() (#22874) 2024-03-20 10:39:17 -07:00
progressevent_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
promise_hooks_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
read_dir_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
read_file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
read_link_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
read_text_file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
README.md chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
real_path_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
ref_unref_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
remove_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
rename_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
request_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
resources_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
response_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
serve_test.ts feat(ext/http): Add addr to HttpServer (#23442) 2024-04-19 18:09:50 -06:00
signal_test.ts fix(runtime): Restore default signal handler after user handlers are unregistered (#22757) 2024-03-11 10:22:28 -07:00
stat_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
stdio_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
streams_test.ts fix(ext/web): Prevent (De-)CompressionStream resource leak on stream cancellation (#21199) 2024-02-13 21:45:23 +00:00
structured_clone_test.ts fix(ext/web): Fix structuredClone Web API type declaration (any -> generic) (#22968) 2024-03-25 22:44:49 +01:00
symbol_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
symlink_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
sync_test.ts chore(ext/io): remove use of deprecated Deno.writeSync() (#22872) 2024-03-20 10:39:25 -07:00
test_util.ts fix(ext/node): http2.createServer (#22708) 2024-03-07 19:28:46 +05:30
testing_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
text_encoding_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
timers_test.ts chore(tests): update flaky timer test (#22701) 2024-03-05 08:15:51 +05:30
tls_test.ts feat(ext/net): extract TLS key and certificate from interfaces (#23327) 2024-04-18 11:21:08 -06:00
truncate_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
tty_color_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
tty_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
umask_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
url_search_params_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
url_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
urlpattern_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
utime_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
version_test.ts feat: TypeScript 5.4 (#23086) 2024-03-26 18:52:57 -04:00
wasm_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
webcrypto_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
webgpu_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
websocket_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
websocketstream_test.ts.disabled chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
webstorage_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
worker_permissions_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
worker_test.ts chore: use @std import instead of @test_util/std (#22398) 2024-02-13 02:05:10 +00:00
write_file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
write_text_file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +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.