1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-26 16:09:27 -05:00
denoland-deno/cli/tests/unit
Bert Belder 640d431b35
fix(tls): flush send buffer in the background after closing TLS stream (#10146)
In #9118, TLS streams were split into a "read half" and a "write half"
using tokio::io::split() to allow concurrent Conn#read() and
Conn#write() calls without one blocking the other. However, this
introduced a bug: outgoing data gets discarded when the TLS stream is
gracefully closed, because the read half is closed too early, before all
TLS control data has been received.

Fixes: #9692
Fixes: #10049
Fixes: #10296
Fixes: denoland/deno_std#750
2021-05-11 03:11:26 +02:00
..
abort_controller_test.ts feat(fmt): Sort named import and export specifiers (#7711) 2020-09-27 12:22:32 +02:00
blob_test.ts chore: update std submodule (#10017) 2021-04-05 15:57:52 +02:00
body_test.ts chore: align fetch to spec (#10203) 2021-04-20 14:47:22 +02:00
buffer_test.ts chore: upgrade dependencies (#10094) 2021-04-09 23:35:29 +02:00
build_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
chmod_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
chown_test.ts chore: Enforce ban-untagged-todo lint rule (#9135) 2021-01-17 00:32:59 +01:00
console_test.ts fix(console): circular customInspect (#10338) 2021-04-27 11:54:47 +02:00
copy_file_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
custom_event_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
dir_test.ts refactor: clean up permission handling (#9367) 2021-03-17 17:45:12 -04:00
error_stack_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
event_target_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
event_test.ts fix: webidl utils and align Event to spec (#9470) 2021-02-13 15:58:12 +01:00
fetch_test.ts fix(op_crates/fetch): check fetch() argument length (#10474) 2021-05-03 09:05:42 +02:00
file_test.ts feat(runtime): add truncate and truncateSync methods to Deno.File (#10130) 2021-04-12 14:32:58 +02:00
filereader_test.ts chore: upgrade dependencies (#10094) 2021-04-09 23:35:29 +02:00
files_test.ts chore: upgrade dependencies (#10094) 2021-04-09 23:35:29 +02:00
format_error_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
fs_events_test.ts feat(fmt): Sort named import and export specifiers (#7711) 2020-09-27 12:22:32 +02:00
get_random_values_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
globals_test.ts chore: upgrade dependencies (#10094) 2021-04-09 23:35:29 +02:00
headers_test.ts chore: align Headers to spec (#10199) 2021-04-19 01:00:13 +02:00
http_test.ts fix(runtime/js/http): cancel body on response failure (#10225) 2021-04-23 12:34:04 +02:00
internals_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
io_test.ts chore: deprecate Deno.Buffer and read/write utils (#9793) 2021-04-06 00:05:36 +02:00
link_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
make_temp_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
metrics_test.ts refactor(ops): replace ZeroCopyBuf arg by 2nd generic deserializable arg (#10448) 2021-05-06 19:32:03 +02:00
mkdir_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
net_test.ts revert: Conn type changes in #10012 and #10061 (#10255) 2021-04-20 10:12:33 +10:00
opcall_test.ts refactor(core): rename send() to opcall() (#10307) 2021-04-23 11:50:45 -04:00
os_test.ts refactor: clean up permission handling (#9367) 2021-03-17 17:45:12 -04:00
path_from_url_test.ts feat(fmt): Sort named import and export specifiers (#7711) 2020-09-27 12:22:32 +02:00
performance_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
permissions_test.ts feat(runtime): stabilise permissions and add event target capabilities (#9573) 2021-02-25 14:33:09 +11:00
process_test.ts refactor: make Process#kill() throw sensible errors on Windows (#9111) 2021-01-14 10:26:59 -08:00
progressevent_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
read_dir_test.ts fix(runtime): do not panic on irregular dir entries (#9579) 2021-02-25 05:16:18 -05:00
read_file_test.ts fix(runtime/readFile*): close resources on error during read (#10059) 2021-04-08 16:36:52 +02:00
read_link_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
read_text_file_test.ts fix(runtime/readFile*): close resources on error during read (#10059) 2021-04-08 16:36:52 +02:00
README.md test(cli): run unit tests using Deno.test (#10330) 2021-04-27 13:14:01 +02:00
real_path_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
remove_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
rename_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
request_test.ts fix(op_crates/fetch): Prevent throwing when inspecting a request (#10335) 2021-04-23 20:38:45 +02:00
resources_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
response_test.ts fix(fetch): Response inspect regression (#10295) 2021-04-21 23:03:04 +02:00
signal_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
stat_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01: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
symlink_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
sync_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
test_util.ts test(cli): run unit tests using Deno.test (#10330) 2021-04-27 13:14:01 +02:00
testing_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
text_encoding_test.ts fix: TextEncoder#encodeInto spec compliance + perf gains (#10129) 2021-05-08 23:31:40 +02:00
timers_test.ts chore: upgrade crates (#10559) 2021-05-10 22:39:16 +02:00
tls_test.ts fix(tls): flush send buffer in the background after closing TLS stream (#10146) 2021-05-11 03:11:26 +02:00
truncate_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
tty_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
umask_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
url_search_params_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
url_test.ts test(op_crates/web): add regression tests for past URL bugs (#9639) (#9639) 2021-03-02 19:09:58 +01:00
utime_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
version_test.ts feat(cli): update to TypeScript 4.2 (#9341) 2021-02-25 15:16:19 +11:00
webgpu_test.ts chore: update wgpu and realign to spec (#9760) 2021-05-06 16:48:45 +02:00
websocket_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
worker_types.ts chore: Reorganise workers tests (#9493) 2021-02-15 14:48:47 +01:00
write_file_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
write_text_file_test.ts feat(fmt): Sort named import and export specifiers (#7711) 2020-09-27 12:22:32 +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 three ways to run unit_test_runner.ts:

# Run all tests.
target/debug/deno test --allow-all --unstable cli/tests/unit/

# Run a specific test module
target/debug/deno test --allow-all --unstable 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.