0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-29 08:58:01 -04:00
denoland-deno/cli/tests/unit
Aaron O'Mullan 3c88dffd32
fix(http): panic when responding to a closed conn (#12216)
Our oneshot receiver in `HyperService::call` would unwrap and panic, the `.await` on the oneshot receiver happens when the sender is dropped.

The sender is dropped in `op_http_response` because:
1. We take `ResponseSenderResource`
2. Then get `ConnResource` and early exit on failure (conn already closed)
3. The taken sender then gets dropped in this early exit before any response is sent over the channel

Fallbacking to returning a dummy response to hyper seems to be a fine quickfix
2021-09-25 13:22:19 +02:00
..
abort_controller_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
blob_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
body_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
broadcast_channel_test.ts chore: move test files to testdata directory (#11601) 2021-08-11 10:20:47 -04:00
buffer_test.ts chore: replace calls to assertThrowsAsync with assertRejects (#12176) 2021-09-22 09:21:11 -04:00
build_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
chmod_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
chown_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
console_test.ts refactor(testing): redirect console output via reporter (#11911) 2021-09-04 15:16:35 +02:00
copy_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
custom_event_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
dir_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
dom_exception_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
error_stack_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
esnext_test.ts feat: add new esnext types (#11627) 2021-08-10 10:33:08 +02:00
event_target_test.ts chore: upgrade crates (#11894) 2021-09-02 17:38:19 +02:00
event_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
fetch_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
ffi_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
filereader_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
files_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
flock_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
format_error_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
fs_events_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
get_random_values_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
globals_test.ts chore: upgrade crates (#11894) 2021-09-02 17:38:19 +02:00
headers_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
http_test.ts fix(http): panic when responding to a closed conn (#12216) 2021-09-25 13:22:19 +02:00
internals_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
io_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
link_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
make_temp_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
message_channel_test.ts fix: MessagePort in message for postMessage transfers (#11103) 2021-06-26 11:17:05 +02:00
metrics_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
mkdir_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
navigator_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
net_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
opcall_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
os_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
path_from_url_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
performance_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
permissions_test.ts chore: replace calls to assertThrowsAsync with assertRejects (#12176) 2021-09-22 09:21:11 -04:00
process_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
progressevent_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
read_dir_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
read_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
read_link_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
read_text_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
README.md doc(test): add --location to unit test command (#11793) 2021-08-21 14:32:05 +02:00
real_path_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
remove_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
rename_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
request_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
resources_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
response_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
signal_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
stat_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
stdio_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
streams_deprecated.ts fix(op_crate/fetch): add back ReadableStream.getIterator and deprecate (#9146) 2021-01-18 10:40:39 +11:00
structured_clone_test.ts feat(extensions/web): add structuredClone function (#11572) 2021-08-09 10:39:00 +02:00
symlink_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
sync_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
test_util.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
testing_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
text_encoding_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
timers_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
tls_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
truncate_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
tty_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
umask_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
url_search_params_test.ts tests: remove redundant type assertion (#11794) 2021-08-21 16:55:28 +10:00
url_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
urlpattern_test.ts feat: add URLPattern API (#11941) 2021-09-08 11:14:29 +02:00
utime_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
version_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
wasm_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
webcrypto_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
webgpu_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
websocket_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
worker_types.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
write_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
write_text_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02: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 unitTest() function.

import { unitTest } from "./test_util.ts";

unitTest(function simpleTestFn(): void {
  // test code here
});

unitTest(
  {
    ignore: Deno.build.os === "windows",
    perms: { 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.