summaryrefslogtreecommitdiff
path: root/cli/tests/unit/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/README.md')
-rw-r--r--cli/tests/unit/README.md47
1 files changed, 6 insertions, 41 deletions
diff --git a/cli/tests/unit/README.md b/cli/tests/unit/README.md
index 7f0b243fe..114bbc043 100644
--- a/cli/tests/unit/README.md
+++ b/cli/tests/unit/README.md
@@ -3,8 +3,8 @@
Files in this directory are unit tests for Deno runtime.
Testing Deno runtime code requires checking API under different runtime
-permissions (ie. running with different `--allow-*` flags). To accomplish this
-all tests exercised are created using `unitTest()` function.
+permissions. To accomplish this all tests exercised are created using
+`unitTest()` function.
```ts
import { unitTest } from "./test_util.ts";
@@ -24,51 +24,16 @@ unitTest(
);
```
-`unitTest` is a wrapper function that enhances `Deno.test()` API in several
-ways:
-
-- ability to conditionally skip tests using `UnitTestOptions.skip`.
-- ability to register required set of permissions for given test case using
- `UnitTestOptions.perms`.
-- sanitization of resources - ensuring that tests close all opened resources
- preventing interference between tests.
-- sanitization of async ops - ensuring that tests don't leak async ops by
- ensuring that all started async ops are done before test finishes.
-
## Running tests
-`unit_test_runner.ts` is the main script used to run unit tests.
-
-Runner discovers required permissions combinations by loading
-`cli/tests/unit/unit_tests.ts` and going through all registered instances of
-`unitTest`.
-
There are three ways to run `unit_test_runner.ts`:
```sh
-# Run all tests. Spawns worker processes for each discovered permission
-# combination:
-target/debug/deno run -A cli/tests/unit/unit_test_runner.ts --master
-
-# By default all output of worker processes is discarded; for debug purposes
-# the --verbose flag preserves output from the worker.
-target/debug/deno run -A cli/tests/unit/unit_test_runner.ts --master --verbose
-
-# Run subset of tests that don't require any permissions.
-target/debug/deno run --unstable cli/tests/unit/unit_test_runner.ts
-
-# Run subset tests that require "net" and "read" permissions.
-target/debug/deno run --unstable --allow-net --allow-read cli/tests/unit/unit_test_runner.ts
-
-# "worker" mode communicates with parent using TCP socket on provided address;
-# after initial setup drops permissions to specified set. It shouldn't be used
-# directly, only be "master" process.
-target/debug/deno run -A cli/tests/unit/unit_test_runner.ts --worker --addr=127.0.0.1:4500 --perms=net,write,run
-
-# Run specific tests.
-target/debug/deno run --unstable --allow-net cli/tests/unit/unit_test_runner.ts -- netTcpListenClose
+# Run all tests.
+target/debug/deno test --allow-all --unstable cli/tests/unit/
-RUST_BACKTRACE=1 cargo run -- run --unstable --allow-read --allow-write cli/tests/unit/unit_test_runner.ts -- netUnixDialListen
+# Run a specific test module
+target/debug/deno test --allow-all --unstable cli/tests/unit/files_test.ts
```
### Http server