From e0b9c745c15720914f14996bf357d5b375e2dbd8 Mon Sep 17 00:00:00 2001 From: HasanAlrimawi <141642411+HasanAlrimawi@users.noreply.github.com> Date: Mon, 16 Sep 2024 22:38:40 +0300 Subject: chore: deprecate test itests (#25512) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR is part of #22907 --------- Signed-off-by: HasanAlrimawi <141642411+HasanAlrimawi@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk --- tests/integration/test_tests.rs | 585 --------------------- tests/specs/test/aggregate_error/__test__.jsonc | 5 + tests/specs/test/aggregate_error/main.out | 22 + tests/specs/test/aggregate_error/main.ts | 6 + tests/specs/test/allow_all/__test__.jsonc | 5 + tests/specs/test/allow_all/deno.json | 4 + tests/specs/test/allow_all/main.out | 16 + tests/specs/test/allow_all/main.ts | 42 ++ tests/specs/test/allow_none/__test__.jsonc | 5 + tests/specs/test/allow_none/deno.json | 4 + tests/specs/test/allow_none/main.out | 45 ++ tests/specs/test/allow_none/main.ts | 22 + .../before_unload_prevent_default/__test__.jsonc | 4 + .../test/before_unload_prevent_default/main.out | 5 + .../test/before_unload_prevent_default/main.ts | 6 + tests/specs/test/captured_output/__test__.jsonc | 6 + .../specs/test/captured_output/captured_output.ts | 33 ++ .../test/captured_output/captured_output.worker.ts | 6 + tests/specs/test/captured_output/main.out | 22 + .../test/check_local_by_default/__test__.jsonc | 4 + tests/specs/test/check_local_by_default/main.out | 4 + tests/specs/test/check_local_by_default/main.ts | 3 + .../test/check_local_by_default2/__test__.jsonc | 5 + tests/specs/test/check_local_by_default2/main.out | 4 + tests/specs/test/check_local_by_default2/main.ts | 6 + tests/specs/test/clean_flag/__test__.jsonc | 2 +- tests/specs/test/clean_flag/deno.json | 4 + tests/specs/test/clear_timeout/__test__.jsonc | 5 + tests/specs/test/clear_timeout/main.out | 8 + tests/specs/test/clear_timeout/main.ts | 5 + tests/specs/test/collect/__test__.jsonc | 5 + tests/specs/test/collect/collect/deno.jsonc | 5 + .../test/collect/collect/deno.malformed.jsonc | 5 + tests/specs/test/collect/collect/deno2.jsonc | 6 + tests/specs/test/collect/collect/ignore/test.ts | 1 + tests/specs/test/collect/collect/include.ts | 0 tests/specs/test/collect/collect/include/2_test.ts | 0 tests/specs/test/collect/collect/include/test.ts | 0 tests/specs/test/collect/collect/test.ts | 0 tests/specs/test/collect/main.out | 9 + tests/specs/test/doc/__test__.jsonc | 5 + tests/specs/test/doc/main.out | 9 + tests/specs/test/doc/main.ts | 38 ++ tests/specs/test/doc_only/__test__.jsonc | 5 + tests/specs/test/doc_only/doc_only/mod.ts | 10 + tests/specs/test/doc_only/main.out | 4 + tests/specs/test/exit_sanitizer/__test__.jsonc | 5 + tests/specs/test/exit_sanitizer/exit_sanitizer.out | 38 ++ tests/specs/test/exit_sanitizer/exit_sanitizer.ts | 11 + tests/specs/test/fail/__test__.jsonc | 5 + tests/specs/test/fail/main.out | 91 ++++ tests/specs/test/fail/main.ts | 30 ++ tests/specs/test/fail_fast/__test__.jsonc | 5 + tests/specs/test/fail_fast/fail_fast.out | 20 + tests/specs/test/fail_fast/fail_fast.ts | 30 ++ tests/specs/test/fail_fast/fail_fast_other.ts | 3 + .../__test__.jsonc | 5 + .../fail_with_contain_unicode_filename/main.out | 19 + .../fail_with_contain_unicode_filename/main.ts | 3 + tests/specs/test/file_protocol/__test__.jsonc | 4 + tests/specs/test/file_protocol/main.out | 6 + tests/specs/test/file_protocol/main.ts | 1 + tests/specs/test/filter/__test__.jsonc | 5 + tests/specs/test/filter/filter/a_test.ts | 3 + tests/specs/test/filter/filter/b_test.ts | 3 + tests/specs/test/filter/filter/c_test.ts | 3 + tests/specs/test/filter/main.out | 12 + tests/specs/test/finally_timeout/__test__.jsonc | 5 + tests/specs/test/finally_timeout/main.out | 20 + tests/specs/test/finally_timeout/main.ts | 11 + tests/specs/test/hide_empty_suites/__test__.jsonc | 5 + tests/specs/test/hide_empty_suites/main.out | 4 + tests/specs/test/hide_empty_suites/main.ts | 37 ++ tests/specs/test/ignore/__test__.jsonc | 5 + tests/specs/test/ignore/main.out | 15 + tests/specs/test/ignore/main.ts | 17 + .../specs/test/ignore_persmissions/__test__.jsonc | 5 + tests/specs/test/ignore_persmissions/main.out | 6 + tests/specs/test/ignore_persmissions/main.ts | 15 + tests/specs/test/interval/__test__.jsonc | 5 + tests/specs/test/interval/main.out | 5 + tests/specs/test/interval/main.ts | 1 + tests/specs/test/junit/__test__.jsonc | 4 + tests/specs/test/junit/main.out | 38 ++ tests/specs/test/junit/main.ts | 37 ++ .../test/junit_multiple_test_files/__test__.jsonc | 5 + tests/specs/test/junit_multiple_test_files/fail.ts | 30 ++ .../specs/test/junit_multiple_test_files/main.out | 102 ++++ tests/specs/test/junit_multiple_test_files/pass.ts | 37 ++ tests/specs/test/junit_nested/__test__.jsonc | 5 + tests/specs/test/junit_nested/main.out | 47 ++ tests/specs/test/junit_nested/main.ts | 23 + tests/specs/test/load_unload/__test__.jsonc | 5 + tests/specs/test/load_unload/main.out | 16 + tests/specs/test/load_unload/main.ts | 25 + tests/specs/test/markdown/__test__.jsonc | 5 + tests/specs/test/markdown/main.md | 31 ++ tests/specs/test/markdown/main.out | 7 + .../test/markdown_full_block_names/__test__.jsonc | 5 + tests/specs/test/markdown_full_block_names/main.md | 19 + .../specs/test/markdown_full_block_names/main.out | 6 + .../markdown_ignore_html_comment/__test__.jsonc | 5 + .../test/markdown_ignore_html_comment/main.md | 36 ++ .../test/markdown_ignore_html_comment/main.out | 5 + tests/specs/test/markdown_windows/__test__.jsonc | 5 + tests/specs/test/markdown_windows/main.md | 31 ++ tests/specs/test/markdown_windows/main.out | 7 + tests/specs/test/meta/__test__.jsonc | 5 + tests/specs/test/meta/main.out | 11 + tests/specs/test/meta/main.ts | 7 + tests/specs/test/no_check/__test__.jsonc | 5 + tests/specs/test/no_check/main.out | 19 + tests/specs/test/no_check/main.ts | 1 + tests/specs/test/no_color/__test__.jsonc | 8 + tests/specs/test/no_color/main.out | 21 + tests/specs/test/no_color/main.ts | 17 + .../specs/test/no_prompt_by_default/__test__.jsonc | 5 + tests/specs/test/no_prompt_by_default/main.out | 16 + tests/specs/test/no_prompt_by_default/main.ts | 3 + .../no_prompt_with_denied_perms/__test__.jsonc | 5 + .../test/no_prompt_with_denied_perms/main.out | 16 + .../specs/test/no_prompt_with_denied_perms/main.ts | 3 + tests/specs/test/no_run/__test__.jsonc | 5 + tests/specs/test/no_run/main.out | 5 + tests/specs/test/no_run/main.ts | 1 + tests/specs/test/non_error_thrown/__test__.jsonc | 5 + tests/specs/test/non_error_thrown/main.out | 40 ++ tests/specs/test/non_error_thrown/main.ts | 23 + tests/specs/test/only/__test__.jsonc | 5 + tests/specs/test/only/main.out | 8 + tests/specs/test/only/main.ts | 20 + .../__test__.jsonc | 5 + .../ops_sanitizer_closed_inside_started_before.out | 19 + .../ops_sanitizer_closed_inside_started_before.ts | 5 + .../__test__.jsonc | 5 + .../ops_sanitizer_multiple_timeout_tests.out | 45 ++ .../ops_sanitizer_multiple_timeout_tests.ts | 10 + .../__test__.jsonc | 5 + .../ops_sanitizer_multiple_timeout_tests.ts | 10 + ...s_sanitizer_multiple_timeout_tests_no_trace.out | 25 + .../test/ops_sanitizer_nexttick/__test__.jsonc | 4 + .../ops_sanitizer_nexttick.out | 6 + .../ops_sanitizer_nexttick.ts | 11 + tests/specs/test/ops_sanitizer_tcp/__test__.jsonc | 5 + .../test/ops_sanitizer_tcp/ops_sanitizer_tcp.out | 24 + .../test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts | 4 + .../ops_sanitizer_timeout_failure/__test__.jsonc | 4 + .../ops_sanitizer_timeout_failure.out | 6 + .../ops_sanitizer_timeout_failure.ts | 22 + .../test/ops_sanitizer_unstable/__test__.jsonc | 5 + .../ops_sanitizer_unstable.out | 22 + .../ops_sanitizer_unstable.ts | 10 + .../__test__.jsonc | 5 + .../actually_excluded.test.ts | 1 + .../deno.json | 6 + .../excluded.test.ts | 1 + .../main.out | 9 + .../main.test.ts | 1 + tests/specs/test/overloads/__test__.jsonc | 5 + tests/specs/test/overloads/main.out | 11 + tests/specs/test/overloads/main.ts | 6 + tests/specs/test/parallel_flag/__test__.jsonc | 5 + tests/specs/test/parallel_flag/main.out | 5 + tests/specs/test/parallel_flag/main.ts | 1 + .../__test__.jsonc | 6 + .../test/parallel_flag_with_env_variables/main.out | 5 + .../test/parallel_flag_with_env_variables/main.ts | 1 + tests/specs/test/parallel_output/__test__.jsonc | 5 + tests/specs/test/parallel_output/main.out | 56 ++ tests/specs/test/parallel_output/main.ts | 27 + tests/specs/test/pass/__test__.jsonc | 5 + tests/specs/test/pass/main.out | 53 ++ tests/specs/test/pass/main.ts | 37 ++ tests/specs/test/quiet/__test__.jsonc | 5 + tests/specs/test/quiet/main.out | 8 + tests/specs/test/quiet/main.ts | 15 + .../recursive_permissions_pledge/__test__.jsonc | 8 + .../test/recursive_permissions_pledge/main.js | 6 + tests/specs/test/report_error/__test__.jsonc | 5 + tests/specs/test/report_error/main.out | 23 + tests/specs/test/report_error/main.ts | 6 + tests/specs/test/resource_sanitizer/__test__.jsonc | 5 + .../test/resource_sanitizer/resource_sanitizer.out | 20 + .../test/resource_sanitizer/resource_sanitizer.ts | 4 + .../sanitizer_trace_ops_catch_error/__test__.jsonc | 5 + .../test/sanitizer_trace_ops_catch_error/main.out | 6 + .../test/sanitizer_trace_ops_catch_error/main.ts | 13 + tests/specs/test/shuffle/__test__.jsonc | 5 + tests/specs/test/shuffle/shuffle/bar_test.ts | 3 + tests/specs/test/shuffle/shuffle/baz_test.ts | 3 + tests/specs/test/shuffle/shuffle/foo_test.ts | 3 + tests/specs/test/shuffle_with_seed/__test__.jsonc | 5 + tests/specs/test/shuffle_with_seed/main.out | 39 ++ .../test/shuffle_with_seed/shuffle/bar_test.ts | 3 + .../test/shuffle_with_seed/shuffle/baz_test.ts | 3 + .../test/shuffle_with_seed/shuffle/foo_test.ts | 3 + .../test/steps_dot_failing_steps/__test__.jsonc | 5 + .../steps_dot_failing_steps/failing_steps.dot.out | 53 ++ .../test/steps_dot_failing_steps/failing_steps.ts | 27 + .../test/steps_dot_ignored_steps/__test__.jsonc | 5 + .../steps_dot_ignored_steps/ignored_steps.dot.out | 5 + .../test/steps_dot_ignored_steps/ignored_steps.ts | 16 + .../test/steps_dot_passing_steps/__test__.jsonc | 5 + .../steps_dot_passing_steps/passing_steps.dot.out | 17 + .../test/steps_dot_passing_steps/passing_steps.ts | 127 +++++ .../specs/test/steps_failing_steps/__test__.jsonc | 5 + .../test/steps_failing_steps/failing_steps.out | 59 +++ .../test/steps_failing_steps/failing_steps.ts | 27 + .../specs/test/steps_ignored_steps/__test__.jsonc | 5 + .../test/steps_ignored_steps/ignored_steps.out | 8 + .../test/steps_ignored_steps/ignored_steps.ts | 16 + .../specs/test/steps_invalid_usage/__test__.jsonc | 5 + .../test/steps_invalid_usage/invalid_usage.out | 82 +++ .../test/steps_invalid_usage/invalid_usage.ts | 118 +++++ .../specs/test/steps_output_within/__test__.jsonc | 5 + .../test/steps_output_within/output_within.out | 29 + .../test/steps_output_within/output_within.ts | 15 + .../specs/test/steps_passing_steps/__test__.jsonc | 5 + .../test/steps_passing_steps/passing_steps.out | 44 ++ .../test/steps_passing_steps/passing_steps.ts | 127 +++++ .../test/steps_tap_failing_steps/__test__.jsonc | 8 + .../steps_tap_failing_steps/failing_steps.tap.out | 43 ++ .../test/steps_tap_failing_steps/failing_steps.ts | 27 + .../test/steps_tap_ignored_steps/__test__.jsonc | 5 + .../steps_tap_ignored_steps/ignored_steps.tap.out | 8 + .../test/steps_tap_ignored_steps/ignored_steps.ts | 16 + .../test/steps_tap_passing_steps/__test__.jsonc | 5 + .../steps_tap_passing_steps/passing_steps.tap.out | 42 ++ .../test/steps_tap_passing_steps/passing_steps.ts | 127 +++++ .../test/test_filtered_out_only/__test__.jsonc | 4 + tests/specs/test/test_filtered_out_only/main.out | 5 + tests/specs/test/test_filtered_out_only/main.ts | 2 + .../specs/test/test_replace_timers/__test__.jsonc | 5 + tests/specs/test/test_replace_timers/main.js | 7 + tests/specs/test/test_replace_timers/main.out | 7 + tests/specs/test/test_with_config/__test__.jsonc | 5 + .../specs/test/test_with_config/collect/deno.jsonc | 5 + .../test_with_config/collect/deno.malformed.jsonc | 5 + .../test/test_with_config/collect/deno2.jsonc | 6 + .../test/test_with_config/collect/ignore/test.ts | 1 + .../specs/test/test_with_config/collect/include.ts | 0 .../test_with_config/collect/include/2_test.ts | 0 .../test/test_with_config/collect/include/test.ts | 0 tests/specs/test/test_with_config/collect/test.ts | 0 tests/specs/test/test_with_config/main.out | 9 + tests/specs/test/test_with_config2/__test__.jsonc | 5 + .../test/test_with_config2/collect/deno.jsonc | 5 + .../test_with_config2/collect/deno.malformed.jsonc | 5 + .../test/test_with_config2/collect/deno2.jsonc | 6 + .../test/test_with_config2/collect/ignore/test.ts | 1 + .../test/test_with_config2/collect/include.ts | 0 .../test_with_config2/collect/include/2_test.ts | 0 .../test/test_with_config2/collect/include/test.ts | 0 tests/specs/test/test_with_config2/collect/test.ts | 0 tests/specs/test/test_with_config2/main.out | 7 + .../specs/test/test_with_custom_jsx/__test__.jsonc | 5 + .../test/test_with_custom_jsx/deno_custom_jsx.json | 6 + tests/specs/test/test_with_custom_jsx/main.out | 5 + tests/specs/test/test_with_custom_jsx/main.ts | 9 + .../test/test_with_glob_config/__test__.jsonc | 5 + .../test/test_with_glob_config/deno.glob.json | 11 + .../test/test_with_glob_config/glob/data/tes.ts | 2 + .../test/test_with_glob_config/glob/data/test1.js | 2 + .../test/test_with_glob_config/glob/data/test1.ts | 2 + .../test/test_with_glob_config/glob/data/test12.ts | 2 + .../test_with_glob_config/glob/nested/fizz/bar.ts | 2 + .../test_with_glob_config/glob/nested/fizz/bazz.ts | 2 + .../test_with_glob_config/glob/nested/fizz/fizz.ts | 2 + .../test_with_glob_config/glob/nested/fizz/foo.ts | 2 + .../test_with_glob_config/glob/nested/foo/bar.ts | 2 + .../test_with_glob_config/glob/nested/foo/bazz.ts | 2 + .../test_with_glob_config/glob/nested/foo/fizz.ts | 2 + .../test_with_glob_config/glob/nested/foo/foo.ts | 2 + .../test/test_with_glob_config/glob/pages/[id].ts | 2 + tests/specs/test/test_with_glob_config/main.out | 21 + .../test/test_with_malformed_config/__test__.jsonc | 5 + .../deno.malformed.jsonc | 5 + .../specs/test/test_with_malformed_config/main.out | 4 + tests/specs/test/text/__test__.jsonc | 5 + tests/specs/test/text/main.md | 1 + tests/specs/test/text/main.out | 3 + tests/specs/test/uncaught_errors/__test__.jsonc | 5 + tests/specs/test/uncaught_errors/main.out | 59 +++ .../test/uncaught_errors/uncaught_errors_1.ts | 9 + .../test/uncaught_errors/uncaught_errors_2.ts | 8 + .../test/uncaught_errors/uncaught_errors_3.ts | 1 + .../specs/test/unhandled_rejection/__test__.jsonc | 5 + tests/specs/test/unhandled_rejection/main.out | 22 + tests/specs/test/unhandled_rejection/main.ts | 3 + tests/specs/test/unresolved_promise/__test__.jsonc | 5 + tests/specs/test/unresolved_promise/main.out | 10 + tests/specs/test/unresolved_promise/main.ts | 1 + tests/testdata/test/aggregate_error.out | 22 - tests/testdata/test/aggregate_error.ts | 6 - tests/testdata/test/allow_all.out | 16 - tests/testdata/test/allow_all.ts | 42 -- tests/testdata/test/allow_none.out | 45 -- tests/testdata/test/allow_none.ts | 22 - .../test/before_unload_prevent_default.out | 5 - .../testdata/test/before_unload_prevent_default.ts | 6 - tests/testdata/test/captured_output.ts | 33 -- tests/testdata/test/captured_output.worker.js | 6 - tests/testdata/test/check_local_by_default.out | 4 - tests/testdata/test/check_local_by_default.ts | 3 - tests/testdata/test/check_local_by_default2.out | 4 - tests/testdata/test/check_local_by_default2.ts | 6 - tests/testdata/test/clear_timeout.out | 8 - tests/testdata/test/clear_timeout.ts | 5 - tests/testdata/test/collect.out | 9 - tests/testdata/test/collect/deno.jsonc | 5 - tests/testdata/test/collect/deno.malformed.jsonc | 5 - tests/testdata/test/collect/deno2.jsonc | 6 - tests/testdata/test/collect/ignore/test.ts | 1 - tests/testdata/test/collect/include.ts | 0 tests/testdata/test/collect/include/2_test.ts | 0 tests/testdata/test/collect/include/test.ts | 0 tests/testdata/test/collect/test.ts | 0 tests/testdata/test/collect2.out | 7 - .../test/collect_with_malformed_config.out | 4 - tests/testdata/test/deno_custom_jsx.json | 6 - tests/testdata/test/doc.out | 9 - tests/testdata/test/doc.ts | 38 -- tests/testdata/test/doc_only.out | 4 - tests/testdata/test/doc_only/mod.ts | 10 - tests/testdata/test/fail.out | 91 ---- tests/testdata/test/fail.ts | 30 -- tests/testdata/test/fail_fast.out | 20 - tests/testdata/test/fail_fast.ts | 30 -- tests/testdata/test/fail_fast_other.ts | 3 - tests/testdata/test/fail_fast_with_val.out | 23 - tests/testdata/test/fail_fast_with_val.ts | 30 -- tests/testdata/test/file_protocol.out | 6 - tests/testdata/test/file_protocol.ts | 1 - tests/testdata/test/filter.out | 12 - tests/testdata/test/filter/a_test.ts | 3 - tests/testdata/test/filter/b_test.ts | 3 - tests/testdata/test/filter/c_test.ts | 3 - tests/testdata/test/filtered_out_only.out | 5 - tests/testdata/test/filtered_out_only.ts | 2 - tests/testdata/test/finally_timeout.out | 20 - tests/testdata/test/finally_timeout.ts | 11 - tests/testdata/test/glob/data/tes.ts | 3 +- tests/testdata/test/glob/data/test1.js | 3 +- tests/testdata/test/glob/data/test1.ts | 3 +- tests/testdata/test/glob/data/test12.ts | 3 +- tests/testdata/test/glob/nested/fizz/bar.ts | 3 +- tests/testdata/test/glob/nested/fizz/bazz.ts | 3 +- tests/testdata/test/glob/nested/fizz/foo.ts | 3 +- tests/testdata/test/glob/nested/foo/bar.ts | 3 +- tests/testdata/test/glob/nested/foo/bazz.ts | 3 +- tests/testdata/test/glob/nested/foo/fizz.ts | 3 +- tests/testdata/test/glob/nested/foo/foo.ts | 3 +- tests/testdata/test/glob/pages/[id].ts | 3 +- tests/testdata/test/hello_world.out | 5 - tests/testdata/test/hello_world.ts | 9 - tests/testdata/test/hide_empty_suites.out | 4 - tests/testdata/test/ignore.out | 15 - tests/testdata/test/ignore.ts | 17 - tests/testdata/test/ignore_permissions.out | 6 - tests/testdata/test/ignore_permissions.ts | 15 - tests/testdata/test/interval.out | 5 - tests/testdata/test/interval.ts | 1 - .../test/junit_multiple_test_files.junit.out | 102 ---- tests/testdata/test/load_unload.out | 16 - tests/testdata/test/load_unload.ts | 25 - tests/testdata/test/markdown.md | 31 -- tests/testdata/test/markdown.out | 7 - tests/testdata/test/markdown_full_block_names.md | 19 - tests/testdata/test/markdown_full_block_names.out | 6 - tests/testdata/test/markdown_windows.md | 31 -- tests/testdata/test/markdown_windows.out | 7 - tests/testdata/test/markdown_with_comment.md | 36 -- tests/testdata/test/markdown_with_comment.out | 5 - tests/testdata/test/meta.out | 11 - tests/testdata/test/meta.ts | 7 - tests/testdata/test/nested_failures.junit.out | 47 -- tests/testdata/test/nested_failures.ts | 23 - tests/testdata/test/no_check.out | 19 - tests/testdata/test/no_check.ts | 1 - tests/testdata/test/no_color.ts | 17 - tests/testdata/test/no_prompt_by_default.out | 16 - tests/testdata/test/no_prompt_by_default.ts | 3 - .../testdata/test/no_prompt_with_denied_perms.out | 16 - tests/testdata/test/no_prompt_with_denied_perms.ts | 3 - tests/testdata/test/no_run.out | 5 - tests/testdata/test/no_run.ts | 1 - tests/testdata/test/non_error_thrown.out | 40 -- tests/testdata/test/non_error_thrown.ts | 23 - tests/testdata/test/only.out | 8 - tests/testdata/test/only.ts | 20 - tests/testdata/test/overloads.out | 11 - tests/testdata/test/overloads.ts | 6 - tests/testdata/test/parallel_output.out | 56 -- tests/testdata/test/parallel_output.ts | 27 - tests/testdata/test/pass.junit.out | 38 -- tests/testdata/test/pass.out | 53 -- tests/testdata/test/pass.ts | 37 -- tests/testdata/test/quiet.out | 8 - tests/testdata/test/quiet.ts | 15 - .../testdata/test/recursive_permissions_pledge.js | 6 - tests/testdata/test/replace_timers.js | 7 - tests/testdata/test/replace_timers.js.out | 7 - tests/testdata/test/report_error.out | 23 - tests/testdata/test/report_error.ts | 6 - tests/testdata/test/sanitizer/exit_sanitizer.out | 38 -- tests/testdata/test/sanitizer/exit_sanitizer.ts | 11 - .../ops_sanitizer_closed_inside_started_before.out | 19 - .../ops_sanitizer_closed_inside_started_before.ts | 5 - .../ops_sanitizer_multiple_timeout_tests.out | 45 -- .../ops_sanitizer_multiple_timeout_tests.ts | 10 - ...s_sanitizer_multiple_timeout_tests_no_trace.out | 25 - .../test/sanitizer/ops_sanitizer_nexttick.out | 6 - .../test/sanitizer/ops_sanitizer_nexttick.ts | 11 - .../test/sanitizer/ops_sanitizer_step_leak.out | 10 - .../test/sanitizer/ops_sanitizer_step_leak.ts | 10 - .../testdata/test/sanitizer/ops_sanitizer_tcp.out | 24 - tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts | 4 - .../sanitizer/ops_sanitizer_timeout_failure.out | 6 - .../sanitizer/ops_sanitizer_timeout_failure.ts | 22 - .../test/sanitizer/ops_sanitizer_unstable.out | 22 - .../test/sanitizer/ops_sanitizer_unstable.ts | 10 - .../testdata/test/sanitizer/resource_sanitizer.out | 20 - .../testdata/test/sanitizer/resource_sanitizer.ts | 4 - .../test/sanitizer/trace_ops_caught_error/main.out | 6 - .../test/sanitizer/trace_ops_caught_error/main.ts | 13 - tests/testdata/test/short-pass.out | 5 - tests/testdata/test/short-pass.ts | 1 - tests/testdata/test/shuffle.out | 39 -- tests/testdata/test/shuffle/bar_test.ts | 3 - tests/testdata/test/shuffle/baz_test.ts | 3 - tests/testdata/test/shuffle/foo_test.ts | 3 - tests/testdata/test/steps/failing_steps.dot.out | 53 -- tests/testdata/test/steps/failing_steps.out | 59 --- tests/testdata/test/steps/failing_steps.tap.out | 43 -- tests/testdata/test/steps/failing_steps.ts | 27 - tests/testdata/test/steps/ignored_steps.dot.out | 5 - tests/testdata/test/steps/ignored_steps.out | 8 - tests/testdata/test/steps/ignored_steps.tap.out | 8 - tests/testdata/test/steps/ignored_steps.ts | 16 - tests/testdata/test/steps/invalid_usage.out | 82 --- tests/testdata/test/steps/invalid_usage.ts | 118 ----- tests/testdata/test/steps/output_within.out | 29 - tests/testdata/test/steps/output_within.ts | 15 - tests/testdata/test/steps/passing_steps.dot.out | 17 - tests/testdata/test/steps/passing_steps.out | 44 -- tests/testdata/test/steps/passing_steps.tap.out | 42 -- tests/testdata/test/steps/passing_steps.ts | 127 ----- tests/testdata/test/text.md | 1 - tests/testdata/test/text.out | 3 - tests/testdata/test/uncaught_errors.out | 59 --- tests/testdata/test/uncaught_errors_1.ts | 9 - tests/testdata/test/uncaught_errors_2.ts | 8 - tests/testdata/test/uncaught_errors_3.ts | 1 - tests/testdata/test/unhandled_rejection.out | 22 - tests/testdata/test/unhandled_rejection.ts | 3 - tests/testdata/test/unresolved_promise.out | 10 - tests/testdata/test/unresolved_promise.ts | 1 - 457 files changed, 3788 insertions(+), 3347 deletions(-) create mode 100644 tests/specs/test/aggregate_error/__test__.jsonc create mode 100644 tests/specs/test/aggregate_error/main.out create mode 100644 tests/specs/test/aggregate_error/main.ts create mode 100644 tests/specs/test/allow_all/__test__.jsonc create mode 100644 tests/specs/test/allow_all/deno.json create mode 100644 tests/specs/test/allow_all/main.out create mode 100644 tests/specs/test/allow_all/main.ts create mode 100644 tests/specs/test/allow_none/__test__.jsonc create mode 100644 tests/specs/test/allow_none/deno.json create mode 100644 tests/specs/test/allow_none/main.out create mode 100644 tests/specs/test/allow_none/main.ts create mode 100644 tests/specs/test/before_unload_prevent_default/__test__.jsonc create mode 100644 tests/specs/test/before_unload_prevent_default/main.out create mode 100644 tests/specs/test/before_unload_prevent_default/main.ts create mode 100644 tests/specs/test/captured_output/__test__.jsonc create mode 100644 tests/specs/test/captured_output/captured_output.ts create mode 100644 tests/specs/test/captured_output/captured_output.worker.ts create mode 100644 tests/specs/test/captured_output/main.out create mode 100644 tests/specs/test/check_local_by_default/__test__.jsonc create mode 100644 tests/specs/test/check_local_by_default/main.out create mode 100644 tests/specs/test/check_local_by_default/main.ts create mode 100644 tests/specs/test/check_local_by_default2/__test__.jsonc create mode 100644 tests/specs/test/check_local_by_default2/main.out create mode 100644 tests/specs/test/check_local_by_default2/main.ts create mode 100644 tests/specs/test/clean_flag/deno.json create mode 100644 tests/specs/test/clear_timeout/__test__.jsonc create mode 100644 tests/specs/test/clear_timeout/main.out create mode 100644 tests/specs/test/clear_timeout/main.ts create mode 100644 tests/specs/test/collect/__test__.jsonc create mode 100644 tests/specs/test/collect/collect/deno.jsonc create mode 100644 tests/specs/test/collect/collect/deno.malformed.jsonc create mode 100644 tests/specs/test/collect/collect/deno2.jsonc create mode 100644 tests/specs/test/collect/collect/ignore/test.ts create mode 100644 tests/specs/test/collect/collect/include.ts create mode 100644 tests/specs/test/collect/collect/include/2_test.ts create mode 100644 tests/specs/test/collect/collect/include/test.ts create mode 100644 tests/specs/test/collect/collect/test.ts create mode 100644 tests/specs/test/collect/main.out create mode 100644 tests/specs/test/doc/__test__.jsonc create mode 100644 tests/specs/test/doc/main.out create mode 100644 tests/specs/test/doc/main.ts create mode 100644 tests/specs/test/doc_only/__test__.jsonc create mode 100644 tests/specs/test/doc_only/doc_only/mod.ts create mode 100644 tests/specs/test/doc_only/main.out create mode 100644 tests/specs/test/exit_sanitizer/__test__.jsonc create mode 100644 tests/specs/test/exit_sanitizer/exit_sanitizer.out create mode 100644 tests/specs/test/exit_sanitizer/exit_sanitizer.ts create mode 100644 tests/specs/test/fail/__test__.jsonc create mode 100644 tests/specs/test/fail/main.out create mode 100644 tests/specs/test/fail/main.ts create mode 100644 tests/specs/test/fail_fast/__test__.jsonc create mode 100644 tests/specs/test/fail_fast/fail_fast.out create mode 100644 tests/specs/test/fail_fast/fail_fast.ts create mode 100644 tests/specs/test/fail_fast/fail_fast_other.ts create mode 100644 tests/specs/test/fail_with_contain_unicode_filename/__test__.jsonc create mode 100644 tests/specs/test/fail_with_contain_unicode_filename/main.out create mode 100644 tests/specs/test/fail_with_contain_unicode_filename/main.ts create mode 100644 tests/specs/test/file_protocol/__test__.jsonc create mode 100644 tests/specs/test/file_protocol/main.out create mode 100644 tests/specs/test/file_protocol/main.ts create mode 100644 tests/specs/test/filter/__test__.jsonc create mode 100644 tests/specs/test/filter/filter/a_test.ts create mode 100644 tests/specs/test/filter/filter/b_test.ts create mode 100644 tests/specs/test/filter/filter/c_test.ts create mode 100644 tests/specs/test/filter/main.out create mode 100644 tests/specs/test/finally_timeout/__test__.jsonc create mode 100644 tests/specs/test/finally_timeout/main.out create mode 100644 tests/specs/test/finally_timeout/main.ts create mode 100644 tests/specs/test/hide_empty_suites/__test__.jsonc create mode 100644 tests/specs/test/hide_empty_suites/main.out create mode 100644 tests/specs/test/hide_empty_suites/main.ts create mode 100644 tests/specs/test/ignore/__test__.jsonc create mode 100644 tests/specs/test/ignore/main.out create mode 100644 tests/specs/test/ignore/main.ts create mode 100644 tests/specs/test/ignore_persmissions/__test__.jsonc create mode 100644 tests/specs/test/ignore_persmissions/main.out create mode 100644 tests/specs/test/ignore_persmissions/main.ts create mode 100644 tests/specs/test/interval/__test__.jsonc create mode 100644 tests/specs/test/interval/main.out create mode 100644 tests/specs/test/interval/main.ts create mode 100644 tests/specs/test/junit/__test__.jsonc create mode 100644 tests/specs/test/junit/main.out create mode 100644 tests/specs/test/junit/main.ts create mode 100644 tests/specs/test/junit_multiple_test_files/__test__.jsonc create mode 100644 tests/specs/test/junit_multiple_test_files/fail.ts create mode 100644 tests/specs/test/junit_multiple_test_files/main.out create mode 100644 tests/specs/test/junit_multiple_test_files/pass.ts create mode 100644 tests/specs/test/junit_nested/__test__.jsonc create mode 100644 tests/specs/test/junit_nested/main.out create mode 100644 tests/specs/test/junit_nested/main.ts create mode 100644 tests/specs/test/load_unload/__test__.jsonc create mode 100644 tests/specs/test/load_unload/main.out create mode 100644 tests/specs/test/load_unload/main.ts create mode 100644 tests/specs/test/markdown/__test__.jsonc create mode 100644 tests/specs/test/markdown/main.md create mode 100644 tests/specs/test/markdown/main.out create mode 100644 tests/specs/test/markdown_full_block_names/__test__.jsonc create mode 100644 tests/specs/test/markdown_full_block_names/main.md create mode 100644 tests/specs/test/markdown_full_block_names/main.out create mode 100644 tests/specs/test/markdown_ignore_html_comment/__test__.jsonc create mode 100644 tests/specs/test/markdown_ignore_html_comment/main.md create mode 100644 tests/specs/test/markdown_ignore_html_comment/main.out create mode 100644 tests/specs/test/markdown_windows/__test__.jsonc create mode 100644 tests/specs/test/markdown_windows/main.md create mode 100644 tests/specs/test/markdown_windows/main.out create mode 100644 tests/specs/test/meta/__test__.jsonc create mode 100644 tests/specs/test/meta/main.out create mode 100644 tests/specs/test/meta/main.ts create mode 100644 tests/specs/test/no_check/__test__.jsonc create mode 100644 tests/specs/test/no_check/main.out create mode 100644 tests/specs/test/no_check/main.ts create mode 100644 tests/specs/test/no_color/__test__.jsonc create mode 100644 tests/specs/test/no_color/main.out create mode 100644 tests/specs/test/no_color/main.ts create mode 100644 tests/specs/test/no_prompt_by_default/__test__.jsonc create mode 100644 tests/specs/test/no_prompt_by_default/main.out create mode 100644 tests/specs/test/no_prompt_by_default/main.ts create mode 100644 tests/specs/test/no_prompt_with_denied_perms/__test__.jsonc create mode 100644 tests/specs/test/no_prompt_with_denied_perms/main.out create mode 100644 tests/specs/test/no_prompt_with_denied_perms/main.ts create mode 100644 tests/specs/test/no_run/__test__.jsonc create mode 100644 tests/specs/test/no_run/main.out create mode 100644 tests/specs/test/no_run/main.ts create mode 100644 tests/specs/test/non_error_thrown/__test__.jsonc create mode 100644 tests/specs/test/non_error_thrown/main.out create mode 100644 tests/specs/test/non_error_thrown/main.ts create mode 100644 tests/specs/test/only/__test__.jsonc create mode 100644 tests/specs/test/only/main.out create mode 100644 tests/specs/test/only/main.ts create mode 100644 tests/specs/test/ops_sanitizer_closed_inside_started_before/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out create mode 100644 tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests.ts create mode 100644 tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests_no_trace.out create mode 100644 tests/specs/test/ops_sanitizer_nexttick/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out create mode 100644 tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts create mode 100644 tests/specs/test/ops_sanitizer_tcp/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out create mode 100644 tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts create mode 100644 tests/specs/test/ops_sanitizer_timeout_failure/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out create mode 100644 tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts create mode 100644 tests/specs/test/ops_sanitizer_unstable/__test__.jsonc create mode 100644 tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out create mode 100644 tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/__test__.jsonc create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/actually_excluded.test.ts create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/deno.json create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/excluded.test.ts create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.out create mode 100644 tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.test.ts create mode 100644 tests/specs/test/overloads/__test__.jsonc create mode 100644 tests/specs/test/overloads/main.out create mode 100644 tests/specs/test/overloads/main.ts create mode 100644 tests/specs/test/parallel_flag/__test__.jsonc create mode 100644 tests/specs/test/parallel_flag/main.out create mode 100644 tests/specs/test/parallel_flag/main.ts create mode 100644 tests/specs/test/parallel_flag_with_env_variables/__test__.jsonc create mode 100644 tests/specs/test/parallel_flag_with_env_variables/main.out create mode 100644 tests/specs/test/parallel_flag_with_env_variables/main.ts create mode 100644 tests/specs/test/parallel_output/__test__.jsonc create mode 100644 tests/specs/test/parallel_output/main.out create mode 100644 tests/specs/test/parallel_output/main.ts create mode 100644 tests/specs/test/pass/__test__.jsonc create mode 100644 tests/specs/test/pass/main.out create mode 100644 tests/specs/test/pass/main.ts create mode 100644 tests/specs/test/quiet/__test__.jsonc create mode 100644 tests/specs/test/quiet/main.out create mode 100644 tests/specs/test/quiet/main.ts create mode 100644 tests/specs/test/recursive_permissions_pledge/__test__.jsonc create mode 100644 tests/specs/test/recursive_permissions_pledge/main.js create mode 100644 tests/specs/test/report_error/__test__.jsonc create mode 100644 tests/specs/test/report_error/main.out create mode 100644 tests/specs/test/report_error/main.ts create mode 100644 tests/specs/test/resource_sanitizer/__test__.jsonc create mode 100644 tests/specs/test/resource_sanitizer/resource_sanitizer.out create mode 100644 tests/specs/test/resource_sanitizer/resource_sanitizer.ts create mode 100644 tests/specs/test/sanitizer_trace_ops_catch_error/__test__.jsonc create mode 100644 tests/specs/test/sanitizer_trace_ops_catch_error/main.out create mode 100644 tests/specs/test/sanitizer_trace_ops_catch_error/main.ts create mode 100644 tests/specs/test/shuffle/__test__.jsonc create mode 100644 tests/specs/test/shuffle/shuffle/bar_test.ts create mode 100644 tests/specs/test/shuffle/shuffle/baz_test.ts create mode 100644 tests/specs/test/shuffle/shuffle/foo_test.ts create mode 100644 tests/specs/test/shuffle_with_seed/__test__.jsonc create mode 100644 tests/specs/test/shuffle_with_seed/main.out create mode 100644 tests/specs/test/shuffle_with_seed/shuffle/bar_test.ts create mode 100644 tests/specs/test/shuffle_with_seed/shuffle/baz_test.ts create mode 100644 tests/specs/test/shuffle_with_seed/shuffle/foo_test.ts create mode 100644 tests/specs/test/steps_dot_failing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_dot_failing_steps/failing_steps.dot.out create mode 100644 tests/specs/test/steps_dot_failing_steps/failing_steps.ts create mode 100644 tests/specs/test/steps_dot_ignored_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out create mode 100644 tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts create mode 100644 tests/specs/test/steps_dot_passing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out create mode 100644 tests/specs/test/steps_dot_passing_steps/passing_steps.ts create mode 100644 tests/specs/test/steps_failing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_failing_steps/failing_steps.out create mode 100644 tests/specs/test/steps_failing_steps/failing_steps.ts create mode 100644 tests/specs/test/steps_ignored_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_ignored_steps/ignored_steps.out create mode 100644 tests/specs/test/steps_ignored_steps/ignored_steps.ts create mode 100644 tests/specs/test/steps_invalid_usage/__test__.jsonc create mode 100644 tests/specs/test/steps_invalid_usage/invalid_usage.out create mode 100644 tests/specs/test/steps_invalid_usage/invalid_usage.ts create mode 100644 tests/specs/test/steps_output_within/__test__.jsonc create mode 100644 tests/specs/test/steps_output_within/output_within.out create mode 100644 tests/specs/test/steps_output_within/output_within.ts create mode 100644 tests/specs/test/steps_passing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_passing_steps/passing_steps.out create mode 100644 tests/specs/test/steps_passing_steps/passing_steps.ts create mode 100644 tests/specs/test/steps_tap_failing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out create mode 100644 tests/specs/test/steps_tap_failing_steps/failing_steps.ts create mode 100644 tests/specs/test/steps_tap_ignored_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out create mode 100644 tests/specs/test/steps_tap_ignored_steps/ignored_steps.ts create mode 100644 tests/specs/test/steps_tap_passing_steps/__test__.jsonc create mode 100644 tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out create mode 100644 tests/specs/test/steps_tap_passing_steps/passing_steps.ts create mode 100644 tests/specs/test/test_filtered_out_only/__test__.jsonc create mode 100644 tests/specs/test/test_filtered_out_only/main.out create mode 100644 tests/specs/test/test_filtered_out_only/main.ts create mode 100644 tests/specs/test/test_replace_timers/__test__.jsonc create mode 100644 tests/specs/test/test_replace_timers/main.js create mode 100644 tests/specs/test/test_replace_timers/main.out create mode 100644 tests/specs/test/test_with_config/__test__.jsonc create mode 100644 tests/specs/test/test_with_config/collect/deno.jsonc create mode 100644 tests/specs/test/test_with_config/collect/deno.malformed.jsonc create mode 100644 tests/specs/test/test_with_config/collect/deno2.jsonc create mode 100644 tests/specs/test/test_with_config/collect/ignore/test.ts create mode 100644 tests/specs/test/test_with_config/collect/include.ts create mode 100644 tests/specs/test/test_with_config/collect/include/2_test.ts create mode 100644 tests/specs/test/test_with_config/collect/include/test.ts create mode 100644 tests/specs/test/test_with_config/collect/test.ts create mode 100644 tests/specs/test/test_with_config/main.out create mode 100644 tests/specs/test/test_with_config2/__test__.jsonc create mode 100644 tests/specs/test/test_with_config2/collect/deno.jsonc create mode 100644 tests/specs/test/test_with_config2/collect/deno.malformed.jsonc create mode 100644 tests/specs/test/test_with_config2/collect/deno2.jsonc create mode 100644 tests/specs/test/test_with_config2/collect/ignore/test.ts create mode 100644 tests/specs/test/test_with_config2/collect/include.ts create mode 100644 tests/specs/test/test_with_config2/collect/include/2_test.ts create mode 100644 tests/specs/test/test_with_config2/collect/include/test.ts create mode 100644 tests/specs/test/test_with_config2/collect/test.ts create mode 100644 tests/specs/test/test_with_config2/main.out create mode 100644 tests/specs/test/test_with_custom_jsx/__test__.jsonc create mode 100644 tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json create mode 100644 tests/specs/test/test_with_custom_jsx/main.out create mode 100644 tests/specs/test/test_with_custom_jsx/main.ts create mode 100644 tests/specs/test/test_with_glob_config/__test__.jsonc create mode 100644 tests/specs/test/test_with_glob_config/deno.glob.json create mode 100644 tests/specs/test/test_with_glob_config/glob/data/tes.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/data/test1.js create mode 100644 tests/specs/test/test_with_glob_config/glob/data/test1.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/data/test12.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/fizz/bar.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/fizz/bazz.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/fizz/fizz.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/fizz/foo.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/foo/bar.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/foo/bazz.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/foo/fizz.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/nested/foo/foo.ts create mode 100644 tests/specs/test/test_with_glob_config/glob/pages/[id].ts create mode 100644 tests/specs/test/test_with_glob_config/main.out create mode 100644 tests/specs/test/test_with_malformed_config/__test__.jsonc create mode 100644 tests/specs/test/test_with_malformed_config/deno.malformed.jsonc create mode 100644 tests/specs/test/test_with_malformed_config/main.out create mode 100644 tests/specs/test/text/__test__.jsonc create mode 100644 tests/specs/test/text/main.md create mode 100644 tests/specs/test/text/main.out create mode 100644 tests/specs/test/uncaught_errors/__test__.jsonc create mode 100644 tests/specs/test/uncaught_errors/main.out create mode 100644 tests/specs/test/uncaught_errors/uncaught_errors_1.ts create mode 100644 tests/specs/test/uncaught_errors/uncaught_errors_2.ts create mode 100644 tests/specs/test/uncaught_errors/uncaught_errors_3.ts create mode 100644 tests/specs/test/unhandled_rejection/__test__.jsonc create mode 100644 tests/specs/test/unhandled_rejection/main.out create mode 100644 tests/specs/test/unhandled_rejection/main.ts create mode 100644 tests/specs/test/unresolved_promise/__test__.jsonc create mode 100644 tests/specs/test/unresolved_promise/main.out create mode 100644 tests/specs/test/unresolved_promise/main.ts delete mode 100644 tests/testdata/test/aggregate_error.out delete mode 100644 tests/testdata/test/aggregate_error.ts delete mode 100644 tests/testdata/test/allow_all.out delete mode 100644 tests/testdata/test/allow_all.ts delete mode 100644 tests/testdata/test/allow_none.out delete mode 100644 tests/testdata/test/allow_none.ts delete mode 100644 tests/testdata/test/before_unload_prevent_default.out delete mode 100644 tests/testdata/test/before_unload_prevent_default.ts delete mode 100644 tests/testdata/test/captured_output.ts delete mode 100644 tests/testdata/test/captured_output.worker.js delete mode 100644 tests/testdata/test/check_local_by_default.out delete mode 100644 tests/testdata/test/check_local_by_default.ts delete mode 100644 tests/testdata/test/check_local_by_default2.out delete mode 100644 tests/testdata/test/check_local_by_default2.ts delete mode 100644 tests/testdata/test/clear_timeout.out delete mode 100644 tests/testdata/test/clear_timeout.ts delete mode 100644 tests/testdata/test/collect.out delete mode 100644 tests/testdata/test/collect/deno.jsonc delete mode 100644 tests/testdata/test/collect/deno.malformed.jsonc delete mode 100644 tests/testdata/test/collect/deno2.jsonc delete mode 100644 tests/testdata/test/collect/ignore/test.ts delete mode 100644 tests/testdata/test/collect/include.ts delete mode 100644 tests/testdata/test/collect/include/2_test.ts delete mode 100644 tests/testdata/test/collect/include/test.ts delete mode 100644 tests/testdata/test/collect/test.ts delete mode 100644 tests/testdata/test/collect2.out delete mode 100644 tests/testdata/test/collect_with_malformed_config.out delete mode 100644 tests/testdata/test/deno_custom_jsx.json delete mode 100644 tests/testdata/test/doc.out delete mode 100644 tests/testdata/test/doc.ts delete mode 100644 tests/testdata/test/doc_only.out delete mode 100644 tests/testdata/test/doc_only/mod.ts delete mode 100644 tests/testdata/test/fail.out delete mode 100644 tests/testdata/test/fail.ts delete mode 100644 tests/testdata/test/fail_fast.out delete mode 100644 tests/testdata/test/fail_fast.ts delete mode 100644 tests/testdata/test/fail_fast_other.ts delete mode 100644 tests/testdata/test/fail_fast_with_val.out delete mode 100644 tests/testdata/test/fail_fast_with_val.ts delete mode 100644 tests/testdata/test/file_protocol.out delete mode 100644 tests/testdata/test/file_protocol.ts delete mode 100644 tests/testdata/test/filter.out delete mode 100644 tests/testdata/test/filter/a_test.ts delete mode 100644 tests/testdata/test/filter/b_test.ts delete mode 100644 tests/testdata/test/filter/c_test.ts delete mode 100644 tests/testdata/test/filtered_out_only.out delete mode 100644 tests/testdata/test/filtered_out_only.ts delete mode 100644 tests/testdata/test/finally_timeout.out delete mode 100644 tests/testdata/test/finally_timeout.ts delete mode 100644 tests/testdata/test/hello_world.out delete mode 100644 tests/testdata/test/hello_world.ts delete mode 100644 tests/testdata/test/hide_empty_suites.out delete mode 100644 tests/testdata/test/ignore.out delete mode 100644 tests/testdata/test/ignore.ts delete mode 100644 tests/testdata/test/ignore_permissions.out delete mode 100644 tests/testdata/test/ignore_permissions.ts delete mode 100644 tests/testdata/test/interval.out delete mode 100644 tests/testdata/test/interval.ts delete mode 100644 tests/testdata/test/junit_multiple_test_files.junit.out delete mode 100644 tests/testdata/test/load_unload.out delete mode 100644 tests/testdata/test/load_unload.ts delete mode 100644 tests/testdata/test/markdown.md delete mode 100644 tests/testdata/test/markdown.out delete mode 100644 tests/testdata/test/markdown_full_block_names.md delete mode 100644 tests/testdata/test/markdown_full_block_names.out delete mode 100644 tests/testdata/test/markdown_windows.md delete mode 100644 tests/testdata/test/markdown_windows.out delete mode 100644 tests/testdata/test/markdown_with_comment.md delete mode 100644 tests/testdata/test/markdown_with_comment.out delete mode 100644 tests/testdata/test/meta.out delete mode 100644 tests/testdata/test/meta.ts delete mode 100644 tests/testdata/test/nested_failures.junit.out delete mode 100644 tests/testdata/test/nested_failures.ts delete mode 100644 tests/testdata/test/no_check.out delete mode 100644 tests/testdata/test/no_check.ts delete mode 100644 tests/testdata/test/no_color.ts delete mode 100644 tests/testdata/test/no_prompt_by_default.out delete mode 100644 tests/testdata/test/no_prompt_by_default.ts delete mode 100644 tests/testdata/test/no_prompt_with_denied_perms.out delete mode 100644 tests/testdata/test/no_prompt_with_denied_perms.ts delete mode 100644 tests/testdata/test/no_run.out delete mode 100644 tests/testdata/test/no_run.ts delete mode 100644 tests/testdata/test/non_error_thrown.out delete mode 100644 tests/testdata/test/non_error_thrown.ts delete mode 100644 tests/testdata/test/only.out delete mode 100644 tests/testdata/test/only.ts delete mode 100644 tests/testdata/test/overloads.out delete mode 100644 tests/testdata/test/overloads.ts delete mode 100644 tests/testdata/test/parallel_output.out delete mode 100644 tests/testdata/test/parallel_output.ts delete mode 100644 tests/testdata/test/pass.junit.out delete mode 100644 tests/testdata/test/pass.out delete mode 100644 tests/testdata/test/pass.ts delete mode 100644 tests/testdata/test/quiet.out delete mode 100644 tests/testdata/test/quiet.ts delete mode 100644 tests/testdata/test/recursive_permissions_pledge.js delete mode 100644 tests/testdata/test/replace_timers.js delete mode 100644 tests/testdata/test/replace_timers.js.out delete mode 100644 tests/testdata/test/report_error.out delete mode 100644 tests/testdata/test/report_error.ts delete mode 100644 tests/testdata/test/sanitizer/exit_sanitizer.out delete mode 100644 tests/testdata/test/sanitizer/exit_sanitizer.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_step_leak.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_step_leak.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_tcp.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_unstable.out delete mode 100644 tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts delete mode 100644 tests/testdata/test/sanitizer/resource_sanitizer.out delete mode 100644 tests/testdata/test/sanitizer/resource_sanitizer.ts delete mode 100644 tests/testdata/test/sanitizer/trace_ops_caught_error/main.out delete mode 100644 tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts delete mode 100644 tests/testdata/test/short-pass.out delete mode 100644 tests/testdata/test/short-pass.ts delete mode 100644 tests/testdata/test/shuffle.out delete mode 100644 tests/testdata/test/shuffle/bar_test.ts delete mode 100644 tests/testdata/test/shuffle/baz_test.ts delete mode 100644 tests/testdata/test/shuffle/foo_test.ts delete mode 100644 tests/testdata/test/steps/failing_steps.dot.out delete mode 100644 tests/testdata/test/steps/failing_steps.out delete mode 100644 tests/testdata/test/steps/failing_steps.tap.out delete mode 100644 tests/testdata/test/steps/failing_steps.ts delete mode 100644 tests/testdata/test/steps/ignored_steps.dot.out delete mode 100644 tests/testdata/test/steps/ignored_steps.out delete mode 100644 tests/testdata/test/steps/ignored_steps.tap.out delete mode 100644 tests/testdata/test/steps/ignored_steps.ts delete mode 100644 tests/testdata/test/steps/invalid_usage.out delete mode 100644 tests/testdata/test/steps/invalid_usage.ts delete mode 100644 tests/testdata/test/steps/output_within.out delete mode 100644 tests/testdata/test/steps/output_within.ts delete mode 100644 tests/testdata/test/steps/passing_steps.dot.out delete mode 100644 tests/testdata/test/steps/passing_steps.out delete mode 100644 tests/testdata/test/steps/passing_steps.tap.out delete mode 100644 tests/testdata/test/steps/passing_steps.ts delete mode 100644 tests/testdata/test/text.md delete mode 100644 tests/testdata/test/text.out delete mode 100644 tests/testdata/test/uncaught_errors.out delete mode 100644 tests/testdata/test/uncaught_errors_1.ts delete mode 100644 tests/testdata/test/uncaught_errors_2.ts delete mode 100644 tests/testdata/test/uncaught_errors_3.ts delete mode 100644 tests/testdata/test/unhandled_rejection.out delete mode 100644 tests/testdata/test/unhandled_rejection.ts delete mode 100644 tests/testdata/test/unresolved_promise.out delete mode 100644 tests/testdata/test/unresolved_promise.ts (limited to 'tests') diff --git a/tests/integration/test_tests.rs b/tests/integration/test_tests.rs index 207e0f260..64857ae11 100644 --- a/tests/integration/test_tests.rs +++ b/tests/integration/test_tests.rs @@ -1,324 +1,12 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -use deno_core::serde_json::json; -use deno_core::url::Url; use test_util as util; -use test_util::itest; use util::assert_contains; use util::assert_not_contains; use util::wildcard_match; use util::TestContext; use util::TestContextBuilder; -#[test] -fn no_color() { - let (out, _) = util::run_and_collect_output( - false, - "test test/no_color.ts", - None, - Some(vec![("NO_COLOR".to_owned(), "true".to_owned())]), - false, - ); - // ANSI escape codes should be stripped. - assert!(out.contains("success ... ok")); - assert!(out.contains("fail ... FAILED")); - assert!(out.contains("ignored ... ignored")); - assert!(out.contains("FAILED | 1 passed | 1 failed | 1 ignored")); -} - -itest!(overloads { - args: "test test/overloads.ts", - exit_code: 0, - output: "test/overloads.out", -}); - -itest!(meta { - args: "test test/meta.ts", - exit_code: 0, - output: "test/meta.out", -}); - -itest!(pass { - args: "test test/pass.ts", - exit_code: 0, - output: "test/pass.out", -}); - -itest!(ignore { - args: "test test/ignore.ts", - exit_code: 0, - output: "test/ignore.out", -}); - -itest!(ignore_permissions { - args: "test test/ignore_permissions.ts", - exit_code: 0, - output: "test/ignore_permissions.out", -}); - -itest!(fail { - args: "test test/fail.ts", - exit_code: 1, - output: "test/fail.out", -}); - -// GHA CI seems to have a problem with Emoji -// https://github.com/denoland/deno/pull/23200#issuecomment-2134032695 -#[test] -fn fail_with_contain_unicode_filename() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let temp_dir = context.temp_dir(); - temp_dir.write( - "fail_with_contain_unicode_filename🦕.ts", - "Deno.test(\"test 0\", () => { - throw new Error(); -}); - ", - ); - let output = context - .new_command() - .args("test fail_with_contain_unicode_filename🦕.ts") - .run(); - output.skip_output_check(); - output.assert_exit_code(1); - output.assert_matches_text( - "Check [WILDCARD]/fail_with_contain_unicode_filename🦕.ts -running 1 test from ./fail_with_contain_unicode_filename🦕.ts -test 0 ... FAILED ([WILDCARD]) - - ERRORS - -test 0 => ./fail_with_contain_unicode_filename🦕.ts:[WILDCARD] -error: Error - throw new Error(); - ^ - at [WILDCARD]/fail_with_contain_unicode_filename🦕.ts:[WILDCARD] - - FAILURES - -test 0 => ./fail_with_contain_unicode_filename🦕.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed -", - ); -} - -itest!(collect { - args: "test --ignore=test/collect/ignore test/collect", - exit_code: 0, - output: "test/collect.out", -}); - -itest!(test_with_config { - args: "test --config test/collect/deno.jsonc test/collect", - exit_code: 0, - output: "test/collect.out", -}); - -itest!(test_with_config2 { - args: "test --config test/collect/deno2.jsonc test/collect", - exit_code: 0, - output: "test/collect2.out", -}); - -itest!(test_with_malformed_config { - args: "test --config test/collect/deno.malformed.jsonc", - exit_code: 1, - output: "test/collect_with_malformed_config.out", -}); - -itest!(test_filtered_out_only { - args: "test --quiet --filter foo test/filtered_out_only.ts", - output: "test/filtered_out_only.out", -}); - -itest!(parallel_flag { - args: "test test/short-pass.ts --parallel", - exit_code: 0, - output: "test/short-pass.out", -}); - -itest!(parallel_flag_with_env_variable { - args: "test test/short-pass.ts --parallel", - envs: vec![("DENO_JOBS".to_owned(), "2".to_owned())], - exit_code: 0, - output: "test/short-pass.out", -}); - -itest!(load_unload { - args: "test test/load_unload.ts", - exit_code: 0, - output: "test/load_unload.out", -}); - -itest!(interval { - args: "test test/interval.ts", - exit_code: 0, - output: "test/interval.out", -}); - -itest!(doc { - args: "test --doc --allow-all test/doc.ts", - exit_code: 1, - output: "test/doc.out", -}); - -itest!(doc_only { - args: "test --doc --allow-all test/doc_only", - exit_code: 0, - output: "test/doc_only.out", -}); - -itest!(markdown { - args: "test --doc --allow-all test/markdown.md", - exit_code: 1, - output: "test/markdown.out", -}); - -itest!(markdown_windows { - args: "test --doc --allow-all test/markdown_windows.md", - exit_code: 1, - output: "test/markdown_windows.out", -}); - -itest!(markdown_full_block_names { - args: "test --doc --allow-all test/markdown_full_block_names.md", - exit_code: 1, - output: "test/markdown_full_block_names.out", -}); - -itest!(markdown_ignore_html_comment { - args: "test --doc --allow-all test/markdown_with_comment.md", - exit_code: 1, - output: "test/markdown_with_comment.out", -}); - -itest!(text { - args: "test --doc --allow-all test/text.md", - exit_code: 0, - output: "test/text.out", -}); - -itest!(quiet { - args: "test --quiet test/quiet.ts", - exit_code: 0, - output: "test/quiet.out", -}); - -itest!(fail_fast { - args: "test --fail-fast test/fail_fast.ts test/fail_fast_other.ts", - exit_code: 1, - output: "test/fail_fast.out", -}); - -itest!(only { - args: "test test/only.ts", - exit_code: 1, - output: "test/only.out", -}); - -itest!(no_check { - args: "test --no-check test/no_check.ts", - exit_code: 1, - output: "test/no_check.out", -}); - -itest!(no_run { - args: "test --no-run test/no_run.ts", - output: "test/no_run.out", - exit_code: 1, -}); - -itest!(allow_all { - args: "test --config ../config/deno.json --allow-all test/allow_all.ts", - exit_code: 0, - output: "test/allow_all.out", -}); - -itest!(allow_none { - args: "test --config ../config/deno.json test/allow_none.ts", - exit_code: 1, - output: "test/allow_none.out", -}); - -itest!(ops_sanitizer_unstable { - args: "test --trace-leaks test/sanitizer/ops_sanitizer_unstable.ts", - exit_code: 1, - output: "test/sanitizer/ops_sanitizer_unstable.out", -}); - -itest!(ops_sanitizer_timeout_failure { - args: "test test/sanitizer/ops_sanitizer_timeout_failure.ts", - output: "test/sanitizer/ops_sanitizer_timeout_failure.out", -}); - -itest!(ops_sanitizer_multiple_timeout_tests { - args: - "test --trace-leaks test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts", - exit_code: 1, - output: "test/sanitizer/ops_sanitizer_multiple_timeout_tests.out", -}); - -itest!(ops_sanitizer_multiple_timeout_tests_no_trace { - args: "test test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts", - exit_code: 1, - output: "test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out", -}); - -itest!(sanitizer_trace_ops_catch_error { - args: "test -A --trace-leaks test/sanitizer/trace_ops_caught_error/main.ts", - exit_code: 0, - output: "test/sanitizer/trace_ops_caught_error/main.out", -}); - -itest!(ops_sanitizer_closed_inside_started_before { - args: "test --trace-leaks test/sanitizer/ops_sanitizer_closed_inside_started_before.ts", - exit_code: 1, - output: "test/sanitizer/ops_sanitizer_closed_inside_started_before.out", -}); - -itest!(ops_sanitizer_nexttick { - args: "test --no-check test/sanitizer/ops_sanitizer_nexttick.ts", - output: "test/sanitizer/ops_sanitizer_nexttick.out", -}); - -itest!(resource_sanitizer { - args: "test --allow-read test/sanitizer/resource_sanitizer.ts", - exit_code: 1, - output: "test/sanitizer/resource_sanitizer.out", -}); - -itest!(ops_sanitizer_tcp { - args: "test --allow-net --trace-leaks test/sanitizer/ops_sanitizer_tcp.ts", - exit_code: 1, - output: "test/sanitizer/ops_sanitizer_tcp.out", -}); - -itest!(exit_sanitizer { - args: "test test/sanitizer/exit_sanitizer.ts", - output: "test/sanitizer/exit_sanitizer.out", - exit_code: 1, -}); - -itest!(junit { - args: "test --reporter junit test/pass.ts", - output: "test/pass.junit.out", -}); - -itest!(junit_nested { - args: "test --reporter junit test/nested_failures.ts", - output: "test/nested_failures.junit.out", - exit_code: 1, -}); - -itest!(junit_multiple_test_files { - args: "test --reporter junit test/pass.ts test/fail.ts", - output: "test/junit_multiple_test_files.junit.out", - exit_code: 1, -}); - #[test] fn junit_path() { let context = TestContextBuilder::new().use_temp_cwd().build(); @@ -336,245 +24,6 @@ fn junit_path() { .assert_matches_text(">(); - // the output is racy on either stdout or stderr being flushed - // from the runtime into the rust code, so sort it... the main - // thing here to ensure is that we're capturing the output in - // this block on stdout - lines.sort_unstable(); - assert_eq!(lines.join(" "), "0 1 2 3 4 5 6 7 8 9"); -} - -#[test] -fn recursive_permissions_pledge() { - let context = TestContext::default(); - let output = context - .new_command() - .args("test test/recursive_permissions_pledge.js") - .run(); - output.assert_exit_code(1); - assert_contains!( - output.combined_output(), - "pledge test permissions called before restoring previous pledge" - ); -} - -#[test] -fn file_protocol() { - let file_url = - Url::from_file_path(util::testdata_path().join("test/file_protocol.ts")) - .unwrap() - .to_string(); - - TestContext::default() - .new_command() - .args_vec(["test", file_url.as_str()]) - .run() - .assert_matches_file("test/file_protocol.out"); -} - -itest!(uncaught_errors { - args: "test --quiet test/uncaught_errors_1.ts test/uncaught_errors_2.ts test/uncaught_errors_3.ts", - output: "test/uncaught_errors.out", - exit_code: 1, -}); - -itest!(report_error { - args: "test --quiet test/report_error.ts", - output: "test/report_error.out", - exit_code: 1, -}); - -itest!(check_local_by_default { - args: "test --quiet test/check_local_by_default.ts", - output: "test/check_local_by_default.out", - http_server: true, -}); - -itest!(check_local_by_default2 { - args: "test --quiet test/check_local_by_default2.ts", - output: "test/check_local_by_default2.out", - http_server: true, - exit_code: 1, -}); - -itest!(non_error_thrown { - args: "test --quiet test/non_error_thrown.ts", - output: "test/non_error_thrown.out", - exit_code: 1, -}); - -itest!(parallel_output { - args: "test --parallel --reload test/parallel_output.ts", - output: "test/parallel_output.out", - exit_code: 1, -}); - #[test] // todo(#18480): re-enable #[ignore] @@ -598,11 +47,6 @@ fn sigint_with_hanging_test() { ); } -itest!(test_replace_timers { - args: "test test/replace_timers.js", - output: "test/replace_timers.js.out", -}); - #[test] fn test_with_glob_config() { let context = TestContextBuilder::new().cwd("test").build(); @@ -674,32 +118,3 @@ fn conditionally_loads_type_graph() { .run(); assert_not_contains!(output.combined_output(), "type_reference.d.ts"); } - -#[test] -fn opt_out_top_level_exclude_via_test_unexclude() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let temp_dir = context.temp_dir().path(); - temp_dir.join("deno.json").write_json(&json!({ - "test": { - "exclude": [ "!excluded.test.ts" ] - }, - "exclude": [ "excluded.test.ts", "actually_excluded.test.ts" ] - })); - - temp_dir - .join("main.test.ts") - .write("Deno.test('test1', () => {});"); - temp_dir - .join("excluded.test.ts") - .write("Deno.test('test2', () => {});"); - temp_dir - .join("actually_excluded.test.ts") - .write("Deno.test('test3', () => {});"); - - let output = context.new_command().arg("test").run(); - output.assert_exit_code(0); - let output = output.combined_output(); - assert_contains!(output, "main.test.ts"); - assert_contains!(output, "excluded.test.ts"); - assert_not_contains!(output, "actually_excluded.test.ts"); -} diff --git a/tests/specs/test/aggregate_error/__test__.jsonc b/tests/specs/test/aggregate_error/__test__.jsonc new file mode 100644 index 000000000..a02376f87 --- /dev/null +++ b/tests/specs/test/aggregate_error/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/aggregate_error/main.out b/tests/specs/test/aggregate_error/main.out new file mode 100644 index 000000000..aa790e550 --- /dev/null +++ b/tests/specs/test/aggregate_error/main.out @@ -0,0 +1,22 @@ +running 1 test from ./main.ts +aggregate ... FAILED ([WILDCARD]) + + ERRORS + +aggregate => ./main.ts:[WILDCARD] +error: AggregateError + Error: Error 1 + at [WILDCARD]/main.ts:2:18 + Error: Error 2 + at [WILDCARD]/main.ts:3:18 + throw new AggregateError([error1, error2]); + ^ + at [WILDCARD]/main.ts:5:9 + + FAILURES + +aggregate => ./main.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/aggregate_error/main.ts b/tests/specs/test/aggregate_error/main.ts new file mode 100644 index 000000000..0661ea249 --- /dev/null +++ b/tests/specs/test/aggregate_error/main.ts @@ -0,0 +1,6 @@ +Deno.test("aggregate", function () { + const error1 = new Error("Error 1"); + const error2 = new Error("Error 2"); + + throw new AggregateError([error1, error2]); +}); diff --git a/tests/specs/test/allow_all/__test__.jsonc b/tests/specs/test/allow_all/__test__.jsonc new file mode 100644 index 000000000..badffe7c4 --- /dev/null +++ b/tests/specs/test/allow_all/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config deno.json --allow-all main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/allow_all/deno.json b/tests/specs/test/allow_all/deno.json new file mode 100644 index 000000000..105514e13 --- /dev/null +++ b/tests/specs/test/allow_all/deno.json @@ -0,0 +1,4 @@ +{ + "lock": false, + "importMap": "../../../../import_map.json" +} diff --git a/tests/specs/test/allow_all/main.out b/tests/specs/test/allow_all/main.out new file mode 100644 index 000000000..b3bf5275f --- /dev/null +++ b/tests/specs/test/allow_all/main.out @@ -0,0 +1,16 @@ +[WILDCARD] +running 12 tests from [WILDCARD] +read false ... ok [WILDCARD] +read true ... ok [WILDCARD] +write false ... ok [WILDCARD] +write true ... ok [WILDCARD] +net false ... ok [WILDCARD] +net true ... ok [WILDCARD] +env false ... ok [WILDCARD] +env true ... ok [WILDCARD] +run false ... ok [WILDCARD] +run true ... ok [WILDCARD] +ffi false ... ok [WILDCARD] +ffi true ... ok [WILDCARD] + +ok | 12 passed | 0 failed [WILDCARD] diff --git a/tests/specs/test/allow_all/main.ts b/tests/specs/test/allow_all/main.ts new file mode 100644 index 000000000..7faa58c61 --- /dev/null +++ b/tests/specs/test/allow_all/main.ts @@ -0,0 +1,42 @@ +import { assertEquals } from "@std/assert"; + +const permissions: Deno.PermissionName[] = [ + "read", + "write", + "net", + "env", + "run", + "ffi", +]; + +for (const name of permissions) { + Deno.test({ + name: `${name} false`, + permissions: { + [name]: false, + }, + async fn() { + for await (const n of permissions) { + const status = await Deno.permissions.query({ name: n }); + assertEquals(status.state, "prompt"); + } + }, + }); + + Deno.test({ + name: `${name} true`, + permissions: { + [name]: true, + }, + async fn() { + for await (const n of permissions) { + const status = await Deno.permissions.query({ name: n }); + if (n === name) { + assertEquals(status.state, "granted"); + } else { + assertEquals(status.state, "prompt"); + } + } + }, + }); +} diff --git a/tests/specs/test/allow_none/__test__.jsonc b/tests/specs/test/allow_none/__test__.jsonc new file mode 100644 index 000000000..5e21e8943 --- /dev/null +++ b/tests/specs/test/allow_none/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config deno.json main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/allow_none/deno.json b/tests/specs/test/allow_none/deno.json new file mode 100644 index 000000000..105514e13 --- /dev/null +++ b/tests/specs/test/allow_none/deno.json @@ -0,0 +1,4 @@ +{ + "lock": false, + "importMap": "../../../../import_map.json" +} diff --git a/tests/specs/test/allow_none/main.out b/tests/specs/test/allow_none/main.out new file mode 100644 index 000000000..1914997cd --- /dev/null +++ b/tests/specs/test/allow_none/main.out @@ -0,0 +1,45 @@ +[WILDCARD] +running 6 tests from [WILDCARD] +read ... FAILED [WILDCARD] +write ... FAILED [WILDCARD] +net ... FAILED [WILDCARD] +env ... FAILED [WILDCARD] +run ... FAILED [WILDCARD] +ffi ... FAILED [WILDCARD] + + ERRORS + +read => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + +write => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + +net => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + +env => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + +run => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + +ffi => ./main.ts:[WILDCARD] +error: NotCapable: Can't escalate parent thread permissions +[WILDCARD] + + FAILURES + +read => ./main.ts:[WILDCARD] +write => ./main.ts:[WILDCARD] +net => ./main.ts:[WILDCARD] +env => ./main.ts:[WILDCARD] +run => ./main.ts:[WILDCARD] +ffi => ./main.ts:[WILDCARD] + +FAILED | 0 passed | 6 failed [WILDCARD] diff --git a/tests/specs/test/allow_none/main.ts b/tests/specs/test/allow_none/main.ts new file mode 100644 index 000000000..e59a30c4d --- /dev/null +++ b/tests/specs/test/allow_none/main.ts @@ -0,0 +1,22 @@ +import { unreachable } from "@std/assert"; + +const permissions: Deno.PermissionName[] = [ + "read", + "write", + "net", + "env", + "run", + "ffi", +]; + +for (const name of permissions) { + Deno.test({ + name, + permissions: { + [name]: true, + }, + fn() { + unreachable(); + }, + }); +} diff --git a/tests/specs/test/before_unload_prevent_default/__test__.jsonc b/tests/specs/test/before_unload_prevent_default/__test__.jsonc new file mode 100644 index 000000000..602250082 --- /dev/null +++ b/tests/specs/test/before_unload_prevent_default/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test --quiet main.ts", + "output": "main.out" +} diff --git a/tests/specs/test/before_unload_prevent_default/main.out b/tests/specs/test/before_unload_prevent_default/main.out new file mode 100644 index 000000000..9ccad312d --- /dev/null +++ b/tests/specs/test/before_unload_prevent_default/main.out @@ -0,0 +1,5 @@ +running 1 test from [WILDCARD]/main.ts +foo ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/before_unload_prevent_default/main.ts b/tests/specs/test/before_unload_prevent_default/main.ts new file mode 100644 index 000000000..421ded520 --- /dev/null +++ b/tests/specs/test/before_unload_prevent_default/main.ts @@ -0,0 +1,6 @@ +addEventListener("beforeunload", (e) => { + // The worker should be killed once tests are done regardless of this. + e.preventDefault(); +}); + +Deno.test("foo", () => {}); diff --git a/tests/specs/test/captured_output/__test__.jsonc b/tests/specs/test/captured_output/__test__.jsonc new file mode 100644 index 000000000..d620f61aa --- /dev/null +++ b/tests/specs/test/captured_output/__test__.jsonc @@ -0,0 +1,6 @@ +{ + "args": "test --allow-run --allow-read captured_output.ts", + "output": "main.out", + "envs": { "NO_COLOR": "1" }, + "exitCode": 0 +} diff --git a/tests/specs/test/captured_output/captured_output.ts b/tests/specs/test/captured_output/captured_output.ts new file mode 100644 index 000000000..77e1d1b08 --- /dev/null +++ b/tests/specs/test/captured_output/captured_output.ts @@ -0,0 +1,33 @@ +Deno.test("output", async () => { + await new Deno.Command(Deno.execPath(), { + args: ["eval", "console.log(0); console.error(1);"], + }).spawn().status; + new Deno.Command(Deno.execPath(), { + args: ["eval", "console.log(2); console.error(3);"], + stdout: "inherit", + stderr: "inherit", + }).outputSync(); + await new Deno.Command(Deno.execPath(), { + args: ["eval", "console.log(4); console.error(5);"], + stdout: "inherit", + stderr: "inherit", + }).output(); + const c = new Deno.Command(Deno.execPath(), { + args: ["eval", "console.log(6); console.error(7);"], + stdout: "inherit", + stderr: "inherit", + }).spawn(); + await c.status; + const worker = new Worker( + import.meta.resolve("./captured_output.worker.ts"), + { type: "module" }, + ); + + // ensure worker output is captured + const response = new Promise((resolve) => + worker.onmessage = () => resolve() + ); + worker.postMessage({}); + await response; + worker.terminate(); +}); diff --git a/tests/specs/test/captured_output/captured_output.worker.ts b/tests/specs/test/captured_output/captured_output.worker.ts new file mode 100644 index 000000000..f49f26880 --- /dev/null +++ b/tests/specs/test/captured_output/captured_output.worker.ts @@ -0,0 +1,6 @@ +self.onmessage = () => { + console.log(8); + console.error(9); + self.postMessage({}); + self.close(); +}; diff --git a/tests/specs/test/captured_output/main.out b/tests/specs/test/captured_output/main.out new file mode 100644 index 000000000..ba313beaf --- /dev/null +++ b/tests/specs/test/captured_output/main.out @@ -0,0 +1,22 @@ +Check [WILDCARD]/captured_output.ts +running 1 test from ./captured_output.ts +output ... +------- output ------- +[UNORDERED_START] +1 +0 +3 +2 +5 +4 +7 +6 +Check [WILDLINE]/captured_output.worker.ts +9 +8 +[UNORDERED_END] +----- output end ----- +output ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/check_local_by_default/__test__.jsonc b/tests/specs/test/check_local_by_default/__test__.jsonc new file mode 100644 index 000000000..602250082 --- /dev/null +++ b/tests/specs/test/check_local_by_default/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test --quiet main.ts", + "output": "main.out" +} diff --git a/tests/specs/test/check_local_by_default/main.out b/tests/specs/test/check_local_by_default/main.out new file mode 100644 index 000000000..be21aa963 --- /dev/null +++ b/tests/specs/test/check_local_by_default/main.out @@ -0,0 +1,4 @@ +running 0 tests from ./main.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/check_local_by_default/main.ts b/tests/specs/test/check_local_by_default/main.ts new file mode 100644 index 000000000..2ae8c2692 --- /dev/null +++ b/tests/specs/test/check_local_by_default/main.ts @@ -0,0 +1,3 @@ +import * as a from "http://localhost:4545/subdir/type_error.ts"; + +console.log(a.a); diff --git a/tests/specs/test/check_local_by_default2/__test__.jsonc b/tests/specs/test/check_local_by_default2/__test__.jsonc new file mode 100644 index 000000000..59774f938 --- /dev/null +++ b/tests/specs/test/check_local_by_default2/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/check_local_by_default2/main.out b/tests/specs/test/check_local_by_default2/main.out new file mode 100644 index 000000000..5b145afd2 --- /dev/null +++ b/tests/specs/test/check_local_by_default2/main.out @@ -0,0 +1,4 @@ +error: TS2322 [ERROR]: Type '12' is not assignable to type '"b"'. +const b: "b" = 12; + ^ + at [WILDCARD]/main.ts:3:7 diff --git a/tests/specs/test/check_local_by_default2/main.ts b/tests/specs/test/check_local_by_default2/main.ts new file mode 100644 index 000000000..5177ff944 --- /dev/null +++ b/tests/specs/test/check_local_by_default2/main.ts @@ -0,0 +1,6 @@ +import * as a from "http://localhost:4545/subdir/type_error.ts"; + +const b: "b" = 12; + +console.log(a.a); +console.log(b); diff --git a/tests/specs/test/clean_flag/__test__.jsonc b/tests/specs/test/clean_flag/__test__.jsonc index b94612d36..6283a44e1 100644 --- a/tests/specs/test/clean_flag/__test__.jsonc +++ b/tests/specs/test/clean_flag/__test__.jsonc @@ -1,5 +1,5 @@ { - "args": "run -A --config ../../../config/deno.json main.js", + "args": "run -A --config deno.json main.js", "exitCode": 0, "output": "main.out" } diff --git a/tests/specs/test/clean_flag/deno.json b/tests/specs/test/clean_flag/deno.json new file mode 100644 index 000000000..105514e13 --- /dev/null +++ b/tests/specs/test/clean_flag/deno.json @@ -0,0 +1,4 @@ +{ + "lock": false, + "importMap": "../../../../import_map.json" +} diff --git a/tests/specs/test/clear_timeout/__test__.jsonc b/tests/specs/test/clear_timeout/__test__.jsonc new file mode 100644 index 000000000..d7ed453a9 --- /dev/null +++ b/tests/specs/test/clear_timeout/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/clear_timeout/main.out b/tests/specs/test/clear_timeout/main.out new file mode 100644 index 000000000..be639f728 --- /dev/null +++ b/tests/specs/test/clear_timeout/main.out @@ -0,0 +1,8 @@ +Check [WILDCARD]/main.ts +running 3 tests from ./main.ts +test 1 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) +test 3 ... ok ([WILDCARD]) + +ok | 3 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/clear_timeout/main.ts b/tests/specs/test/clear_timeout/main.ts new file mode 100644 index 000000000..00056e853 --- /dev/null +++ b/tests/specs/test/clear_timeout/main.ts @@ -0,0 +1,5 @@ +clearTimeout(setTimeout(() => {}, 1000)); + +Deno.test("test 1", () => {}); +Deno.test("test 2", () => {}); +Deno.test("test 3", () => {}); diff --git a/tests/specs/test/collect/__test__.jsonc b/tests/specs/test/collect/__test__.jsonc new file mode 100644 index 000000000..3a45c41a4 --- /dev/null +++ b/tests/specs/test/collect/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --ignore=collect/ignore collect", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/collect/collect/deno.jsonc b/tests/specs/test/collect/collect/deno.jsonc new file mode 100644 index 000000000..e14ce86da --- /dev/null +++ b/tests/specs/test/collect/collect/deno.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "exclude": ["./ignore"] + } +} diff --git a/tests/specs/test/collect/collect/deno.malformed.jsonc b/tests/specs/test/collect/collect/deno.malformed.jsonc new file mode 100644 index 000000000..f2d8cbc65 --- /dev/null +++ b/tests/specs/test/collect/collect/deno.malformed.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "dont_know_this_field": {} + } +} diff --git a/tests/specs/test/collect/collect/deno2.jsonc b/tests/specs/test/collect/collect/deno2.jsonc new file mode 100644 index 000000000..b7af09d1c --- /dev/null +++ b/tests/specs/test/collect/collect/deno2.jsonc @@ -0,0 +1,6 @@ +{ + "test": { + "include": ["./include/"], + "exclude": ["./ignore", "./include/2_test.ts"] + } +} diff --git a/tests/specs/test/collect/collect/ignore/test.ts b/tests/specs/test/collect/collect/ignore/test.ts new file mode 100644 index 000000000..16fb63ba7 --- /dev/null +++ b/tests/specs/test/collect/collect/ignore/test.ts @@ -0,0 +1 @@ +throw new Error("this module should be ignored"); diff --git a/tests/specs/test/collect/collect/include.ts b/tests/specs/test/collect/collect/include.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/collect/collect/include/2_test.ts b/tests/specs/test/collect/collect/include/2_test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/collect/collect/include/test.ts b/tests/specs/test/collect/collect/include/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/collect/collect/test.ts b/tests/specs/test/collect/collect/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/collect/main.out b/tests/specs/test/collect/main.out new file mode 100644 index 000000000..13a76fc37 --- /dev/null +++ b/tests/specs/test/collect/main.out @@ -0,0 +1,9 @@ +Check [WILDCARD]/collect/include/2_test.ts +Check [WILDCARD]/collect/include/test.ts +Check [WILDCARD]/collect/test.ts +running 0 tests from [WILDCARD]/collect/include/2_test.ts +running 0 tests from [WILDCARD]/collect/include/test.ts +running 0 tests from [WILDCARD]/collect/test.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/doc/__test__.jsonc b/tests/specs/test/doc/__test__.jsonc new file mode 100644 index 000000000..095ab4c59 --- /dev/null +++ b/tests/specs/test/doc/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/doc/main.out b/tests/specs/test/doc/main.out new file mode 100644 index 000000000..b55989f96 --- /dev/null +++ b/tests/specs/test/doc/main.out @@ -0,0 +1,9 @@ +Check [WILDCARD]/main.ts$6-9.js +Check [WILDCARD]/main.ts$10-13.jsx +Check [WILDCARD]/main.ts$14-17.ts +Check [WILDCARD]/main.ts$18-21.tsx +Check [WILDCARD]/main.ts$30-35.ts +error: TS2367 [ERROR]: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap. +console.assert(check() == 42); + ~~~~~~~~~~~~~ + at [WILDCARD]/main.ts$30-35.ts:3:16 diff --git a/tests/specs/test/doc/main.ts b/tests/specs/test/doc/main.ts new file mode 100644 index 000000000..213a9f44d --- /dev/null +++ b/tests/specs/test/doc/main.ts @@ -0,0 +1,38 @@ +/** + * ``` + * import * as doc from "./main.ts"; + * ``` + * + * ```js + * import * as doc from "./main.ts"; + * ``` + * + * ```jsx + * import * as doc from "./main.ts"; + * ``` + * + * ```ts + * import * as doc from "./main.ts"; + * ``` + * + * ```tsx + * import * as doc from "./main.ts"; + * ``` + * + * ```text + * import * as doc from "./main.ts"; + * ``` + * + * @module doc + */ + +/** + * ```ts + * import { check } from "./main.ts"; + * + * console.assert(check() == 42); + * ``` + */ +export function check(): string { + return "check"; +} diff --git a/tests/specs/test/doc_only/__test__.jsonc b/tests/specs/test/doc_only/__test__.jsonc new file mode 100644 index 000000000..077b733a3 --- /dev/null +++ b/tests/specs/test/doc_only/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all doc_only", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/doc_only/doc_only/mod.ts b/tests/specs/test/doc_only/doc_only/mod.ts new file mode 100644 index 000000000..467d850a2 --- /dev/null +++ b/tests/specs/test/doc_only/doc_only/mod.ts @@ -0,0 +1,10 @@ +/** + * ```ts + * import "./mod.ts"; + * ``` + */ +Deno.test("unreachable", function () { + throw new Error( + "modules that don't end with _test are scanned for documentation tests only should not be executed", + ); +}); diff --git a/tests/specs/test/doc_only/main.out b/tests/specs/test/doc_only/main.out new file mode 100644 index 000000000..a2eff5e89 --- /dev/null +++ b/tests/specs/test/doc_only/main.out @@ -0,0 +1,4 @@ +Check [WILDCARD]/doc_only/mod.ts$2-5.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/exit_sanitizer/__test__.jsonc b/tests/specs/test/exit_sanitizer/__test__.jsonc new file mode 100644 index 000000000..79d075d67 --- /dev/null +++ b/tests/specs/test/exit_sanitizer/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test exit_sanitizer.ts", + "output": "exit_sanitizer.out", + "exitCode": 1 +} diff --git a/tests/specs/test/exit_sanitizer/exit_sanitizer.out b/tests/specs/test/exit_sanitizer/exit_sanitizer.out new file mode 100644 index 000000000..305d51cc8 --- /dev/null +++ b/tests/specs/test/exit_sanitizer/exit_sanitizer.out @@ -0,0 +1,38 @@ +Check [WILDCARD]/exit_sanitizer.ts +running 3 tests from [WILDCARD]/exit_sanitizer.ts +exit(0) ... FAILED ([WILDCARD]) +exit(1) ... FAILED ([WILDCARD]) +exit(2) ... FAILED ([WILDCARD]) + + ERRORS + +exit(0) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] +error: Error: Test case attempted to exit with exit code: 0 + Deno.exit(0); + ^ + at [WILDCARD] + at [WILDCARD]/exit_sanitizer.ts:2:8 + +exit(1) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] +error: Error: Test case attempted to exit with exit code: 1 + Deno.exit(1); + ^ + at [WILDCARD] + at [WILDCARD]/exit_sanitizer.ts:6:8 + +exit(2) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] +error: Error: Test case attempted to exit with exit code: 2 + Deno.exit(2); + ^ + at [WILDCARD] + at [WILDCARD]/exit_sanitizer.ts:10:8 + + FAILURES + +exit(0) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] +exit(1) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] +exit(2) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] + +FAILED | 0 passed | 3 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/exit_sanitizer/exit_sanitizer.ts b/tests/specs/test/exit_sanitizer/exit_sanitizer.ts new file mode 100644 index 000000000..186406a9d --- /dev/null +++ b/tests/specs/test/exit_sanitizer/exit_sanitizer.ts @@ -0,0 +1,11 @@ +Deno.test("exit(0)", function () { + Deno.exit(0); +}); + +Deno.test("exit(1)", function () { + Deno.exit(1); +}); + +Deno.test("exit(2)", function () { + Deno.exit(2); +}); diff --git a/tests/specs/test/fail/__test__.jsonc b/tests/specs/test/fail/__test__.jsonc new file mode 100644 index 000000000..2c4ae3868 --- /dev/null +++ b/tests/specs/test/fail/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/fail/main.out b/tests/specs/test/fail/main.out new file mode 100644 index 000000000..e305f93bd --- /dev/null +++ b/tests/specs/test/fail/main.out @@ -0,0 +1,91 @@ +Check [WILDCARD]/main.ts +running 10 tests from ./main.ts +test 0 ... FAILED ([WILDCARD]) +test 1 ... FAILED ([WILDCARD]) +test 2 ... FAILED ([WILDCARD]) +test 3 ... FAILED ([WILDCARD]) +test 4 ... FAILED ([WILDCARD]) +test 5 ... FAILED ([WILDCARD]) +test 6 ... FAILED ([WILDCARD]) +test 7 ... FAILED ([WILDCARD]) +test 8 ... FAILED ([WILDCARD]) +test 9 ... FAILED ([WILDCARD]) + + ERRORS + +test 0 => ./main.ts:1:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:2:9 + +test 1 => ./main.ts:4:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:5:9 + +test 2 => ./main.ts:7:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:8:9 + +test 3 => ./main.ts:10:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:11:9 + +test 4 => ./main.ts:13:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:14:9 + +test 5 => ./main.ts:16:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:17:9 + +test 6 => ./main.ts:19:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:20:9 + +test 7 => ./main.ts:22:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:23:9 + +test 8 => ./main.ts:25:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:26:9 + +test 9 => ./main.ts:28:6 +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:29:9 + + FAILURES + +test 0 => ./main.ts:1:6 +test 1 => ./main.ts:4:6 +test 2 => ./main.ts:7:6 +test 3 => ./main.ts:10:6 +test 4 => ./main.ts:13:6 +test 5 => ./main.ts:16:6 +test 6 => ./main.ts:19:6 +test 7 => ./main.ts:22:6 +test 8 => ./main.ts:25:6 +test 9 => ./main.ts:28:6 + +FAILED | 0 passed | 10 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/fail/main.ts b/tests/specs/test/fail/main.ts new file mode 100644 index 000000000..9340db556 --- /dev/null +++ b/tests/specs/test/fail/main.ts @@ -0,0 +1,30 @@ +Deno.test("test 0", () => { + throw new Error(); +}); +Deno.test("test 1", () => { + throw new Error(); +}); +Deno.test("test 2", () => { + throw new Error(); +}); +Deno.test("test 3", () => { + throw new Error(); +}); +Deno.test("test 4", () => { + throw new Error(); +}); +Deno.test("test 5", () => { + throw new Error(); +}); +Deno.test("test 6", () => { + throw new Error(); +}); +Deno.test("test 7", () => { + throw new Error(); +}); +Deno.test("test 8", () => { + throw new Error(); +}); +Deno.test("test 9", () => { + throw new Error(); +}); diff --git a/tests/specs/test/fail_fast/__test__.jsonc b/tests/specs/test/fail_fast/__test__.jsonc new file mode 100644 index 000000000..a819df39f --- /dev/null +++ b/tests/specs/test/fail_fast/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --fail-fast fail_fast.ts fail_fast_other.ts", + "exitCode": 1, + "output": "fail_fast.out" +} diff --git a/tests/specs/test/fail_fast/fail_fast.out b/tests/specs/test/fail_fast/fail_fast.out new file mode 100644 index 000000000..164c9c6a6 --- /dev/null +++ b/tests/specs/test/fail_fast/fail_fast.out @@ -0,0 +1,20 @@ +Check [WILDCARD]/fail_fast.ts +Check [WILDCARD]/fail_fast_other.ts +running 10 tests from ./fail_fast.ts +test 1 ... FAILED ([WILDCARD]) + + ERRORS + +test 1 => ./fail_fast.ts:[WILDCARD] +error: Error + throw new Error(); + ^ + at [WILDCARD]/fail_fast.ts:2:9 + + FAILURES + +test 1 => ./fail_fast.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/fail_fast/fail_fast.ts b/tests/specs/test/fail_fast/fail_fast.ts new file mode 100644 index 000000000..637e825ec --- /dev/null +++ b/tests/specs/test/fail_fast/fail_fast.ts @@ -0,0 +1,30 @@ +Deno.test("test 1", () => { + throw new Error(); +}); +Deno.test("test 2", () => { + throw new Error(); +}); +Deno.test("test 3", () => { + throw new Error(); +}); +Deno.test("test 4", () => { + throw new Error(); +}); +Deno.test("test 5", () => { + throw new Error(); +}); +Deno.test("test 6", () => { + throw new Error(); +}); +Deno.test("test 7", () => { + throw new Error(); +}); +Deno.test("test 8", () => { + throw new Error(); +}); +Deno.test("test 9", () => { + throw new Error(); +}); +Deno.test("test 0", () => { + throw new Error(); +}); diff --git a/tests/specs/test/fail_fast/fail_fast_other.ts b/tests/specs/test/fail_fast/fail_fast_other.ts new file mode 100644 index 000000000..02aa878cf --- /dev/null +++ b/tests/specs/test/fail_fast/fail_fast_other.ts @@ -0,0 +1,3 @@ +Deno.test("test 11", () => { + throw new Error(); +}); diff --git a/tests/specs/test/fail_with_contain_unicode_filename/__test__.jsonc b/tests/specs/test/fail_with_contain_unicode_filename/__test__.jsonc new file mode 100644 index 000000000..d8887f753 --- /dev/null +++ b/tests/specs/test/fail_with_contain_unicode_filename/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/fail_with_contain_unicode_filename/main.out b/tests/specs/test/fail_with_contain_unicode_filename/main.out new file mode 100644 index 000000000..5cea77dc0 --- /dev/null +++ b/tests/specs/test/fail_with_contain_unicode_filename/main.out @@ -0,0 +1,19 @@ +Check [WILDCARD]/main.ts +running 1 test from ./main.ts +test 0 ... FAILED ([WILDCARD]) + + ERRORS + +test 0 => ./main.ts:[WILDCARD] +error: Error + throw new Error(); + ^ + at [WILDCARD]/main.ts:[WILDCARD] + + FAILURES + +test 0 => ./main.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/fail_with_contain_unicode_filename/main.ts b/tests/specs/test/fail_with_contain_unicode_filename/main.ts new file mode 100644 index 000000000..9fe04c131 --- /dev/null +++ b/tests/specs/test/fail_with_contain_unicode_filename/main.ts @@ -0,0 +1,3 @@ +Deno.test("test 0", () => { + throw new Error(); +}); diff --git a/tests/specs/test/file_protocol/__test__.jsonc b/tests/specs/test/file_protocol/__test__.jsonc new file mode 100644 index 000000000..931a8c64e --- /dev/null +++ b/tests/specs/test/file_protocol/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test main.ts", + "output": "main.out" +} diff --git a/tests/specs/test/file_protocol/main.out b/tests/specs/test/file_protocol/main.out new file mode 100644 index 000000000..d02b728d1 --- /dev/null +++ b/tests/specs/test/file_protocol/main.out @@ -0,0 +1,6 @@ +Check file://[WILDCARD]/main.ts +running 1 test from ./main.ts +test 0 ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/file_protocol/main.ts b/tests/specs/test/file_protocol/main.ts new file mode 100644 index 000000000..79128c2b3 --- /dev/null +++ b/tests/specs/test/file_protocol/main.ts @@ -0,0 +1 @@ +Deno.test("test 0", () => {}); diff --git a/tests/specs/test/filter/__test__.jsonc b/tests/specs/test/filter/__test__.jsonc new file mode 100644 index 000000000..b7c1bb9fe --- /dev/null +++ b/tests/specs/test/filter/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --filter=foo filter", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/filter/filter/a_test.ts b/tests/specs/test/filter/filter/a_test.ts new file mode 100644 index 000000000..a3f32968a --- /dev/null +++ b/tests/specs/test/filter/filter/a_test.ts @@ -0,0 +1,3 @@ +Deno.test("foo", function () {}); +Deno.test("bar", function () {}); +Deno.test("baz", function () {}); diff --git a/tests/specs/test/filter/filter/b_test.ts b/tests/specs/test/filter/filter/b_test.ts new file mode 100644 index 000000000..a3f32968a --- /dev/null +++ b/tests/specs/test/filter/filter/b_test.ts @@ -0,0 +1,3 @@ +Deno.test("foo", function () {}); +Deno.test("bar", function () {}); +Deno.test("baz", function () {}); diff --git a/tests/specs/test/filter/filter/c_test.ts b/tests/specs/test/filter/filter/c_test.ts new file mode 100644 index 000000000..a3f32968a --- /dev/null +++ b/tests/specs/test/filter/filter/c_test.ts @@ -0,0 +1,3 @@ +Deno.test("foo", function () {}); +Deno.test("bar", function () {}); +Deno.test("baz", function () {}); diff --git a/tests/specs/test/filter/main.out b/tests/specs/test/filter/main.out new file mode 100644 index 000000000..605214b8e --- /dev/null +++ b/tests/specs/test/filter/main.out @@ -0,0 +1,12 @@ +Check [WILDCARD]/filter/a_test.ts +Check [WILDCARD]/filter/b_test.ts +Check [WILDCARD]/filter/c_test.ts +running 1 test from [WILDCARD]/filter/a_test.ts +foo ... ok ([WILDCARD]) +running 1 test from [WILDCARD]/filter/b_test.ts +foo ... ok ([WILDCARD]) +running 1 test from [WILDCARD]/filter/c_test.ts +foo ... ok ([WILDCARD]) + +ok | 3 passed | 0 failed | 6 filtered out ([WILDCARD]) + diff --git a/tests/specs/test/finally_timeout/__test__.jsonc b/tests/specs/test/finally_timeout/__test__.jsonc new file mode 100644 index 000000000..2c4ae3868 --- /dev/null +++ b/tests/specs/test/finally_timeout/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/finally_timeout/main.out b/tests/specs/test/finally_timeout/main.out new file mode 100644 index 000000000..cdc081f47 --- /dev/null +++ b/tests/specs/test/finally_timeout/main.out @@ -0,0 +1,20 @@ +Check [WILDCARD]/main.ts +running 2 tests from ./main.ts +error ... FAILED ([WILDCARD]) +success ... ok ([WILDCARD]) + + ERRORS + +error => ./main.ts:[WILDCARD] +error: Error: fail + throw new Error("fail"); + ^ + at [WILDCARD]/main.ts:4:11 + + FAILURES + +error => ./main.ts:[WILDCARD] + +FAILED | 1 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/finally_timeout/main.ts b/tests/specs/test/finally_timeout/main.ts new file mode 100644 index 000000000..dcc0a4d64 --- /dev/null +++ b/tests/specs/test/finally_timeout/main.ts @@ -0,0 +1,11 @@ +Deno.test("error", function () { + const timer = setTimeout(() => null, 10000); + try { + throw new Error("fail"); + } finally { + clearTimeout(timer); + } +}); + +Deno.test("success", function () { +}); diff --git a/tests/specs/test/hide_empty_suites/__test__.jsonc b/tests/specs/test/hide_empty_suites/__test__.jsonc new file mode 100644 index 000000000..4abef9205 --- /dev/null +++ b/tests/specs/test/hide_empty_suites/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --filter none main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/hide_empty_suites/main.out b/tests/specs/test/hide_empty_suites/main.out new file mode 100644 index 000000000..bfc30e084 --- /dev/null +++ b/tests/specs/test/hide_empty_suites/main.out @@ -0,0 +1,4 @@ +Check [WILDCARD]/main.ts + +ok | 0 passed | 0 failed | 16 filtered out ([WILDCARD]) + diff --git a/tests/specs/test/hide_empty_suites/main.ts b/tests/specs/test/hide_empty_suites/main.ts new file mode 100644 index 000000000..c4c0f45dc --- /dev/null +++ b/tests/specs/test/hide_empty_suites/main.ts @@ -0,0 +1,37 @@ +Deno.test("test 0", () => {}); +Deno.test("test 1", () => {}); +Deno.test("test 2", () => {}); +Deno.test("test 3", () => {}); +Deno.test("test 4", () => {}); +Deno.test("test 5", () => {}); +Deno.test("test 6", () => {}); +Deno.test("test 7", () => {}); +Deno.test("test 8", () => { + console.log("console.log"); +}); +Deno.test("test 9", () => { + console.error("console.error"); +}); + +Deno.test("test\b", () => { + console.error("console.error"); +}); +Deno.test("test\f", () => { + console.error("console.error"); +}); + +Deno.test("test\t", () => { + console.error("console.error"); +}); + +Deno.test("test\n", () => { + console.error("console.error"); +}); + +Deno.test("test\r", () => { + console.error("console.error"); +}); + +Deno.test("test\v", () => { + console.error("console.error"); +}); diff --git a/tests/specs/test/ignore/__test__.jsonc b/tests/specs/test/ignore/__test__.jsonc new file mode 100644 index 000000000..e1ed1b926 --- /dev/null +++ b/tests/specs/test/ignore/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/ignore/main.out b/tests/specs/test/ignore/main.out new file mode 100644 index 000000000..390d4f916 --- /dev/null +++ b/tests/specs/test/ignore/main.out @@ -0,0 +1,15 @@ +Check [WILDCARD]/main.ts +running 10 tests from ./main.ts +test 0 ... ignored ([WILDCARD]) +test 1 ... ignored ([WILDCARD]) +test 2 ... ignored ([WILDCARD]) +test 3 ... ignored ([WILDCARD]) +test 4 ... ignored ([WILDCARD]) +test 5 ... ignored ([WILDCARD]) +test 6 ... ignored ([WILDCARD]) +test 7 ... ignored ([WILDCARD]) +test 8 ... ignored ([WILDCARD]) +test 9 ... ignored ([WILDCARD]) + +ok | 0 passed | 0 failed | 10 ignored ([WILDCARD]) + diff --git a/tests/specs/test/ignore/main.ts b/tests/specs/test/ignore/main.ts new file mode 100644 index 000000000..2339835db --- /dev/null +++ b/tests/specs/test/ignore/main.ts @@ -0,0 +1,17 @@ +for (let i = 0; i < 5; i++) { + Deno.test({ + name: `test ${i}`, + ignore: true, + fn() { + throw new Error("unreachable"); + }, + }); +} +for (let i = 5; i < 10; i++) { + Deno.test.ignore({ + name: `test ${i}`, + fn() { + throw new Error("unreachable"); + }, + }); +} diff --git a/tests/specs/test/ignore_persmissions/__test__.jsonc b/tests/specs/test/ignore_persmissions/__test__.jsonc new file mode 100644 index 000000000..e1ed1b926 --- /dev/null +++ b/tests/specs/test/ignore_persmissions/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/ignore_persmissions/main.out b/tests/specs/test/ignore_persmissions/main.out new file mode 100644 index 000000000..d5cec67c0 --- /dev/null +++ b/tests/specs/test/ignore_persmissions/main.out @@ -0,0 +1,6 @@ +Check [WILDCARD]/main.ts +running 1 test from ./main.ts +ignore ... ignored ([WILDCARD]) + +ok | 0 passed | 0 failed | 1 ignored ([WILDCARD]) + diff --git a/tests/specs/test/ignore_persmissions/main.ts b/tests/specs/test/ignore_persmissions/main.ts new file mode 100644 index 000000000..e9ade6dfe --- /dev/null +++ b/tests/specs/test/ignore_persmissions/main.ts @@ -0,0 +1,15 @@ +Deno.test({ + name: "ignore", + permissions: { + read: true, + write: true, + net: true, + env: true, + run: true, + ffi: true, + }, + ignore: true, + fn() { + throw new Error("unreachable"); + }, +}); diff --git a/tests/specs/test/interval/__test__.jsonc b/tests/specs/test/interval/__test__.jsonc new file mode 100644 index 000000000..e1ed1b926 --- /dev/null +++ b/tests/specs/test/interval/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/interval/main.out b/tests/specs/test/interval/main.out new file mode 100644 index 000000000..7e5ef2914 --- /dev/null +++ b/tests/specs/test/interval/main.out @@ -0,0 +1,5 @@ +Check [WILDCARD]/main.ts +running 0 tests from ./main.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/interval/main.ts b/tests/specs/test/interval/main.ts new file mode 100644 index 000000000..7eb588c59 --- /dev/null +++ b/tests/specs/test/interval/main.ts @@ -0,0 +1 @@ +setInterval(function () {}, 0); diff --git a/tests/specs/test/junit/__test__.jsonc b/tests/specs/test/junit/__test__.jsonc new file mode 100644 index 000000000..5e91e5287 --- /dev/null +++ b/tests/specs/test/junit/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test --reporter junit main.ts", + "output": "main.out" +} diff --git a/tests/specs/test/junit/main.out b/tests/specs/test/junit/main.out new file mode 100644 index 000000000..ca9558118 --- /dev/null +++ b/tests/specs/test/junit/main.out @@ -0,0 +1,38 @@ +Check file:///[WILDCARD]/main.ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/specs/test/junit/main.ts b/tests/specs/test/junit/main.ts new file mode 100644 index 000000000..c4c0f45dc --- /dev/null +++ b/tests/specs/test/junit/main.ts @@ -0,0 +1,37 @@ +Deno.test("test 0", () => {}); +Deno.test("test 1", () => {}); +Deno.test("test 2", () => {}); +Deno.test("test 3", () => {}); +Deno.test("test 4", () => {}); +Deno.test("test 5", () => {}); +Deno.test("test 6", () => {}); +Deno.test("test 7", () => {}); +Deno.test("test 8", () => { + console.log("console.log"); +}); +Deno.test("test 9", () => { + console.error("console.error"); +}); + +Deno.test("test\b", () => { + console.error("console.error"); +}); +Deno.test("test\f", () => { + console.error("console.error"); +}); + +Deno.test("test\t", () => { + console.error("console.error"); +}); + +Deno.test("test\n", () => { + console.error("console.error"); +}); + +Deno.test("test\r", () => { + console.error("console.error"); +}); + +Deno.test("test\v", () => { + console.error("console.error"); +}); diff --git a/tests/specs/test/junit_multiple_test_files/__test__.jsonc b/tests/specs/test/junit_multiple_test_files/__test__.jsonc new file mode 100644 index 000000000..d9b01bcb4 --- /dev/null +++ b/tests/specs/test/junit_multiple_test_files/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter junit pass.ts fail.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/junit_multiple_test_files/fail.ts b/tests/specs/test/junit_multiple_test_files/fail.ts new file mode 100644 index 000000000..9340db556 --- /dev/null +++ b/tests/specs/test/junit_multiple_test_files/fail.ts @@ -0,0 +1,30 @@ +Deno.test("test 0", () => { + throw new Error(); +}); +Deno.test("test 1", () => { + throw new Error(); +}); +Deno.test("test 2", () => { + throw new Error(); +}); +Deno.test("test 3", () => { + throw new Error(); +}); +Deno.test("test 4", () => { + throw new Error(); +}); +Deno.test("test 5", () => { + throw new Error(); +}); +Deno.test("test 6", () => { + throw new Error(); +}); +Deno.test("test 7", () => { + throw new Error(); +}); +Deno.test("test 8", () => { + throw new Error(); +}); +Deno.test("test 9", () => { + throw new Error(); +}); diff --git a/tests/specs/test/junit_multiple_test_files/main.out b/tests/specs/test/junit_multiple_test_files/main.out new file mode 100644 index 000000000..4ca962fd8 --- /dev/null +++ b/tests/specs/test/junit_multiple_test_files/main.out @@ -0,0 +1,102 @@ +Check file:///[WILDCARD]/pass.ts +Check file:///[WILDCARD]/fail.ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:2:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:5:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:8:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:11:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:14:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:17:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:20:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:23:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:26:9 + + + Error + throw new Error(); + ^ + at file:///[WILDCARD]/fail.ts:29:9 + + + +error: Test failed diff --git a/tests/specs/test/junit_multiple_test_files/pass.ts b/tests/specs/test/junit_multiple_test_files/pass.ts new file mode 100644 index 000000000..c4c0f45dc --- /dev/null +++ b/tests/specs/test/junit_multiple_test_files/pass.ts @@ -0,0 +1,37 @@ +Deno.test("test 0", () => {}); +Deno.test("test 1", () => {}); +Deno.test("test 2", () => {}); +Deno.test("test 3", () => {}); +Deno.test("test 4", () => {}); +Deno.test("test 5", () => {}); +Deno.test("test 6", () => {}); +Deno.test("test 7", () => {}); +Deno.test("test 8", () => { + console.log("console.log"); +}); +Deno.test("test 9", () => { + console.error("console.error"); +}); + +Deno.test("test\b", () => { + console.error("console.error"); +}); +Deno.test("test\f", () => { + console.error("console.error"); +}); + +Deno.test("test\t", () => { + console.error("console.error"); +}); + +Deno.test("test\n", () => { + console.error("console.error"); +}); + +Deno.test("test\r", () => { + console.error("console.error"); +}); + +Deno.test("test\v", () => { + console.error("console.error"); +}); diff --git a/tests/specs/test/junit_nested/__test__.jsonc b/tests/specs/test/junit_nested/__test__.jsonc new file mode 100644 index 000000000..79b73474d --- /dev/null +++ b/tests/specs/test/junit_nested/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter junit main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/junit_nested/main.out b/tests/specs/test/junit_nested/main.out new file mode 100644 index 000000000..f2ac00f29 --- /dev/null +++ b/tests/specs/test/junit_nested/main.out @@ -0,0 +1,47 @@ +Check file:///[WILDCARD]/main.ts + + + + + 1 test step failed. + + + 2 test steps failed. + + + + + + + Error: Fail. + throw new Error("Fail."); + ^ + at file:///[WILDCARD]/main.ts:4:11 + [WILDCARD] + + + 1 test step failed. + + + + + Error: Fail. + throw new Error("Fail."); + ^ + at file:///[WILDCARD]/main.ts:12:13 + [WILDCARD] + + + Error: Fail. + throw new Error("Fail."); + ^ + at file:///[WILDCARD]/main.ts:16:11 + [WILDCARD] + + + + + + + +error: Test failed diff --git a/tests/specs/test/junit_nested/main.ts b/tests/specs/test/junit_nested/main.ts new file mode 100644 index 000000000..128e48aef --- /dev/null +++ b/tests/specs/test/junit_nested/main.ts @@ -0,0 +1,23 @@ +Deno.test("parent 1", async (t) => { + await t.step("child 1", () => {}); + await t.step("child 2", () => { + throw new Error("Fail."); + }); +}); + +Deno.test("parent 2", async (t) => { + await t.step("child 1", async (t) => { + await t.step("grandchild 1", () => {}); + await t.step("grandchild 2", () => { + throw new Error("Fail."); + }); + }); + await t.step("child 2", () => { + throw new Error("Fail."); + }); +}); + +Deno.test("parent 3", async (t) => { + await t.step("child 1", () => {}); + await t.step("child 2", () => {}); +}); diff --git a/tests/specs/test/load_unload/__test__.jsonc b/tests/specs/test/load_unload/__test__.jsonc new file mode 100644 index 000000000..e1ed1b926 --- /dev/null +++ b/tests/specs/test/load_unload/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/load_unload/main.out b/tests/specs/test/load_unload/main.out new file mode 100644 index 000000000..6a818d911 --- /dev/null +++ b/tests/specs/test/load_unload/main.out @@ -0,0 +1,16 @@ +Check [WILDCARD]/main.ts +------- pre-test output ------- +load +----- pre-test output end ----- +running 1 test from [WILDCARD]/main.ts +test ... +------- output ------- +test +----- output end ----- +test ... ok ([WILDCARD]) +------- post-test output ------- +unload +----- post-test output end ----- + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/load_unload/main.ts b/tests/specs/test/load_unload/main.ts new file mode 100644 index 000000000..5027b949a --- /dev/null +++ b/tests/specs/test/load_unload/main.ts @@ -0,0 +1,25 @@ +let interval: number | null = null; +addEventListener("load", () => { + if (interval) { + throw new Error("Interval is already set"); + } + + console.log("load"); + interval = setInterval(() => {}, 0); +}); + +addEventListener("unload", () => { + if (!interval) { + throw new Error("Interval was not set"); + } + + console.log("unload"); + clearInterval(interval); +}); + +Deno.test("test", () => { + console.log("test"); + if (!interval) { + throw new Error("Interval was not set"); + } +}); diff --git a/tests/specs/test/markdown/__test__.jsonc b/tests/specs/test/markdown/__test__.jsonc new file mode 100644 index 000000000..558106d55 --- /dev/null +++ b/tests/specs/test/markdown/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.md", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/markdown/main.md b/tests/specs/test/markdown/main.md new file mode 100644 index 000000000..d18dbd108 --- /dev/null +++ b/tests/specs/test/markdown/main.md @@ -0,0 +1,31 @@ +# Documentation + +The following block does not have a language attribute and should be ignored: + +``` +This is a fenced block without attributes, it's invalid and it should be ignored. +``` + +The following block should be given a js extension on extraction: + +```js +console.log("js"); +``` + +The following block should be given a ts extension on extraction: + +```ts +console.log("ts"); +``` + +The following example contains the ignore attribute and will be ignored: + +```ts ignore +const value: Invalid = "ignored"; +``` + +The following example will trigger the type-checker to fail: + +```ts +const a: string = 42; +``` diff --git a/tests/specs/test/markdown/main.out b/tests/specs/test/markdown/main.out new file mode 100644 index 000000000..30327c72f --- /dev/null +++ b/tests/specs/test/markdown/main.out @@ -0,0 +1,7 @@ +Check [WILDCARD]/main.md$11-14.js +Check [WILDCARD]/main.md$17-20.ts +Check [WILDCARD]/main.md$29-32.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const a: string = 42; + ^ + at [WILDCARD]/main.md$29-32.ts:1:7 diff --git a/tests/specs/test/markdown_full_block_names/__test__.jsonc b/tests/specs/test/markdown_full_block_names/__test__.jsonc new file mode 100644 index 000000000..558106d55 --- /dev/null +++ b/tests/specs/test/markdown_full_block_names/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.md", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/markdown_full_block_names/main.md b/tests/specs/test/markdown_full_block_names/main.md new file mode 100644 index 000000000..4f9e1ea51 --- /dev/null +++ b/tests/specs/test/markdown_full_block_names/main.md @@ -0,0 +1,19 @@ +# Documentation + +The following block should be given a js extension on extraction: + +```javascript +console.log("js"); +``` + +The following example contains the ignore attribute and will be ignored: + +```typescript ignore +const value: Invalid = "ignored"; +``` + +The following example will trigger the type-checker to fail: + +```typescript +const a: string = 42; +``` diff --git a/tests/specs/test/markdown_full_block_names/main.out b/tests/specs/test/markdown_full_block_names/main.out new file mode 100644 index 000000000..9e64522dd --- /dev/null +++ b/tests/specs/test/markdown_full_block_names/main.out @@ -0,0 +1,6 @@ +Check [WILDCARD]/main.md$5-8.js +Check [WILDCARD]/main.md$17-20.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const a: string = 42; + ^ + at [WILDCARD]/main.md$17-20.ts:1:7 diff --git a/tests/specs/test/markdown_ignore_html_comment/__test__.jsonc b/tests/specs/test/markdown_ignore_html_comment/__test__.jsonc new file mode 100644 index 000000000..558106d55 --- /dev/null +++ b/tests/specs/test/markdown_ignore_html_comment/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.md", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/markdown_ignore_html_comment/main.md b/tests/specs/test/markdown_ignore_html_comment/main.md new file mode 100644 index 000000000..886e88103 --- /dev/null +++ b/tests/specs/test/markdown_ignore_html_comment/main.md @@ -0,0 +1,36 @@ +# Documentation + +The following examples are inside HTML comments and will not trigger the +type-checker: + + + + + + + +The following example will trigger the type-checker to fail: + +```ts +const a: string = 42; +``` diff --git a/tests/specs/test/markdown_ignore_html_comment/main.out b/tests/specs/test/markdown_ignore_html_comment/main.out new file mode 100644 index 000000000..4de738845 --- /dev/null +++ b/tests/specs/test/markdown_ignore_html_comment/main.out @@ -0,0 +1,5 @@ +Check [WILDCARD]/main.md$34-37.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const a: string = 42; + ^ + at [WILDCARD]/main.md$34-37.ts:1:7 diff --git a/tests/specs/test/markdown_windows/__test__.jsonc b/tests/specs/test/markdown_windows/__test__.jsonc new file mode 100644 index 000000000..558106d55 --- /dev/null +++ b/tests/specs/test/markdown_windows/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.md", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/markdown_windows/main.md b/tests/specs/test/markdown_windows/main.md new file mode 100644 index 000000000..d18dbd108 --- /dev/null +++ b/tests/specs/test/markdown_windows/main.md @@ -0,0 +1,31 @@ +# Documentation + +The following block does not have a language attribute and should be ignored: + +``` +This is a fenced block without attributes, it's invalid and it should be ignored. +``` + +The following block should be given a js extension on extraction: + +```js +console.log("js"); +``` + +The following block should be given a ts extension on extraction: + +```ts +console.log("ts"); +``` + +The following example contains the ignore attribute and will be ignored: + +```ts ignore +const value: Invalid = "ignored"; +``` + +The following example will trigger the type-checker to fail: + +```ts +const a: string = 42; +``` diff --git a/tests/specs/test/markdown_windows/main.out b/tests/specs/test/markdown_windows/main.out new file mode 100644 index 000000000..30327c72f --- /dev/null +++ b/tests/specs/test/markdown_windows/main.out @@ -0,0 +1,7 @@ +Check [WILDCARD]/main.md$11-14.js +Check [WILDCARD]/main.md$17-20.ts +Check [WILDCARD]/main.md$29-32.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const a: string = 42; + ^ + at [WILDCARD]/main.md$29-32.ts:1:7 diff --git a/tests/specs/test/meta/__test__.jsonc b/tests/specs/test/meta/__test__.jsonc new file mode 100644 index 000000000..e1ed1b926 --- /dev/null +++ b/tests/specs/test/meta/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/meta/main.out b/tests/specs/test/meta/main.out new file mode 100644 index 000000000..06a0daa7b --- /dev/null +++ b/tests/specs/test/meta/main.out @@ -0,0 +1,11 @@ +Check [WILDCARD]/main.ts +running 1 test from ./main.ts +check values ... +------- output ------- +import.meta.main: false +import.meta.url: [WILDCARD]/main.ts +----- output end ----- +check values ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/meta/main.ts b/tests/specs/test/meta/main.ts new file mode 100644 index 000000000..f2433a96d --- /dev/null +++ b/tests/specs/test/meta/main.ts @@ -0,0 +1,7 @@ +const main = import.meta.main; +const url = import.meta.url; + +Deno.test("check values", () => { + console.log("import.meta.main: %s", main); + console.log("import.meta.url: %s", url); +}); diff --git a/tests/specs/test/no_check/__test__.jsonc b/tests/specs/test/no_check/__test__.jsonc new file mode 100644 index 000000000..3d0c74336 --- /dev/null +++ b/tests/specs/test/no_check/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --no-check main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/no_check/main.out b/tests/specs/test/no_check/main.out new file mode 100644 index 000000000..cd9e7d0fa --- /dev/null +++ b/tests/specs/test/no_check/main.out @@ -0,0 +1,19 @@ +Uncaught error from ./main.ts FAILED + + ERRORS + +./main.ts (uncaught error) +error: (in promise) TypeError: Cannot read properties of undefined (reading 'fn') +Deno.test(); + ^ + at [WILDCARD] +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + + FAILURES + +./main.ts (uncaught error) + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/no_check/main.ts b/tests/specs/test/no_check/main.ts new file mode 100644 index 000000000..79d75f989 --- /dev/null +++ b/tests/specs/test/no_check/main.ts @@ -0,0 +1 @@ +Deno.test(); diff --git a/tests/specs/test/no_color/__test__.jsonc b/tests/specs/test/no_color/__test__.jsonc new file mode 100644 index 000000000..154baa8c1 --- /dev/null +++ b/tests/specs/test/no_color/__test__.jsonc @@ -0,0 +1,8 @@ +{ + "args": "test main.ts", + "exitCode": 1, + "envs": { + "NO_COLOR": "1" + }, + "output": "main.out" +} diff --git a/tests/specs/test/no_color/main.out b/tests/specs/test/no_color/main.out new file mode 100644 index 000000000..834bbaf6e --- /dev/null +++ b/tests/specs/test/no_color/main.out @@ -0,0 +1,21 @@ +Check [WILDCARD]/main.ts +running 3 tests from ./main.ts +success ... ok ([WILDCARD]) +fail ... FAILED ([WILDCARD]) +ignored ... ignored ([WILDCARD]) + + ERRORS + +fail => ./main.ts:6:6 +error: Error: fail + throw new Error("fail"); + ^ + at fn ([WILDCARD]/main.ts:9:11) + + FAILURES + +fail => ./main.ts:6:6 + +FAILED | 1 passed | 1 failed | 1 ignored ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/no_color/main.ts b/tests/specs/test/no_color/main.ts new file mode 100644 index 000000000..38c531ee9 --- /dev/null +++ b/tests/specs/test/no_color/main.ts @@ -0,0 +1,17 @@ +Deno.test({ + name: "success", + fn() {}, +}); + +Deno.test({ + name: "fail", + fn() { + throw new Error("fail"); + }, +}); + +Deno.test({ + name: "ignored", + ignore: true, + fn() {}, +}); diff --git a/tests/specs/test/no_prompt_by_default/__test__.jsonc b/tests/specs/test/no_prompt_by_default/__test__.jsonc new file mode 100644 index 000000000..a02376f87 --- /dev/null +++ b/tests/specs/test/no_prompt_by_default/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/no_prompt_by_default/main.out b/tests/specs/test/no_prompt_by_default/main.out new file mode 100644 index 000000000..e0d1290ec --- /dev/null +++ b/tests/specs/test/no_prompt_by_default/main.out @@ -0,0 +1,16 @@ +running 1 test from ./main.ts +no prompt ... FAILED ([WILDCARD]s) + + ERRORS + +no prompt => ./main.ts:[WILDCARD] +error: NotCapable: Requires read access to "./some_file.txt", run again with the --allow-read flag +[WILDCARD] + + FAILURES + +no prompt => ./main.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]s) + +error: Test failed diff --git a/tests/specs/test/no_prompt_by_default/main.ts b/tests/specs/test/no_prompt_by_default/main.ts new file mode 100644 index 000000000..83837825d --- /dev/null +++ b/tests/specs/test/no_prompt_by_default/main.ts @@ -0,0 +1,3 @@ +Deno.test("no prompt", async () => { + await Deno.readTextFile("./some_file.txt"); +}); diff --git a/tests/specs/test/no_prompt_with_denied_perms/__test__.jsonc b/tests/specs/test/no_prompt_with_denied_perms/__test__.jsonc new file mode 100644 index 000000000..26050de00 --- /dev/null +++ b/tests/specs/test/no_prompt_with_denied_perms/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet --allow-read main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/no_prompt_with_denied_perms/main.out b/tests/specs/test/no_prompt_with_denied_perms/main.out new file mode 100644 index 000000000..e0d1290ec --- /dev/null +++ b/tests/specs/test/no_prompt_with_denied_perms/main.out @@ -0,0 +1,16 @@ +running 1 test from ./main.ts +no prompt ... FAILED ([WILDCARD]s) + + ERRORS + +no prompt => ./main.ts:[WILDCARD] +error: NotCapable: Requires read access to "./some_file.txt", run again with the --allow-read flag +[WILDCARD] + + FAILURES + +no prompt => ./main.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]s) + +error: Test failed diff --git a/tests/specs/test/no_prompt_with_denied_perms/main.ts b/tests/specs/test/no_prompt_with_denied_perms/main.ts new file mode 100644 index 000000000..7fe5577cb --- /dev/null +++ b/tests/specs/test/no_prompt_with_denied_perms/main.ts @@ -0,0 +1,3 @@ +Deno.test("no prompt", { permissions: { read: false } }, async () => { + await Deno.readTextFile("./some_file.txt"); +}); diff --git a/tests/specs/test/no_run/__test__.jsonc b/tests/specs/test/no_run/__test__.jsonc new file mode 100644 index 000000000..6a6d714ee --- /dev/null +++ b/tests/specs/test/no_run/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --no-run main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/no_run/main.out b/tests/specs/test/no_run/main.out new file mode 100644 index 000000000..ff9884943 --- /dev/null +++ b/tests/specs/test/no_run/main.out @@ -0,0 +1,5 @@ +Check [WILDCARD]/main.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const _value: string = 1; + ~~~~~~ + at [WILDCARD]/main.ts:1:7 diff --git a/tests/specs/test/no_run/main.ts b/tests/specs/test/no_run/main.ts new file mode 100644 index 000000000..b75915753 --- /dev/null +++ b/tests/specs/test/no_run/main.ts @@ -0,0 +1 @@ +const _value: string = 1; diff --git a/tests/specs/test/non_error_thrown/__test__.jsonc b/tests/specs/test/non_error_thrown/__test__.jsonc new file mode 100644 index 000000000..a02376f87 --- /dev/null +++ b/tests/specs/test/non_error_thrown/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/non_error_thrown/main.out b/tests/specs/test/non_error_thrown/main.out new file mode 100644 index 000000000..7e0de8028 --- /dev/null +++ b/tests/specs/test/non_error_thrown/main.out @@ -0,0 +1,40 @@ +running 6 tests from [WILDCARD]/main.ts +foo ... FAILED ([WILDCARD]) +bar ... FAILED ([WILDCARD]) +baz ... FAILED ([WILDCARD]) +qux ... FAILED ([WILDCARD]) +quux ... FAILED ([WILDCARD]) +quuz ... FAILED ([WILDCARD]) + + ERRORS + +foo => [WILDCARD]/main.ts:1:6 +error: undefined + +bar => [WILDCARD]/main.ts:5:6 +error: null + +baz => [WILDCARD]/main.ts:9:6 +error: 123 + +qux => [WILDCARD]/main.ts:13:6 +error: "Hello, world!" + +quux => [WILDCARD]/main.ts:17:6 +error: [ 1, 2, 3 ] + +quuz => [WILDCARD]/main.ts:21:6 +error: { a: "Hello, world!", b: [ 1, 2, 3 ] } + + FAILURES + +foo => [WILDCARD]/main.ts:1:6 +bar => [WILDCARD]/main.ts:5:6 +baz => [WILDCARD]/main.ts:9:6 +qux => [WILDCARD]/main.ts:13:6 +quux => [WILDCARD]/main.ts:17:6 +quuz => [WILDCARD]/main.ts:21:6 + +FAILED | 0 passed | 6 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/non_error_thrown/main.ts b/tests/specs/test/non_error_thrown/main.ts new file mode 100644 index 000000000..85dc8d179 --- /dev/null +++ b/tests/specs/test/non_error_thrown/main.ts @@ -0,0 +1,23 @@ +Deno.test("foo", () => { + throw undefined; +}); + +Deno.test("bar", () => { + throw null; +}); + +Deno.test("baz", () => { + throw 123; +}); + +Deno.test("qux", () => { + throw "Hello, world!"; +}); + +Deno.test("quux", () => { + throw [1, 2, 3]; +}); + +Deno.test("quuz", () => { + throw { a: "Hello, world!", b: [1, 2, 3] }; +}); diff --git a/tests/specs/test/only/__test__.jsonc b/tests/specs/test/only/__test__.jsonc new file mode 100644 index 000000000..2c4ae3868 --- /dev/null +++ b/tests/specs/test/only/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/only/main.out b/tests/specs/test/only/main.out new file mode 100644 index 000000000..e1c745bcd --- /dev/null +++ b/tests/specs/test/only/main.out @@ -0,0 +1,8 @@ +Check [WILDCARD]/main.ts +running 2 tests from ./main.ts +only ... ok ([WILDCARD]) +only2 ... ok ([WILDCARD]) + +ok | 2 passed | 0 failed | 2 filtered out ([WILDCARD]) + +error: Test failed because the "only" option was used diff --git a/tests/specs/test/only/main.ts b/tests/specs/test/only/main.ts new file mode 100644 index 000000000..26b4cd425 --- /dev/null +++ b/tests/specs/test/only/main.ts @@ -0,0 +1,20 @@ +Deno.test({ + name: "before", + fn() {}, +}); + +Deno.test({ + only: true, + name: "only", + fn() {}, +}); + +Deno.test.only({ + name: "only2", + fn() {}, +}); + +Deno.test({ + name: "after", + fn() {}, +}); diff --git a/tests/specs/test/ops_sanitizer_closed_inside_started_before/__test__.jsonc b/tests/specs/test/ops_sanitizer_closed_inside_started_before/__test__.jsonc new file mode 100644 index 000000000..a427ea6b8 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_closed_inside_started_before/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --trace-leaks ops_sanitizer_closed_inside_started_before.ts", + "exitCode": 1, + "output": "ops_sanitizer_closed_inside_started_before.out" +} diff --git a/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out new file mode 100644 index 000000000..ffccd8422 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out @@ -0,0 +1,19 @@ +Check [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts +running 1 test from [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts +test 1 ... FAILED [WILDCARD] + + ERRORS + +test 1 => [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] +error: Leaks detected: + - A timer was started before the test, but completed during the test. Intervals and timers should not complete in a test if they were not started in that test. This is often caused by not calling `clearTimeout`. The operation was started here: + at [WILDCARD] + at [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] + + FAILURES + +test 1 => [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed [WILDCARD] + +error: Test failed diff --git a/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts new file mode 100644 index 000000000..97d3d72c8 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts @@ -0,0 +1,5 @@ +const timer = setTimeout(() => {}, 10000000000); + +Deno.test("test 1", () => { + clearTimeout(timer); +}); diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests/__test__.jsonc b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/__test__.jsonc new file mode 100644 index 000000000..71776d566 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --trace-leaks ops_sanitizer_multiple_timeout_tests.ts", + "exitCode": 1, + "output": "ops_sanitizer_multiple_timeout_tests.out" +} diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out new file mode 100644 index 000000000..38d7fbb52 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out @@ -0,0 +1,45 @@ +Check [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts +running 2 tests from [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts +test 1 ... FAILED ([WILDCARD]) +test 2 ... FAILED ([WILDCARD]) + + ERRORS + +test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +error: Leaks detected: + - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: + at [WILDCARD] + at setTimeout ([WILDCARD]) + at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) + at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:8:27 + at [WILDCARD] + - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: + at [WILDCARD] + at setTimeout ([WILDCARD]) + at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) + at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:8:27 + at [WILDCARD] + +test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +error: Leaks detected: + - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: + at [WILDCARD] + at setTimeout ([WILDCARD]) + at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) + at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:10:27 + at [WILDCARD] + - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: + at [WILDCARD] + at setTimeout ([WILDCARD]) + at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) + at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:10:27 + at [WILDCARD] + + FAILURES + +test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] + +FAILED | 0 passed | 2 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts new file mode 100644 index 000000000..1f52d481f --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts @@ -0,0 +1,10 @@ +// https://github.com/denoland/deno/issues/8965 + +function test() { + setTimeout(() => {}, 10000); + setTimeout(() => {}, 10001); +} + +Deno.test("test 1", () => test()); + +Deno.test("test 2", () => test()); diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/__test__.jsonc b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/__test__.jsonc new file mode 100644 index 000000000..c1e1438cd --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test ops_sanitizer_multiple_timeout_tests.ts", + "exitCode": 1, + "output": "ops_sanitizer_multiple_timeout_tests_no_trace.out" +} diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests.ts b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests.ts new file mode 100644 index 000000000..1f52d481f --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests.ts @@ -0,0 +1,10 @@ +// https://github.com/denoland/deno/issues/8965 + +function test() { + setTimeout(() => {}, 10000); + setTimeout(() => {}, 10001); +} + +Deno.test("test 1", () => test()); + +Deno.test("test 2", () => test()); diff --git a/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests_no_trace.out b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests_no_trace.out new file mode 100644 index 000000000..c87cd0025 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests_no_trace.out @@ -0,0 +1,25 @@ +Check [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts +running 2 tests from [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts +test 1 ... FAILED ([WILDCARD]) +test 2 ... FAILED ([WILDCARD]) + + ERRORS + +test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +error: Leaks detected: + - 2 timers were started in this test, but never completed. This is often caused by not calling `clearTimeout`. +To get more details where leaks occurred, run again with the --trace-leaks flag. + +test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +error: Leaks detected: + - 2 timers were started in this test, but never completed. This is often caused by not calling `clearTimeout`. +To get more details where leaks occurred, run again with the --trace-leaks flag. + + FAILURES + +test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] +test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] + +FAILED | 0 passed | 2 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/ops_sanitizer_nexttick/__test__.jsonc b/tests/specs/test/ops_sanitizer_nexttick/__test__.jsonc new file mode 100644 index 000000000..29604e2fd --- /dev/null +++ b/tests/specs/test/ops_sanitizer_nexttick/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test --no-check ops_sanitizer_nexttick.ts", + "output": "ops_sanitizer_nexttick.out" +} diff --git a/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out new file mode 100644 index 000000000..407699b6a --- /dev/null +++ b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out @@ -0,0 +1,6 @@ +running 2 tests from [WILDCARD]/ops_sanitizer_nexttick.ts +test 1 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) + +ok | 2 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts new file mode 100644 index 000000000..9ad3a7b28 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts @@ -0,0 +1,11 @@ +import { nextTick } from "node:process"; + +// https://github.com/denoland/deno_std/issues/1651 + +Deno.test("test 1", async () => { + await new Promise((resolve) => nextTick(resolve)); +}); + +Deno.test("test 2", async () => { + await new Promise((resolve) => nextTick(resolve)); +}); diff --git a/tests/specs/test/ops_sanitizer_tcp/__test__.jsonc b/tests/specs/test/ops_sanitizer_tcp/__test__.jsonc new file mode 100644 index 000000000..48f9404f4 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_tcp/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --allow-net --trace-leaks ops_sanitizer_tcp.ts", + "exitCode": 1, + "output": "ops_sanitizer_tcp.out" +} diff --git a/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out new file mode 100644 index 000000000..7b5660379 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out @@ -0,0 +1,24 @@ +Check [WILDCARD]/ops_sanitizer_tcp.ts +running 1 test from [WILDCARD]/ops_sanitizer_tcp.ts +testLeakTcpOps ... FAILED ([WILDCARD]) + + ERRORS + +testLeakTcpOps => [WILDCARD]/ops_sanitizer_tcp.ts:[WILDCARD] +error: Leaks detected: + - A TCP listener was opened during the test, but not closed during the test. Close the TCP listener by calling `tcpListener.close()`. + - An async operation to accept a TCP stream was started in this test, but never completed. This is often caused by not closing a `Deno.Listener`. The operation was started here: + at op_net_accept_tcp ([WILDCARD]) + at Listener.accept ([WILDCARD]) + at testLeakTcpOps ([WILDCARD]) + at innerWrapped ([WILDCARD]) + at exitSanitizer ([WILDCARD]) + at outerWrapped ([WILDCARD]) + + FAILURES + +testLeakTcpOps => [WILDCARD]/ops_sanitizer_tcp.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts new file mode 100644 index 000000000..ec2df9fd5 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts @@ -0,0 +1,4 @@ +Deno.test(function testLeakTcpOps() { + const listener1 = Deno.listen({ port: 0 }); + listener1.accept(); +}); diff --git a/tests/specs/test/ops_sanitizer_timeout_failure/__test__.jsonc b/tests/specs/test/ops_sanitizer_timeout_failure/__test__.jsonc new file mode 100644 index 000000000..c044382ba --- /dev/null +++ b/tests/specs/test/ops_sanitizer_timeout_failure/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test ops_sanitizer_timeout_failure.ts", + "output": "ops_sanitizer_timeout_failure.out" +} diff --git a/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out new file mode 100644 index 000000000..e6e527112 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out @@ -0,0 +1,6 @@ +Check [WILDCARD]/ops_sanitizer_timeout_failure.ts +running 1 test from [WILDCARD]/ops_sanitizer_timeout_failure.ts +wait ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts new file mode 100644 index 000000000..d40a5a258 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts @@ -0,0 +1,22 @@ +let intervalHandle: number; +let firstIntervalPromise: Promise; + +addEventListener("load", () => { + firstIntervalPromise = new Promise((resolve) => { + let firstIntervalCalled = false; + intervalHandle = setInterval(() => { + if (!firstIntervalCalled) { + resolve(); + firstIntervalCalled = true; + } + }, 5); + }); +}); + +addEventListener("unload", () => { + clearInterval(intervalHandle); +}); + +Deno.test("wait", async function () { + await firstIntervalPromise; +}); diff --git a/tests/specs/test/ops_sanitizer_unstable/__test__.jsonc b/tests/specs/test/ops_sanitizer_unstable/__test__.jsonc new file mode 100644 index 000000000..b9ec3c878 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_unstable/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --trace-leaks ops_sanitizer_unstable.ts", + "exitCode": 1, + "output": "ops_sanitizer_unstable.out" +} diff --git a/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out new file mode 100644 index 000000000..a09f34592 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out @@ -0,0 +1,22 @@ +Check [WILDCARD]/ops_sanitizer_unstable.ts +running 2 tests from [WILDCARD]/ops_sanitizer_unstable.ts +no-op ... ok ([WILDCARD]) +leak interval ... FAILED ([WILDCARD]) + + ERRORS + +leak interval => [WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD] +error: Leaks detected: + - An interval was started in this test, but never completed. This is often caused by not calling `clearInterval`. The operation was started here: + at [WILDCARD] + at setInterval ([WILDCARD]) + at fn ([WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD]) + at [WILDCARD] + + FAILURES + +leak interval => [WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD] + +FAILED | 1 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts new file mode 100644 index 000000000..1deb1d5a7 --- /dev/null +++ b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts @@ -0,0 +1,10 @@ +Deno.test("no-op", function () {}); +Deno.test({ + name: "leak interval", + // regression test for sanitizer errors being swallowed with permissions. + // https://github.com/denoland/deno/pull/18550 + permissions: {}, + fn() { + setInterval(function () {}, 100000); + }, +}); diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/__test__.jsonc b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/__test__.jsonc new file mode 100644 index 000000000..ec4ab0127 --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/actually_excluded.test.ts b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/actually_excluded.test.ts new file mode 100644 index 000000000..da1a8f7a0 --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/actually_excluded.test.ts @@ -0,0 +1 @@ +Deno.test("test3", () => {}); diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/deno.json b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/deno.json new file mode 100644 index 000000000..e9c181e77 --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/deno.json @@ -0,0 +1,6 @@ +{ + "test": { + "exclude": ["!excluded.test.ts"] + }, + "exclude": ["excluded.test.ts", "actually_excluded.test.ts"] +} diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/excluded.test.ts b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/excluded.test.ts new file mode 100644 index 000000000..afb582199 --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/excluded.test.ts @@ -0,0 +1 @@ +Deno.test("test2", () => {}); diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.out b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.out new file mode 100644 index 000000000..6ed39696e --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.out @@ -0,0 +1,9 @@ +Check [WILDCARD]/excluded.test.ts +Check [WILDCARD]/main.test.ts +running 1 test from ./excluded.test.ts +test2 ... ok ([WILDCARD]) +running 1 test from ./main.test.ts +test1 ... ok ([WILDCARD]) + +ok | 2 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.test.ts b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.test.ts new file mode 100644 index 000000000..8d0131f75 --- /dev/null +++ b/tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.test.ts @@ -0,0 +1 @@ +Deno.test("test1", () => {}); diff --git a/tests/specs/test/overloads/__test__.jsonc b/tests/specs/test/overloads/__test__.jsonc new file mode 100644 index 000000000..955107ebc --- /dev/null +++ b/tests/specs/test/overloads/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/overloads/main.out b/tests/specs/test/overloads/main.out new file mode 100644 index 000000000..92ec46d0b --- /dev/null +++ b/tests/specs/test/overloads/main.out @@ -0,0 +1,11 @@ +Check [WILDCARD]/overloads/main.ts +running 6 tests from ./main.ts +test0 ... ok ([WILDCARD]) +test1 ... ok ([WILDCARD]) +test2 ... ok ([WILDCARD]) +test3 ... ok ([WILDCARD]) +test4 ... ok ([WILDCARD]) +test5 ... ignored ([WILDCARD]) + +ok | 5 passed | 0 failed | 1 ignored ([WILDCARD]) + diff --git a/tests/specs/test/overloads/main.ts b/tests/specs/test/overloads/main.ts new file mode 100644 index 000000000..eb7b3dccc --- /dev/null +++ b/tests/specs/test/overloads/main.ts @@ -0,0 +1,6 @@ +Deno.test("test0", () => {}); +Deno.test(function test1() {}); +Deno.test({ name: "test2", fn: () => {} }); +Deno.test("test3", { permissions: "none" }, () => {}); +Deno.test({ name: "test4" }, () => {}); +Deno.test({ ignore: true }, function test5() {}); diff --git a/tests/specs/test/parallel_flag/__test__.jsonc b/tests/specs/test/parallel_flag/__test__.jsonc new file mode 100644 index 000000000..0c279e11d --- /dev/null +++ b/tests/specs/test/parallel_flag/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts --parallel", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/parallel_flag/main.out b/tests/specs/test/parallel_flag/main.out new file mode 100644 index 000000000..54efc4cad --- /dev/null +++ b/tests/specs/test/parallel_flag/main.out @@ -0,0 +1,5 @@ +Check [WILDCARD]/main.ts +./main.ts => test ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/parallel_flag/main.ts b/tests/specs/test/parallel_flag/main.ts new file mode 100644 index 000000000..03818ae8d --- /dev/null +++ b/tests/specs/test/parallel_flag/main.ts @@ -0,0 +1 @@ +Deno.test("test", () => {}); diff --git a/tests/specs/test/parallel_flag_with_env_variables/__test__.jsonc b/tests/specs/test/parallel_flag_with_env_variables/__test__.jsonc new file mode 100644 index 000000000..330313467 --- /dev/null +++ b/tests/specs/test/parallel_flag_with_env_variables/__test__.jsonc @@ -0,0 +1,6 @@ +{ + "args": "test main.ts --parallel", + "exitCode": 0, + "envs": { "DENO_JOBS": "2" }, + "output": "main.out" +} diff --git a/tests/specs/test/parallel_flag_with_env_variables/main.out b/tests/specs/test/parallel_flag_with_env_variables/main.out new file mode 100644 index 000000000..54efc4cad --- /dev/null +++ b/tests/specs/test/parallel_flag_with_env_variables/main.out @@ -0,0 +1,5 @@ +Check [WILDCARD]/main.ts +./main.ts => test ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/parallel_flag_with_env_variables/main.ts b/tests/specs/test/parallel_flag_with_env_variables/main.ts new file mode 100644 index 000000000..03818ae8d --- /dev/null +++ b/tests/specs/test/parallel_flag_with_env_variables/main.ts @@ -0,0 +1 @@ +Deno.test("test", () => {}); diff --git a/tests/specs/test/parallel_output/__test__.jsonc b/tests/specs/test/parallel_output/__test__.jsonc new file mode 100644 index 000000000..dde5a1c6f --- /dev/null +++ b/tests/specs/test/parallel_output/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --parallel --reload main.ts", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/parallel_output/main.out b/tests/specs/test/parallel_output/main.out new file mode 100644 index 000000000..3d020a71f --- /dev/null +++ b/tests/specs/test/parallel_output/main.out @@ -0,0 +1,56 @@ +Check [WILDCARD]/main.ts +./main.ts => step output ... step 1 ... ok ([WILDCARD]s) +./main.ts => step output ... step 2 ... ok ([WILDCARD]s) +------- output ------- +Hello, world! (from step 3) +----- output end ----- +./main.ts => step output ... step 3 ... ok ([WILDCARD]s) +------- output ------- +Hello, world! (from step 4) +----- output end ----- +./main.ts => step output ... step 4 ... ok ([WILDCARD]s) +./main.ts => step output ... ok ([WILDCARD]s) +./main.ts => step failures ... step 1 ... ok ([WILDCARD]s) +./main.ts => step failures ... step 2 ... FAILED ([WILDCARD]s) +./main.ts => step failures ... step 3 ... FAILED ([WILDCARD]s) +./main.ts => step failures ... FAILED (due to 2 failed steps) ([WILDCARD]s) +./main.ts => step nested failure ... step 1 ... inner 1 ... ok ([WILDCARD]s) +./main.ts => step nested failure ... step 1 ... inner 2 ... FAILED ([WILDCARD]s) +./main.ts => step nested failure ... step 1 ... FAILED (due to 1 failed step) ([WILDCARD]s) +./main.ts => step nested failure ... FAILED (due to 1 failed step) ([WILDCARD]s) + + ERRORS + +step failures ... step 2 => ./main.ts:14:11 +error: Error: Fail. + throw new Error("Fail."); + ^ + at file:///[WILDCARD]/main.ts:15:11 + at [WILDCARD] + at file:///[WILDCARD]/main.ts:14:11 + +step failures ... step 3 => ./main.ts:17:11 +error: Error: Fail. + await t.step("step 3", () => Promise.reject(new Error("Fail."))); + ^ + at file:///[WILDCARD]/main.ts:17:47 + at [WILDCARD] + at file:///[WILDCARD]/main.ts:17:11 + +step nested failure ... step 1 ... inner 2 => ./main.ts:23:13 +error: Error: Failed. + throw new Error("Failed."); + ^ + at file:///[WILDCARD]/main.ts:24:13 + at [WILDCARD] + at file:///[WILDCARD]/main.ts:23:13 + + FAILURES + +step failures ... step 2 => ./main.ts:14:11 +step failures ... step 3 => ./main.ts:17:11 +step nested failure ... step 1 ... inner 2 => ./main.ts:23:13 + +FAILED | 1 passed (6 steps) | 2 failed (4 steps) ([WILDCARD]s) + +error: Test failed diff --git a/tests/specs/test/parallel_output/main.ts b/tests/specs/test/parallel_output/main.ts new file mode 100644 index 000000000..5de733aad --- /dev/null +++ b/tests/specs/test/parallel_output/main.ts @@ -0,0 +1,27 @@ +Deno.test("step output", async (t) => { + await t.step("step 1", () => {}); + await t.step("step 2", () => {}); + await t.step("step 3", () => { + console.log("Hello, world! (from step 3)"); + }); + await t.step("step 4", () => { + console.log("Hello, world! (from step 4)"); + }); +}); + +Deno.test("step failures", async (t) => { + await t.step("step 1", () => {}); + await t.step("step 2", () => { + throw new Error("Fail."); + }); + await t.step("step 3", () => Promise.reject(new Error("Fail."))); +}); + +Deno.test("step nested failure", async (t) => { + await t.step("step 1", async (t) => { + await t.step("inner 1", () => {}); + await t.step("inner 2", () => { + throw new Error("Failed."); + }); + }); +}); diff --git a/tests/specs/test/pass/__test__.jsonc b/tests/specs/test/pass/__test__.jsonc new file mode 100644 index 000000000..955107ebc --- /dev/null +++ b/tests/specs/test/pass/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/pass/main.out b/tests/specs/test/pass/main.out new file mode 100644 index 000000000..d2541d08d --- /dev/null +++ b/tests/specs/test/pass/main.out @@ -0,0 +1,53 @@ +Check [WILDCARD]/main.ts +running 16 tests from ./main.ts +test 0 ... ok ([WILDCARD]) +test 1 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) +test 3 ... ok ([WILDCARD]) +test 4 ... ok ([WILDCARD]) +test 5 ... ok ([WILDCARD]) +test 6 ... ok ([WILDCARD]) +test 7 ... ok ([WILDCARD]) +test 8 ... +------- output ------- +console.log +----- output end ----- +test 8 ... ok ([WILDCARD]) +test 9 ... +------- output ------- +console.error +----- output end ----- +test 9 ... ok ([WILDCARD]) +test\b ... +------- output ------- +console.error +----- output end ----- +test\b ... ok ([WILDCARD]) +test\f ... +------- output ------- +console.error +----- output end ----- +test\f ... ok ([WILDCARD]) +test\t ... +------- output ------- +console.error +----- output end ----- +test\t ... ok ([WILDCARD]) +test\n ... +------- output ------- +console.error +----- output end ----- +test\n ... ok ([WILDCARD]) +test\r ... +------- output ------- +console.error +----- output end ----- +test\r ... ok ([WILDCARD]) +test\v ... +------- output ------- +console.error +----- output end ----- +test\v ... ok ([WILDCARD]) + +ok | 16 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/pass/main.ts b/tests/specs/test/pass/main.ts new file mode 100644 index 000000000..c4c0f45dc --- /dev/null +++ b/tests/specs/test/pass/main.ts @@ -0,0 +1,37 @@ +Deno.test("test 0", () => {}); +Deno.test("test 1", () => {}); +Deno.test("test 2", () => {}); +Deno.test("test 3", () => {}); +Deno.test("test 4", () => {}); +Deno.test("test 5", () => {}); +Deno.test("test 6", () => {}); +Deno.test("test 7", () => {}); +Deno.test("test 8", () => { + console.log("console.log"); +}); +Deno.test("test 9", () => { + console.error("console.error"); +}); + +Deno.test("test\b", () => { + console.error("console.error"); +}); +Deno.test("test\f", () => { + console.error("console.error"); +}); + +Deno.test("test\t", () => { + console.error("console.error"); +}); + +Deno.test("test\n", () => { + console.error("console.error"); +}); + +Deno.test("test\r", () => { + console.error("console.error"); +}); + +Deno.test("test\v", () => { + console.error("console.error"); +}); diff --git a/tests/specs/test/quiet/__test__.jsonc b/tests/specs/test/quiet/__test__.jsonc new file mode 100644 index 000000000..799bc6ff2 --- /dev/null +++ b/tests/specs/test/quiet/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/quiet/main.out b/tests/specs/test/quiet/main.out new file mode 100644 index 000000000..5c72317f6 --- /dev/null +++ b/tests/specs/test/quiet/main.out @@ -0,0 +1,8 @@ +running 4 tests from ./main.ts +console.log ... ok ([WILDCARD]) +console.error ... ok ([WILDCARD]) +console.info ... ok ([WILDCARD]) +console.warn ... ok ([WILDCARD]) + +ok | 4 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/quiet/main.ts b/tests/specs/test/quiet/main.ts new file mode 100644 index 000000000..f40805bfb --- /dev/null +++ b/tests/specs/test/quiet/main.ts @@ -0,0 +1,15 @@ +Deno.test("console.log", function () { + console.log("log"); +}); + +Deno.test("console.error", function () { + console.error("error"); +}); + +Deno.test("console.info", function () { + console.info("info"); +}); + +Deno.test("console.warn", function () { + console.info("warn"); +}); diff --git a/tests/specs/test/recursive_permissions_pledge/__test__.jsonc b/tests/specs/test/recursive_permissions_pledge/__test__.jsonc new file mode 100644 index 000000000..7dfb5b7ff --- /dev/null +++ b/tests/specs/test/recursive_permissions_pledge/__test__.jsonc @@ -0,0 +1,8 @@ +{ + "args": "test main.js", + "exitCode": 1, + "envs": { + "RUST_BACKTRACE": "0" + }, + "output": "\n============================================================\nDeno has panicked. This is a bug in Deno. Please report this\nat https://github.com/denoland/deno/issues/new.\nIf you can reliably reproduce this panic, include the\nreproduction steps and re-run with the RUST_BACKTRACE=1 env\nvar set and include the backtrace in your report.\n\nPlatform: [WILDCARD]\nVersion: [WILDCARD]\nArgs: [[WILDCARD], \"test\", \"main.js\"]\n\nthread 'tokio-runtime-worker' panicked at [WILDCARD]testing.rs:[WILDCARD]:\npledge test permissions called before restoring previous pledge\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n" +} diff --git a/tests/specs/test/recursive_permissions_pledge/main.js b/tests/specs/test/recursive_permissions_pledge/main.js new file mode 100644 index 000000000..9bf320c37 --- /dev/null +++ b/tests/specs/test/recursive_permissions_pledge/main.js @@ -0,0 +1,6 @@ +Deno[Deno.internal].core.ops.op_pledge_test_permissions( + "none", +); +Deno[Deno.internal].core.ops.op_pledge_test_permissions( + "inherit", +); diff --git a/tests/specs/test/report_error/__test__.jsonc b/tests/specs/test/report_error/__test__.jsonc new file mode 100644 index 000000000..59774f938 --- /dev/null +++ b/tests/specs/test/report_error/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/report_error/main.out b/tests/specs/test/report_error/main.out new file mode 100644 index 000000000..5fe3a4423 --- /dev/null +++ b/tests/specs/test/report_error/main.out @@ -0,0 +1,23 @@ +running 2 tests from [WILDCARD]/main.ts +foo ... +Uncaught error from [WILDCARD]/main.ts FAILED +foo ... cancelled (0ms) +bar ... cancelled (0ms) + + ERRORS + +[WILDCARD]/main.ts (uncaught error) +error: Error: foo + reportError(new Error("foo")); + ^ + at [WILDCARD]/main.ts:2:15 +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + + FAILURES + +[WILDCARD]/main.ts (uncaught error) + +FAILED | 0 passed | 3 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/report_error/main.ts b/tests/specs/test/report_error/main.ts new file mode 100644 index 000000000..56b6db26c --- /dev/null +++ b/tests/specs/test/report_error/main.ts @@ -0,0 +1,6 @@ +Deno.test("foo", () => { + reportError(new Error("foo")); + console.log(1); +}); + +Deno.test("bar", () => {}); diff --git a/tests/specs/test/resource_sanitizer/__test__.jsonc b/tests/specs/test/resource_sanitizer/__test__.jsonc new file mode 100644 index 000000000..38417fba2 --- /dev/null +++ b/tests/specs/test/resource_sanitizer/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --allow-read resource_sanitizer.ts", + "output": "resource_sanitizer.out", + "exitCode": 1 +} diff --git a/tests/specs/test/resource_sanitizer/resource_sanitizer.out b/tests/specs/test/resource_sanitizer/resource_sanitizer.out new file mode 100644 index 000000000..128bbc7b6 --- /dev/null +++ b/tests/specs/test/resource_sanitizer/resource_sanitizer.out @@ -0,0 +1,20 @@ +Check [WILDCARD]/resource_sanitizer.ts +running 1 test from [WILDCARD]/resource_sanitizer.ts +leak ... FAILED ([WILDCARD]) + + ERRORS + +leak => [WILDCARD]/resource_sanitizer.ts:[WILDCARD] +error: Leaks detected: +[UNORDERED_START] + - The stdin pipe was opened before the test started, but was closed during the test. Do not close resources in a test that were not created during that test. + - A file was opened during the test, but not closed during the test. Close the file handle by calling `file.close()`. +[UNORDERED_END] + + FAILURES + +leak => [WILDCARD]/resource_sanitizer.ts:[WILDCARD] + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/resource_sanitizer/resource_sanitizer.ts b/tests/specs/test/resource_sanitizer/resource_sanitizer.ts new file mode 100644 index 000000000..7fa1bd8ad --- /dev/null +++ b/tests/specs/test/resource_sanitizer/resource_sanitizer.ts @@ -0,0 +1,4 @@ +Deno.test("leak", function () { + Deno.openSync("../../../testdata/run/001_hello.js"); + Deno.stdin.close(); +}); diff --git a/tests/specs/test/sanitizer_trace_ops_catch_error/__test__.jsonc b/tests/specs/test/sanitizer_trace_ops_catch_error/__test__.jsonc new file mode 100644 index 000000000..a7ec0907c --- /dev/null +++ b/tests/specs/test/sanitizer_trace_ops_catch_error/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test -A --trace-leaks main.ts", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/sanitizer_trace_ops_catch_error/main.out b/tests/specs/test/sanitizer_trace_ops_catch_error/main.out new file mode 100644 index 000000000..c2c67605d --- /dev/null +++ b/tests/specs/test/sanitizer_trace_ops_catch_error/main.out @@ -0,0 +1,6 @@ +Check file:///[WILDCARD]main.ts +running 1 test from [WILDCARD]main.ts +handle thrown error in async function ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/sanitizer_trace_ops_catch_error/main.ts b/tests/specs/test/sanitizer_trace_ops_catch_error/main.ts new file mode 100644 index 000000000..043018688 --- /dev/null +++ b/tests/specs/test/sanitizer_trace_ops_catch_error/main.ts @@ -0,0 +1,13 @@ +// https://github.com/denoland/deno/pull/16970 +Deno.test("handle thrown error in async function", async () => { + const dirPath = Deno.makeTempDirSync(); + const filePath = `${dirPath}/file.txt`; + try { + await Deno.stat(filePath); + } catch { + await Deno.writeTextFile(filePath, ""); + } finally { + await Deno.remove(filePath); + await Deno.remove(dirPath); + } +}); diff --git a/tests/specs/test/shuffle/__test__.jsonc b/tests/specs/test/shuffle/__test__.jsonc new file mode 100644 index 000000000..975865e50 --- /dev/null +++ b/tests/specs/test/shuffle/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --shuffle shuffle", + "output": "[WILDCARD]", + "exitCode": 0 +} diff --git a/tests/specs/test/shuffle/shuffle/bar_test.ts b/tests/specs/test/shuffle/shuffle/bar_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle/shuffle/bar_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/shuffle/shuffle/baz_test.ts b/tests/specs/test/shuffle/shuffle/baz_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle/shuffle/baz_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/shuffle/shuffle/foo_test.ts b/tests/specs/test/shuffle/shuffle/foo_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle/shuffle/foo_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/shuffle_with_seed/__test__.jsonc b/tests/specs/test/shuffle_with_seed/__test__.jsonc new file mode 100644 index 000000000..477f1dbcf --- /dev/null +++ b/tests/specs/test/shuffle_with_seed/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --shuffle=42 shuffle", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/shuffle_with_seed/main.out b/tests/specs/test/shuffle_with_seed/main.out new file mode 100644 index 000000000..375b9bae2 --- /dev/null +++ b/tests/specs/test/shuffle_with_seed/main.out @@ -0,0 +1,39 @@ +Check [WILDCARD]/test/shuffle_with_seed/shuffle/bar_test.ts +Check [WILDCARD]/test/shuffle_with_seed/shuffle/baz_test.ts +Check [WILDCARD]/test/shuffle_with_seed/shuffle/foo_test.ts +running 10 tests from [WILDCARD]shuffle/foo_test.ts +test 3 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) +test 7 ... ok ([WILDCARD]) +test 5 ... ok ([WILDCARD]) +test 8 ... ok ([WILDCARD]) +test 0 ... ok ([WILDCARD]) +test 9 ... ok ([WILDCARD]) +test 4 ... ok ([WILDCARD]) +test 6 ... ok ([WILDCARD]) +test 1 ... ok ([WILDCARD]) +running 10 tests from [WILDCARD]shuffle/baz_test.ts +test 3 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) +test 7 ... ok ([WILDCARD]) +test 5 ... ok ([WILDCARD]) +test 8 ... ok ([WILDCARD]) +test 0 ... ok ([WILDCARD]) +test 9 ... ok ([WILDCARD]) +test 4 ... ok ([WILDCARD]) +test 6 ... ok ([WILDCARD]) +test 1 ... ok ([WILDCARD]) +running 10 tests from [WILDCARD]shuffle/bar_test.ts +test 3 ... ok ([WILDCARD]) +test 2 ... ok ([WILDCARD]) +test 7 ... ok ([WILDCARD]) +test 5 ... ok ([WILDCARD]) +test 8 ... ok ([WILDCARD]) +test 0 ... ok ([WILDCARD]) +test 9 ... ok ([WILDCARD]) +test 4 ... ok ([WILDCARD]) +test 6 ... ok ([WILDCARD]) +test 1 ... ok ([WILDCARD]) + +ok | 30 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/shuffle_with_seed/shuffle/bar_test.ts b/tests/specs/test/shuffle_with_seed/shuffle/bar_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle_with_seed/shuffle/bar_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/shuffle_with_seed/shuffle/baz_test.ts b/tests/specs/test/shuffle_with_seed/shuffle/baz_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle_with_seed/shuffle/baz_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/shuffle_with_seed/shuffle/foo_test.ts b/tests/specs/test/shuffle_with_seed/shuffle/foo_test.ts new file mode 100644 index 000000000..ca118dc0d --- /dev/null +++ b/tests/specs/test/shuffle_with_seed/shuffle/foo_test.ts @@ -0,0 +1,3 @@ +for (let i = 0; i < 10; i++) { + Deno.test(`test ${i}`, () => {}); +} diff --git a/tests/specs/test/steps_dot_failing_steps/__test__.jsonc b/tests/specs/test/steps_dot_failing_steps/__test__.jsonc new file mode 100644 index 000000000..58ef6339a --- /dev/null +++ b/tests/specs/test/steps_dot_failing_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter=dot failing_steps.ts", + "exitCode": 1, + "output": "failing_steps.dot.out" +} diff --git a/tests/specs/test/steps_dot_failing_steps/failing_steps.dot.out b/tests/specs/test/steps_dot_failing_steps/failing_steps.dot.out new file mode 100644 index 000000000..8222c13ae --- /dev/null +++ b/tests/specs/test/steps_dot_failing_steps/failing_steps.dot.out @@ -0,0 +1,53 @@ +! +. +! +! +! +! +! +! +! + + ERRORS + +nested failure ... step 1 ... inner 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Failed. + throw new Error("Failed."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +multiple test step failures ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + throw new Error("Fail."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +multiple test step failures ... step 2 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + await t.step("step 2", () => Promise.reject(new Error("Fail."))); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +failing step in failing test ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + throw new Error("Fail."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +failing step in failing test => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail test. + throw new Error("Fail test."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + + FAILURES + +nested failure ... step 1 ... inner 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +multiple test step failures ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +multiple test step failures ... step 2 => [WILDCARD]failing_steps.ts:[WILDCARD] +failing step in failing test ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +failing step in failing test => [WILDCARD]failing_steps.ts:[WILDCARD] + +FAILED | 0 passed (1 step) | 3 failed (5 steps) ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/steps_dot_failing_steps/failing_steps.ts b/tests/specs/test/steps_dot_failing_steps/failing_steps.ts new file mode 100644 index 000000000..efa18d54e --- /dev/null +++ b/tests/specs/test/steps_dot_failing_steps/failing_steps.ts @@ -0,0 +1,27 @@ +Deno.test("nested failure", async (t) => { + const success = await t.step("step 1", async (t) => { + let success = await t.step("inner 1", () => { + throw new Error("Failed."); + }); + if (success) throw new Error("Expected failure"); + + success = await t.step("inner 2", () => {}); + if (!success) throw new Error("Expected success"); + }); + + if (success) throw new Error("Expected failure"); +}); + +Deno.test("multiple test step failures", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + await t.step("step 2", () => Promise.reject(new Error("Fail."))); +}); + +Deno.test("failing step in failing test", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + throw new Error("Fail test."); +}); diff --git a/tests/specs/test/steps_dot_ignored_steps/__test__.jsonc b/tests/specs/test/steps_dot_ignored_steps/__test__.jsonc new file mode 100644 index 000000000..672cc56f2 --- /dev/null +++ b/tests/specs/test/steps_dot_ignored_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter=dot ignored_steps.ts", + "exitCode": 0, + "output": "ignored_steps.dot.out" +} diff --git a/tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out new file mode 100644 index 000000000..442a06c62 --- /dev/null +++ b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out @@ -0,0 +1,5 @@ +, +. +. + +ok | 1 passed (1 step) | 0 failed | 0 ignored (1 step) [WILDCARD] diff --git a/tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts new file mode 100644 index 000000000..102b481fb --- /dev/null +++ b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts @@ -0,0 +1,16 @@ +Deno.test("ignored step", async (t) => { + let result = await t.step({ + name: "step 1", + ignore: true, + fn: () => { + throw new Error("Fail."); + }, + }); + if (result !== false) throw new Error("Expected false."); + result = await t.step({ + name: "step 2", + ignore: false, + fn: () => {}, + }); + if (result !== true) throw new Error("Expected true."); +}); diff --git a/tests/specs/test/steps_dot_passing_steps/__test__.jsonc b/tests/specs/test/steps_dot_passing_steps/__test__.jsonc new file mode 100644 index 000000000..0ba87a6b2 --- /dev/null +++ b/tests/specs/test/steps_dot_passing_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter=dot passing_steps.ts", + "exitCode": 0, + "output": "passing_steps.dot.out" +} diff --git a/tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out b/tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out new file mode 100644 index 000000000..243cacd69 --- /dev/null +++ b/tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out @@ -0,0 +1,17 @@ +[WILDCARD] +. +. +. +. +. +. +. +. +. +. +. +. +. + +ok | 6 passed (21 steps) | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/steps_dot_passing_steps/passing_steps.ts b/tests/specs/test/steps_dot_passing_steps/passing_steps.ts new file mode 100644 index 000000000..fd145954b --- /dev/null +++ b/tests/specs/test/steps_dot_passing_steps/passing_steps.ts @@ -0,0 +1,127 @@ +Deno.test("description", async (t) => { + const success = await t.step("step 1", async (t) => { + await t.step("inner 1", () => {}); + await t.step("inner 2", () => {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("description function as first arg", async (t) => { + const success = await t.step(async function step1(t) { + await t.step(function inner1() {}); + await t.step(function inner1() {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("parallel steps without sanitizers", async (t) => { + // allowed + await Promise.all([ + t.step({ + name: "step 1", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + t.step({ + name: "step 2", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + ]); +}); + +Deno.test({ + name: "parallel steps without sanitizers due to parent", + fn: async (t) => { + // allowed because parent disabled the sanitizers + await Promise.all([ + t.step("step 1", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + t.step("step 2", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + ]); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test({ + name: "steps with disabled sanitizers, then enabled, then parallel disabled", + fn: async (t) => { + await t.step("step 1", async (t) => { + await t.step({ + name: "step 1", + fn: async (t) => { + await Promise.all([ + t.step({ + name: "step 1", + fn: async (t) => { + await new Promise((resolve) => setTimeout(resolve, 10)); + await Promise.all([ + t.step("step 1", () => {}), + t.step("step 1", () => {}), + ]); + }, + sanitizeExit: false, + sanitizeResources: false, + sanitizeOps: false, + }), + t.step({ + name: "step 2", + fn: () => {}, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }), + ]); + }, + sanitizeResources: true, + sanitizeOps: true, + sanitizeExit: true, + }); + }); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test("steps buffered then streaming reporting", async (t) => { + // no sanitizers so this will be buffered + await t.step({ + name: "step 1", + fn: async (t) => { + // also ensure the buffered tests display in order regardless of the second one finishing first + const step2Finished = Promise.withResolvers(); + const step1 = t.step("step 1 - 1", async () => { + await step2Finished.promise; + }); + const step2 = t.step("step 1 - 2", async (t) => { + await t.step("step 1 - 2 - 1", () => {}); + }); + await step2; + step2Finished.resolve(); + await step1; + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }); + + // now this will start streaming and we want to + // ensure it flushes the buffer of the last test + await t.step("step 2", async () => {}); +}); diff --git a/tests/specs/test/steps_failing_steps/__test__.jsonc b/tests/specs/test/steps_failing_steps/__test__.jsonc new file mode 100644 index 000000000..f4194c50c --- /dev/null +++ b/tests/specs/test/steps_failing_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test failing_steps.ts", + "exitCode": 1, + "output": "failing_steps.out" +} diff --git a/tests/specs/test/steps_failing_steps/failing_steps.out b/tests/specs/test/steps_failing_steps/failing_steps.out new file mode 100644 index 000000000..f66e089bc --- /dev/null +++ b/tests/specs/test/steps_failing_steps/failing_steps.out @@ -0,0 +1,59 @@ +[WILDCARD] +running 3 tests from [WILDCARD]failing_steps.ts +nested failure ... + step 1 ... + inner 1 ... FAILED ([WILDCARD]) + inner 2 ... ok ([WILDCARD]) + step 1 ... FAILED (due to 1 failed step) ([WILDCARD]) +nested failure ... FAILED (due to 1 failed step) ([WILDCARD]) +multiple test step failures ... + step 1 ... FAILED ([WILDCARD]) + step 2 ... FAILED ([WILDCARD]) +multiple test step failures ... FAILED (due to 2 failed steps) ([WILDCARD]) +failing step in failing test ... + step 1 ... FAILED ([WILDCARD]) +failing step in failing test ... FAILED ([WILDCARD]) + + ERRORS + +nested failure ... step 1 ... inner 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Failed. + throw new Error("Failed."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +multiple test step failures ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + throw new Error("Fail."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +multiple test step failures ... step 2 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + await t.step("step 2", () => Promise.reject(new Error("Fail."))); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +failing step in failing test ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail. + throw new Error("Fail."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + +failing step in failing test => [WILDCARD]failing_steps.ts:[WILDCARD] +error: Error: Fail test. + throw new Error("Fail test."); + ^ + at [WILDCARD]/failing_steps.ts:[WILDCARD] + + FAILURES + +nested failure ... step 1 ... inner 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +multiple test step failures ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +multiple test step failures ... step 2 => [WILDCARD]failing_steps.ts:[WILDCARD] +failing step in failing test ... step 1 => [WILDCARD]failing_steps.ts:[WILDCARD] +failing step in failing test => [WILDCARD]failing_steps.ts:[WILDCARD] + +FAILED | 0 passed (1 step) | 3 failed (5 steps) ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/steps_failing_steps/failing_steps.ts b/tests/specs/test/steps_failing_steps/failing_steps.ts new file mode 100644 index 000000000..efa18d54e --- /dev/null +++ b/tests/specs/test/steps_failing_steps/failing_steps.ts @@ -0,0 +1,27 @@ +Deno.test("nested failure", async (t) => { + const success = await t.step("step 1", async (t) => { + let success = await t.step("inner 1", () => { + throw new Error("Failed."); + }); + if (success) throw new Error("Expected failure"); + + success = await t.step("inner 2", () => {}); + if (!success) throw new Error("Expected success"); + }); + + if (success) throw new Error("Expected failure"); +}); + +Deno.test("multiple test step failures", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + await t.step("step 2", () => Promise.reject(new Error("Fail."))); +}); + +Deno.test("failing step in failing test", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + throw new Error("Fail test."); +}); diff --git a/tests/specs/test/steps_ignored_steps/__test__.jsonc b/tests/specs/test/steps_ignored_steps/__test__.jsonc new file mode 100644 index 000000000..d3f5a81cf --- /dev/null +++ b/tests/specs/test/steps_ignored_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test ignored_steps.ts", + "exitCode": 0, + "output": "ignored_steps.out" +} diff --git a/tests/specs/test/steps_ignored_steps/ignored_steps.out b/tests/specs/test/steps_ignored_steps/ignored_steps.out new file mode 100644 index 000000000..0960e6256 --- /dev/null +++ b/tests/specs/test/steps_ignored_steps/ignored_steps.out @@ -0,0 +1,8 @@ +[WILDCARD] +running 1 test from [WILDCARD]ignored_steps.ts +ignored step ... + step 1 ... ignored ([WILDCARD]) + step 2 ... ok ([WILDCARD]) +ignored step ... ok ([WILDCARD]) + +ok | 1 passed (1 step) | 0 failed | 0 ignored (1 step) [WILDCARD] diff --git a/tests/specs/test/steps_ignored_steps/ignored_steps.ts b/tests/specs/test/steps_ignored_steps/ignored_steps.ts new file mode 100644 index 000000000..102b481fb --- /dev/null +++ b/tests/specs/test/steps_ignored_steps/ignored_steps.ts @@ -0,0 +1,16 @@ +Deno.test("ignored step", async (t) => { + let result = await t.step({ + name: "step 1", + ignore: true, + fn: () => { + throw new Error("Fail."); + }, + }); + if (result !== false) throw new Error("Expected false."); + result = await t.step({ + name: "step 2", + ignore: false, + fn: () => {}, + }); + if (result !== true) throw new Error("Expected true."); +}); diff --git a/tests/specs/test/steps_invalid_usage/__test__.jsonc b/tests/specs/test/steps_invalid_usage/__test__.jsonc new file mode 100644 index 000000000..763ec2a20 --- /dev/null +++ b/tests/specs/test/steps_invalid_usage/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test invalid_usage.ts", + "exitCode": 1, + "output": "invalid_usage.out" +} diff --git a/tests/specs/test/steps_invalid_usage/invalid_usage.out b/tests/specs/test/steps_invalid_usage/invalid_usage.out new file mode 100644 index 000000000..413a97cfd --- /dev/null +++ b/tests/specs/test/steps_invalid_usage/invalid_usage.out @@ -0,0 +1,82 @@ +[WILDCARD] +running 7 tests from [WILDCARD]invalid_usage.ts +capturing ... + some step ... ok ([WILDCARD]) +capturing ... FAILED ([WILDCARD]) +top level missing await ... + step ... INCOMPLETE +top level missing await ... FAILED (due to incomplete steps) ([WILDCARD]) +inner missing await ... + step ... + inner ... INCOMPLETE + step ... FAILED (due to incomplete steps) ([WILDCARD]) +inner missing await ... FAILED (due to 1 failed step) ([WILDCARD]) +parallel steps with sanitizers ... + step 1 ... INCOMPLETE + step 2 ... FAILED ([WILDCARD]) +parallel steps with sanitizers ... FAILED (due to incomplete steps) ([WILDCARD]) +parallel steps when first has sanitizer ... + step 1 ... ok ([WILDCARD]) + step 2 ... FAILED ([WILDCARD]) +parallel steps when first has sanitizer ... FAILED (due to 1 failed step) ([WILDCARD]) +parallel steps when second has sanitizer ... + step 1 ... ok ([WILDCARD]) + step 2 ... FAILED ([WILDCARD]) +parallel steps when second has sanitizer ... FAILED (due to 1 failed step) ([WILDCARD]) +parallel steps where only inner tests have sanitizers ... + step 1 ... + step inner ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) + step 2 ... + step inner ... FAILED ([WILDCARD]) + step 2 ... FAILED (due to 1 failed step) ([WILDCARD]) +parallel steps where only inner tests have sanitizers ... FAILED (due to 1 failed step) ([WILDCARD]) + + ERRORS + +capturing => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Error: Cannot run test step after parent scope has finished execution. Ensure any `.step(...)` calls are executed before their parent scope completes execution. + await capturedContext.step("next step", () => {}); + ^ + at TestContext.step ([WILDCARD]) + at [WILDCARD]/invalid_usage.ts:[WILDCARD] + +top level missing await ... step => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Didn't complete before parent. Await step with `await t.step(...)`. + +inner missing await ... step ... inner => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Didn't complete before parent. Await step with `await t.step(...)`. + +parallel steps with sanitizers ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Started test step while another test step with sanitizers was running: + * parallel steps with sanitizers ... step 1 + +parallel steps with sanitizers ... step 1 => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Didn't complete before parent. Await step with `await t.step(...)`. + +parallel steps when first has sanitizer ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Started test step while another test step with sanitizers was running: + * parallel steps when first has sanitizer ... step 1 + +parallel steps when second has sanitizer ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Started test step with sanitizers while another test step was running: + * parallel steps when second has sanitizer ... step 1 + +parallel steps where only inner tests have sanitizers ... step 2 ... step inner => [WILDCARD]invalid_usage.ts:[WILDCARD] +error: Started test step with sanitizers while another test step was running: + * parallel steps where only inner tests have sanitizers ... step 1 + + FAILURES + +capturing => [WILDCARD]invalid_usage.ts:1:6 +top level missing await ... step => [WILDCARD]invalid_usage.ts:[WILDCARD] +inner missing await ... step ... inner => [WILDCARD]invalid_usage.ts:[WILDCARD] +parallel steps with sanitizers ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +parallel steps with sanitizers ... step 1 => [WILDCARD]invalid_usage.ts:[WILDCARD] +parallel steps when first has sanitizer ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +parallel steps when second has sanitizer ... step 2 => [WILDCARD]invalid_usage.ts:[WILDCARD] +parallel steps where only inner tests have sanitizers ... step 2 ... step inner => [WILDCARD]invalid_usage.ts:[WILDCARD] + +FAILED | 0 passed (5 steps) | 7 failed (9 steps) ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/steps_invalid_usage/invalid_usage.ts b/tests/specs/test/steps_invalid_usage/invalid_usage.ts new file mode 100644 index 000000000..1acfc874c --- /dev/null +++ b/tests/specs/test/steps_invalid_usage/invalid_usage.ts @@ -0,0 +1,118 @@ +Deno.test("capturing", async (t) => { + let capturedContext!: Deno.TestContext; + await t.step("some step", (t) => { + capturedContext = t; + }); + // this should error because the scope of the tester has already completed + await capturedContext.step("next step", () => {}); +}); + +Deno.test("top level missing await", (t) => { + t.step("step", () => { + return new Promise(() => {}); + }); +}); + +Deno.test({ + name: "inner missing await", + fn: async (t) => { + await t.step("step", (t) => { + t.step("inner", () => { + return new Promise((resolve) => setTimeout(resolve, 10)); + }); + }); + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test("parallel steps with sanitizers", async (t) => { + // not allowed because steps with sanitizers cannot be run in parallel + const step1Entered = Promise.withResolvers(); + const testFinished = Promise.withResolvers(); + t.step("step 1", async () => { + step1Entered.resolve(); + await testFinished.promise; + }); + await step1Entered.promise; + await t.step("step 2", () => {}); +}); + +Deno.test("parallel steps when first has sanitizer", async (t) => { + const step1Entered = Promise.withResolvers(); + const step2Finished = Promise.withResolvers(); + const step1 = t.step({ + name: "step 1", + fn: async () => { + step1Entered.resolve(); + await step2Finished.promise; + }, + }); + await step1Entered.promise; + await t.step({ + name: "step 2", + fn: () => {}, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }); + step2Finished.resolve(); + await step1; +}); + +Deno.test("parallel steps when second has sanitizer", async (t) => { + const step1Entered = Promise.withResolvers(); + const step2Finished = Promise.withResolvers(); + const step1 = t.step({ + name: "step 1", + fn: async () => { + step1Entered.resolve(); + await step2Finished.promise; + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }); + await step1Entered.promise; + await t.step({ + name: "step 2", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 100)); + }, + }); + step2Finished.resolve(); + await step1; +}); + +Deno.test({ + name: "parallel steps where only inner tests have sanitizers", + fn: async (t) => { + const step1Entered = Promise.withResolvers(); + const step2Finished = Promise.withResolvers(); + const step1 = t.step("step 1", async (t) => { + await t.step({ + name: "step inner", + fn: async () => { + step1Entered.resolve(); + await step2Finished.promise; + }, + sanitizeOps: true, + }); + }); + await step1Entered.promise; + await t.step("step 2", async (t) => { + await t.step({ + name: "step inner", + fn: () => {}, + sanitizeOps: true, + }); + }); + step2Finished.resolve(); + await step1; + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); diff --git a/tests/specs/test/steps_output_within/__test__.jsonc b/tests/specs/test/steps_output_within/__test__.jsonc new file mode 100644 index 000000000..2141b6b45 --- /dev/null +++ b/tests/specs/test/steps_output_within/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test output_within.ts", + "exitCode": 0, + "output": "output_within.out" +} diff --git a/tests/specs/test/steps_output_within/output_within.out b/tests/specs/test/steps_output_within/output_within.out new file mode 100644 index 000000000..7c83b816f --- /dev/null +++ b/tests/specs/test/steps_output_within/output_within.out @@ -0,0 +1,29 @@ +[WILDCARD] +running 1 test from [WILDCARD]output_within.ts +description ... +------- output ------- +1 +----- output end ----- + step 1 ... +------- output ------- +2 +----- output end ----- + inner 1 ... +------- output ------- +3 +----- output end ----- + inner 1 ... ok ([WILDCARD]s) + inner 2 ... +------- output ------- +4 +----- output end ----- + inner 2 ... ok ([WILDCARD]s) +------- output ------- +5 +----- output end ----- + step 1 ... ok ([WILDCARD]s) +------- output ------- +6 +----- output end ----- +description ... ok ([WILDCARD]s) +[WILDCARD] diff --git a/tests/specs/test/steps_output_within/output_within.ts b/tests/specs/test/steps_output_within/output_within.ts new file mode 100644 index 000000000..d3438a8ad --- /dev/null +++ b/tests/specs/test/steps_output_within/output_within.ts @@ -0,0 +1,15 @@ +Deno.test("description", async (t) => { + // the output is not great, but this is an extreme scenario + console.log(1); + await t.step("step 1", async (t) => { + console.log(2); + await t.step("inner 1", () => { + console.log(3); + }); + await t.step("inner 2", () => { + console.log(4); + }); + console.log(5); + }); + console.log(6); +}); diff --git a/tests/specs/test/steps_passing_steps/__test__.jsonc b/tests/specs/test/steps_passing_steps/__test__.jsonc new file mode 100644 index 000000000..daa801392 --- /dev/null +++ b/tests/specs/test/steps_passing_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test passing_steps.ts", + "exitCode": 0, + "output": "passing_steps.out" +} diff --git a/tests/specs/test/steps_passing_steps/passing_steps.out b/tests/specs/test/steps_passing_steps/passing_steps.out new file mode 100644 index 000000000..c59be298e --- /dev/null +++ b/tests/specs/test/steps_passing_steps/passing_steps.out @@ -0,0 +1,44 @@ +[WILDCARD] +running 6 tests from [WILDCARD]passing_steps.ts +description ... + step 1 ... + inner 1 ... ok ([WILDCARD]s) + inner 2 ... ok ([WILDCARD]s) + step 1 ... ok ([WILDCARD]s) +description ... ok ([WILDCARD]s) +description function as first arg ... + step1 ... + inner1 ... ok ([WILDCARD]s) + inner1 ... ok ([WILDCARD]s) + step1 ... ok ([WILDCARD]s) +description function as first arg ... ok ([WILDCARD]s) +parallel steps without sanitizers ... + step 1 ... ok ([WILDCARD]) + step 2 ... ok ([WILDCARD]) +parallel steps without sanitizers ... ok ([WILDCARD]) +parallel steps without sanitizers due to parent ... + step 1 ... ok ([WILDCARD]) + step 2 ... ok ([WILDCARD]) +parallel steps without sanitizers due to parent ... ok ([WILDCARD]) +steps with disabled sanitizers, then enabled, then parallel disabled ... + step 1 ... + step 1 ... + step 1 ... + step 1 ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) + step 2 ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) +steps with disabled sanitizers, then enabled, then parallel disabled ... ok ([WILDCARD]) +steps buffered then streaming reporting ... + step 1 ... + step 1 - 1 ... ok ([WILDCARD]) + step 1 - 2 ... + step 1 - 2 - 1 ... ok ([WILDCARD]) + step 1 - 2 ... ok ([WILDCARD]) + step 1 ... ok ([WILDCARD]) + step 2 ... ok ([WILDCARD]) +steps buffered then streaming reporting ... ok ([WILDCARD]) + +ok | 6 passed (21 steps) | 0 failed [WILDCARD] diff --git a/tests/specs/test/steps_passing_steps/passing_steps.ts b/tests/specs/test/steps_passing_steps/passing_steps.ts new file mode 100644 index 000000000..fd145954b --- /dev/null +++ b/tests/specs/test/steps_passing_steps/passing_steps.ts @@ -0,0 +1,127 @@ +Deno.test("description", async (t) => { + const success = await t.step("step 1", async (t) => { + await t.step("inner 1", () => {}); + await t.step("inner 2", () => {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("description function as first arg", async (t) => { + const success = await t.step(async function step1(t) { + await t.step(function inner1() {}); + await t.step(function inner1() {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("parallel steps without sanitizers", async (t) => { + // allowed + await Promise.all([ + t.step({ + name: "step 1", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + t.step({ + name: "step 2", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + ]); +}); + +Deno.test({ + name: "parallel steps without sanitizers due to parent", + fn: async (t) => { + // allowed because parent disabled the sanitizers + await Promise.all([ + t.step("step 1", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + t.step("step 2", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + ]); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test({ + name: "steps with disabled sanitizers, then enabled, then parallel disabled", + fn: async (t) => { + await t.step("step 1", async (t) => { + await t.step({ + name: "step 1", + fn: async (t) => { + await Promise.all([ + t.step({ + name: "step 1", + fn: async (t) => { + await new Promise((resolve) => setTimeout(resolve, 10)); + await Promise.all([ + t.step("step 1", () => {}), + t.step("step 1", () => {}), + ]); + }, + sanitizeExit: false, + sanitizeResources: false, + sanitizeOps: false, + }), + t.step({ + name: "step 2", + fn: () => {}, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }), + ]); + }, + sanitizeResources: true, + sanitizeOps: true, + sanitizeExit: true, + }); + }); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test("steps buffered then streaming reporting", async (t) => { + // no sanitizers so this will be buffered + await t.step({ + name: "step 1", + fn: async (t) => { + // also ensure the buffered tests display in order regardless of the second one finishing first + const step2Finished = Promise.withResolvers(); + const step1 = t.step("step 1 - 1", async () => { + await step2Finished.promise; + }); + const step2 = t.step("step 1 - 2", async (t) => { + await t.step("step 1 - 2 - 1", () => {}); + }); + await step2; + step2Finished.resolve(); + await step1; + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }); + + // now this will start streaming and we want to + // ensure it flushes the buffer of the last test + await t.step("step 2", async () => {}); +}); diff --git a/tests/specs/test/steps_tap_failing_steps/__test__.jsonc b/tests/specs/test/steps_tap_failing_steps/__test__.jsonc new file mode 100644 index 000000000..fc83a7cdf --- /dev/null +++ b/tests/specs/test/steps_tap_failing_steps/__test__.jsonc @@ -0,0 +1,8 @@ +{ + "args": "test --reporter=tap failing_steps.ts", + "exitCode": 1, + "envs": { + "NO_COLOR": "1" + }, + "output": "failing_steps.tap.out" +} diff --git a/tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out b/tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out new file mode 100644 index 000000000..b47b9fed3 --- /dev/null +++ b/tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out @@ -0,0 +1,43 @@ +TAP version 14 +# [WILDCARD]failing_steps.ts +# Subtest: nested failure + not ok 1 - inner 1 + --- + {"message":"Error: Failed.\n throw new Error(\"Failed.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... + ok 2 - inner 2 + not ok 3 - step 1 + --- + {"message":"1 test step failed.","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... + 1..3 +not ok 1 - nested failure + --- + {"message":"1 test step failed.","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... +# Subtest: multiple test step failures + not ok 1 - step 1 + --- + {"message":"Error: Fail.\n throw new Error(\"Fail.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... + not ok 2 - step 2 + --- + {"message":"Error: Fail.\n await t.step(\"step 2\", () => Promise.reject(new Error(\"Fail.\")));\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... + 1..2 +not ok 2 - multiple test step failures + --- + {"message":"2 test steps failed.","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... +# Subtest: failing step in failing test + not ok 1 - step 1 + --- + {"message":"Error: Fail.\n throw new Error(\"Fail.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... + 1..1 +not ok 3 - failing step in failing test + --- + {"message":"Error: Fail test.\n throw new Error(\"Fail test.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]","severity":"fail","at":{"file":"[WILDCARD]failing_steps.ts","line":[WILDCARD]}} + ... +1..3 +error: Test failed diff --git a/tests/specs/test/steps_tap_failing_steps/failing_steps.ts b/tests/specs/test/steps_tap_failing_steps/failing_steps.ts new file mode 100644 index 000000000..efa18d54e --- /dev/null +++ b/tests/specs/test/steps_tap_failing_steps/failing_steps.ts @@ -0,0 +1,27 @@ +Deno.test("nested failure", async (t) => { + const success = await t.step("step 1", async (t) => { + let success = await t.step("inner 1", () => { + throw new Error("Failed."); + }); + if (success) throw new Error("Expected failure"); + + success = await t.step("inner 2", () => {}); + if (!success) throw new Error("Expected success"); + }); + + if (success) throw new Error("Expected failure"); +}); + +Deno.test("multiple test step failures", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + await t.step("step 2", () => Promise.reject(new Error("Fail."))); +}); + +Deno.test("failing step in failing test", async (t) => { + await t.step("step 1", () => { + throw new Error("Fail."); + }); + throw new Error("Fail test."); +}); diff --git a/tests/specs/test/steps_tap_ignored_steps/__test__.jsonc b/tests/specs/test/steps_tap_ignored_steps/__test__.jsonc new file mode 100644 index 000000000..c28efe691 --- /dev/null +++ b/tests/specs/test/steps_tap_ignored_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter=tap ignored_steps.ts", + "exitCode": 0, + "output": "ignored_steps.tap.out" +} diff --git a/tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out new file mode 100644 index 000000000..638905772 --- /dev/null +++ b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out @@ -0,0 +1,8 @@ +TAP version 14 +# [WILDCARD]ignored_steps.ts +# Subtest: ignored step + ok 1 - step 1 # SKIP + ok 2 - step 2 + 1..2 +ok 1 - ignored step +1..1 diff --git a/tests/specs/test/steps_tap_ignored_steps/ignored_steps.ts b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.ts new file mode 100644 index 000000000..102b481fb --- /dev/null +++ b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.ts @@ -0,0 +1,16 @@ +Deno.test("ignored step", async (t) => { + let result = await t.step({ + name: "step 1", + ignore: true, + fn: () => { + throw new Error("Fail."); + }, + }); + if (result !== false) throw new Error("Expected false."); + result = await t.step({ + name: "step 2", + ignore: false, + fn: () => {}, + }); + if (result !== true) throw new Error("Expected true."); +}); diff --git a/tests/specs/test/steps_tap_passing_steps/__test__.jsonc b/tests/specs/test/steps_tap_passing_steps/__test__.jsonc new file mode 100644 index 000000000..b30d20d6b --- /dev/null +++ b/tests/specs/test/steps_tap_passing_steps/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --reporter=tap passing_steps.ts", + "exitCode": 0, + "output": "passing_steps.tap.out" +} diff --git a/tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out b/tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out new file mode 100644 index 000000000..0797fb7de --- /dev/null +++ b/tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out @@ -0,0 +1,42 @@ +TAP version 14 +# [WILDCARD]passing_steps.ts +# Subtest: description + ok 1 - inner 1 + ok 2 - inner 2 + ok 3 - step 1 + 1..3 +ok 1 - description +# Subtest: description function as first arg + ok 1 - inner1 + ok 2 - inner1 + ok 3 - step1 + 1..3 +ok 2 - description function as first arg +# Subtest: parallel steps without sanitizers + ok 1 - step 1 + ok 2 - step 2 + 1..2 +ok 3 - parallel steps without sanitizers +# Subtest: parallel steps without sanitizers due to parent + ok 1 - step 1 + ok 2 - step 2 + 1..2 +ok 4 - parallel steps without sanitizers due to parent +# Subtest: steps with disabled sanitizers, then enabled, then parallel disabled + ok 1 - step 2 + ok 2 - step 1 + ok 3 - step 1 + ok 4 - step 1 + ok 5 - step 1 + ok 6 - step 1 + 1..6 +ok 5 - steps with disabled sanitizers, then enabled, then parallel disabled +# Subtest: steps buffered then streaming reporting + ok 1 - step 1 - 2 - 1 + ok 2 - step 1 - 2 + ok 3 - step 1 - 1 + ok 4 - step 1 + ok 5 - step 2 + 1..5 +ok 6 - steps buffered then streaming reporting +1..6 diff --git a/tests/specs/test/steps_tap_passing_steps/passing_steps.ts b/tests/specs/test/steps_tap_passing_steps/passing_steps.ts new file mode 100644 index 000000000..fd145954b --- /dev/null +++ b/tests/specs/test/steps_tap_passing_steps/passing_steps.ts @@ -0,0 +1,127 @@ +Deno.test("description", async (t) => { + const success = await t.step("step 1", async (t) => { + await t.step("inner 1", () => {}); + await t.step("inner 2", () => {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("description function as first arg", async (t) => { + const success = await t.step(async function step1(t) { + await t.step(function inner1() {}); + await t.step(function inner1() {}); + }); + + if (!success) throw new Error("Expected the step to return true."); +}); + +Deno.test("parallel steps without sanitizers", async (t) => { + // allowed + await Promise.all([ + t.step({ + name: "step 1", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + t.step({ + name: "step 2", + fn: async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }, + sanitizeOps: false, + sanitizeResources: false, + sanitizeExit: false, + }), + ]); +}); + +Deno.test({ + name: "parallel steps without sanitizers due to parent", + fn: async (t) => { + // allowed because parent disabled the sanitizers + await Promise.all([ + t.step("step 1", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + t.step("step 2", async () => { + await new Promise((resolve) => setTimeout(resolve, 10)); + }), + ]); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test({ + name: "steps with disabled sanitizers, then enabled, then parallel disabled", + fn: async (t) => { + await t.step("step 1", async (t) => { + await t.step({ + name: "step 1", + fn: async (t) => { + await Promise.all([ + t.step({ + name: "step 1", + fn: async (t) => { + await new Promise((resolve) => setTimeout(resolve, 10)); + await Promise.all([ + t.step("step 1", () => {}), + t.step("step 1", () => {}), + ]); + }, + sanitizeExit: false, + sanitizeResources: false, + sanitizeOps: false, + }), + t.step({ + name: "step 2", + fn: () => {}, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }), + ]); + }, + sanitizeResources: true, + sanitizeOps: true, + sanitizeExit: true, + }); + }); + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, +}); + +Deno.test("steps buffered then streaming reporting", async (t) => { + // no sanitizers so this will be buffered + await t.step({ + name: "step 1", + fn: async (t) => { + // also ensure the buffered tests display in order regardless of the second one finishing first + const step2Finished = Promise.withResolvers(); + const step1 = t.step("step 1 - 1", async () => { + await step2Finished.promise; + }); + const step2 = t.step("step 1 - 2", async (t) => { + await t.step("step 1 - 2 - 1", () => {}); + }); + await step2; + step2Finished.resolve(); + await step1; + }, + sanitizeResources: false, + sanitizeOps: false, + sanitizeExit: false, + }); + + // now this will start streaming and we want to + // ensure it flushes the buffer of the last test + await t.step("step 2", async () => {}); +}); diff --git a/tests/specs/test/test_filtered_out_only/__test__.jsonc b/tests/specs/test/test_filtered_out_only/__test__.jsonc new file mode 100644 index 000000000..b190d0166 --- /dev/null +++ b/tests/specs/test/test_filtered_out_only/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "test --quiet --filter foo main.ts", + "output": "main.out" +} diff --git a/tests/specs/test/test_filtered_out_only/main.out b/tests/specs/test/test_filtered_out_only/main.out new file mode 100644 index 000000000..488643c80 --- /dev/null +++ b/tests/specs/test/test_filtered_out_only/main.out @@ -0,0 +1,5 @@ +running 1 test from ./main.ts +foo ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed | 1 filtered out ([WILDCARD]) + diff --git a/tests/specs/test/test_filtered_out_only/main.ts b/tests/specs/test/test_filtered_out_only/main.ts new file mode 100644 index 000000000..bda301a43 --- /dev/null +++ b/tests/specs/test/test_filtered_out_only/main.ts @@ -0,0 +1,2 @@ +Deno.test("foo", () => {}); +Deno.test("bar", { only: true }, () => {}); diff --git a/tests/specs/test/test_replace_timers/__test__.jsonc b/tests/specs/test/test_replace_timers/__test__.jsonc new file mode 100644 index 000000000..bc9124318 --- /dev/null +++ b/tests/specs/test/test_replace_timers/__test__.jsonc @@ -0,0 +1,5 @@ +// Regression test for https://github.com/denoland/deno/issues/23041 +{ + "args": "test main.js", + "output": "main.out" +} diff --git a/tests/specs/test/test_replace_timers/main.js b/tests/specs/test/test_replace_timers/main.js new file mode 100644 index 000000000..692f1d671 --- /dev/null +++ b/tests/specs/test/test_replace_timers/main.js @@ -0,0 +1,7 @@ +Deno.test("foo", async (t) => { + globalThis.setTimeout = () => {}; + globalThis.clearTimeout = () => {}; + globalThis.setInterval = () => {}; + globalThis.clearInterval = () => {}; + await t.step("bar", () => {}); +}); diff --git a/tests/specs/test/test_replace_timers/main.out b/tests/specs/test/test_replace_timers/main.out new file mode 100644 index 000000000..cfac49943 --- /dev/null +++ b/tests/specs/test/test_replace_timers/main.out @@ -0,0 +1,7 @@ +running 1 test from [WILDCARD]/main.js +foo ... + bar ... ok ([WILDCARD]) +foo ... ok ([WILDCARD]) + +ok | 1 passed (1 step) | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/test_with_config/__test__.jsonc b/tests/specs/test/test_with_config/__test__.jsonc new file mode 100644 index 000000000..8bd1e2a9e --- /dev/null +++ b/tests/specs/test/test_with_config/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config collect/deno.jsonc collect", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/test_with_config/collect/deno.jsonc b/tests/specs/test/test_with_config/collect/deno.jsonc new file mode 100644 index 000000000..e14ce86da --- /dev/null +++ b/tests/specs/test/test_with_config/collect/deno.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "exclude": ["./ignore"] + } +} diff --git a/tests/specs/test/test_with_config/collect/deno.malformed.jsonc b/tests/specs/test/test_with_config/collect/deno.malformed.jsonc new file mode 100644 index 000000000..f2d8cbc65 --- /dev/null +++ b/tests/specs/test/test_with_config/collect/deno.malformed.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "dont_know_this_field": {} + } +} diff --git a/tests/specs/test/test_with_config/collect/deno2.jsonc b/tests/specs/test/test_with_config/collect/deno2.jsonc new file mode 100644 index 000000000..b7af09d1c --- /dev/null +++ b/tests/specs/test/test_with_config/collect/deno2.jsonc @@ -0,0 +1,6 @@ +{ + "test": { + "include": ["./include/"], + "exclude": ["./ignore", "./include/2_test.ts"] + } +} diff --git a/tests/specs/test/test_with_config/collect/ignore/test.ts b/tests/specs/test/test_with_config/collect/ignore/test.ts new file mode 100644 index 000000000..16fb63ba7 --- /dev/null +++ b/tests/specs/test/test_with_config/collect/ignore/test.ts @@ -0,0 +1 @@ +throw new Error("this module should be ignored"); diff --git a/tests/specs/test/test_with_config/collect/include.ts b/tests/specs/test/test_with_config/collect/include.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config/collect/include/2_test.ts b/tests/specs/test/test_with_config/collect/include/2_test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config/collect/include/test.ts b/tests/specs/test/test_with_config/collect/include/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config/collect/test.ts b/tests/specs/test/test_with_config/collect/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config/main.out b/tests/specs/test/test_with_config/main.out new file mode 100644 index 000000000..c140f2f7c --- /dev/null +++ b/tests/specs/test/test_with_config/main.out @@ -0,0 +1,9 @@ +Check [WILDCARD]collect/include/2_test.ts +Check [WILDCARD]collect/include/test.ts +Check [WILDCARD]collect/test.ts +running 0 tests from [WILDCARD]collect/include/2_test.ts +running 0 tests from [WILDCARD]collect/include/test.ts +running 0 tests from [WILDCARD]collect/test.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/test_with_config2/__test__.jsonc b/tests/specs/test/test_with_config2/__test__.jsonc new file mode 100644 index 000000000..51d0a8c6b --- /dev/null +++ b/tests/specs/test/test_with_config2/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config collect/deno2.jsonc collect", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/test_with_config2/collect/deno.jsonc b/tests/specs/test/test_with_config2/collect/deno.jsonc new file mode 100644 index 000000000..e14ce86da --- /dev/null +++ b/tests/specs/test/test_with_config2/collect/deno.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "exclude": ["./ignore"] + } +} diff --git a/tests/specs/test/test_with_config2/collect/deno.malformed.jsonc b/tests/specs/test/test_with_config2/collect/deno.malformed.jsonc new file mode 100644 index 000000000..f2d8cbc65 --- /dev/null +++ b/tests/specs/test/test_with_config2/collect/deno.malformed.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "dont_know_this_field": {} + } +} diff --git a/tests/specs/test/test_with_config2/collect/deno2.jsonc b/tests/specs/test/test_with_config2/collect/deno2.jsonc new file mode 100644 index 000000000..b7af09d1c --- /dev/null +++ b/tests/specs/test/test_with_config2/collect/deno2.jsonc @@ -0,0 +1,6 @@ +{ + "test": { + "include": ["./include/"], + "exclude": ["./ignore", "./include/2_test.ts"] + } +} diff --git a/tests/specs/test/test_with_config2/collect/ignore/test.ts b/tests/specs/test/test_with_config2/collect/ignore/test.ts new file mode 100644 index 000000000..16fb63ba7 --- /dev/null +++ b/tests/specs/test/test_with_config2/collect/ignore/test.ts @@ -0,0 +1 @@ +throw new Error("this module should be ignored"); diff --git a/tests/specs/test/test_with_config2/collect/include.ts b/tests/specs/test/test_with_config2/collect/include.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config2/collect/include/2_test.ts b/tests/specs/test/test_with_config2/collect/include/2_test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config2/collect/include/test.ts b/tests/specs/test/test_with_config2/collect/include/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config2/collect/test.ts b/tests/specs/test/test_with_config2/collect/test.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/specs/test/test_with_config2/main.out b/tests/specs/test/test_with_config2/main.out new file mode 100644 index 000000000..3354c16cc --- /dev/null +++ b/tests/specs/test/test_with_config2/main.out @@ -0,0 +1,7 @@ +Check [WILDCARD]/collect/include/test.ts +Check [WILDCARD]/collect/test.ts +running 0 tests from [WILDCARD]/collect/include/test.ts +running 0 tests from [WILDCARD]/collect/test.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/test_with_custom_jsx/__test__.jsonc b/tests/specs/test/test_with_custom_jsx/__test__.jsonc new file mode 100644 index 000000000..e516467ee --- /dev/null +++ b/tests/specs/test/test_with_custom_jsx/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet --allow-read main.ts --config=deno_custom_jsx.json", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json b/tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json new file mode 100644 index 000000000..7ef04d829 --- /dev/null +++ b/tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "jsxImportSource": "https://esm.sh/react@18.1.0" + } +} diff --git a/tests/specs/test/test_with_custom_jsx/main.out b/tests/specs/test/test_with_custom_jsx/main.out new file mode 100644 index 000000000..cfeb14fd5 --- /dev/null +++ b/tests/specs/test/test_with_custom_jsx/main.out @@ -0,0 +1,5 @@ +running 1 test from ./main.ts +hello world test ... ok ([WILDCARD]) + +ok | 1 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/test_with_custom_jsx/main.ts b/tests/specs/test/test_with_custom_jsx/main.ts new file mode 100644 index 000000000..4a1c3463f --- /dev/null +++ b/tests/specs/test/test_with_custom_jsx/main.ts @@ -0,0 +1,9 @@ +Deno.test({ + name: "hello world test", + fn(): void { + const world = "world"; + if ("world" !== world) { + throw new Error("world !== world"); + } + }, +}); diff --git a/tests/specs/test/test_with_glob_config/__test__.jsonc b/tests/specs/test/test_with_glob_config/__test__.jsonc new file mode 100644 index 000000000..9e2deabf9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config deno.glob.json", + "output": "main.out", + "exitCode": 0 +} diff --git a/tests/specs/test/test_with_glob_config/deno.glob.json b/tests/specs/test/test_with_glob_config/deno.glob.json new file mode 100644 index 000000000..9deb4d2f2 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/deno.glob.json @@ -0,0 +1,11 @@ +{ + "test": { + "include": [ + "glob/data/test1.?s", + "glob/nested/foo/*.ts", + "glob/nested/fizz/*.ts", + "glob/pages/[id].ts" + ], + "exclude": ["glob/nested/**/*bazz.ts"] + } +} diff --git a/tests/specs/test/test_with_glob_config/glob/data/tes.ts b/tests/specs/test/test_with_glob_config/glob/data/tes.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/data/tes.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/data/test1.js b/tests/specs/test/test_with_glob_config/glob/data/test1.js new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/data/test1.js @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/data/test1.ts b/tests/specs/test/test_with_glob_config/glob/data/test1.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/data/test1.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/data/test12.ts b/tests/specs/test/test_with_glob_config/glob/data/test12.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/data/test12.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/fizz/bar.ts b/tests/specs/test/test_with_glob_config/glob/nested/fizz/bar.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/fizz/bar.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/fizz/bazz.ts b/tests/specs/test/test_with_glob_config/glob/nested/fizz/bazz.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/fizz/bazz.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/fizz/fizz.ts b/tests/specs/test/test_with_glob_config/glob/nested/fizz/fizz.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/fizz/fizz.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/fizz/foo.ts b/tests/specs/test/test_with_glob_config/glob/nested/fizz/foo.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/fizz/foo.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/foo/bar.ts b/tests/specs/test/test_with_glob_config/glob/nested/foo/bar.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/foo/bar.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/foo/bazz.ts b/tests/specs/test/test_with_glob_config/glob/nested/foo/bazz.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/foo/bazz.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/foo/fizz.ts b/tests/specs/test/test_with_glob_config/glob/nested/foo/fizz.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/foo/fizz.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/nested/foo/foo.ts b/tests/specs/test/test_with_glob_config/glob/nested/foo/foo.ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/nested/foo/foo.ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/glob/pages/[id].ts b/tests/specs/test/test_with_glob_config/glob/pages/[id].ts new file mode 100644 index 000000000..6940729e9 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/glob/pages/[id].ts @@ -0,0 +1,2 @@ +function foo() { +} diff --git a/tests/specs/test/test_with_glob_config/main.out b/tests/specs/test/test_with_glob_config/main.out new file mode 100644 index 000000000..fbff4d934 --- /dev/null +++ b/tests/specs/test/test_with_glob_config/main.out @@ -0,0 +1,21 @@ +Check [WILDCARD]/glob/pages/[id].ts +Check [WILDCARD]/glob/data/test1.js +Check [WILDCARD]/glob/data/test1.ts +Check [WILDCARD]/glob/nested/fizz/bar.ts +Check [WILDCARD]/glob/nested/fizz/fizz.ts +Check [WILDCARD]/glob/nested/fizz/foo.ts +Check [WILDCARD]/glob/nested/foo/bar.ts +Check [WILDCARD]/glob/nested/foo/fizz.ts +Check [WILDCARD]/glob/nested/foo/foo.ts +running 0 tests from ./glob/pages/[id].ts +running 0 tests from ./glob/data/test1.js +running 0 tests from ./glob/data/test1.ts +running 0 tests from ./glob/nested/fizz/bar.ts +running 0 tests from ./glob/nested/fizz/fizz.ts +running 0 tests from ./glob/nested/fizz/foo.ts +running 0 tests from ./glob/nested/foo/bar.ts +running 0 tests from ./glob/nested/foo/fizz.ts +running 0 tests from ./glob/nested/foo/foo.ts + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/test_with_malformed_config/__test__.jsonc b/tests/specs/test/test_with_malformed_config/__test__.jsonc new file mode 100644 index 000000000..56c30bce6 --- /dev/null +++ b/tests/specs/test/test_with_malformed_config/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --config deno.malformed.jsonc", + "exitCode": 1, + "output": "main.out" +} diff --git a/tests/specs/test/test_with_malformed_config/deno.malformed.jsonc b/tests/specs/test/test_with_malformed_config/deno.malformed.jsonc new file mode 100644 index 000000000..f2d8cbc65 --- /dev/null +++ b/tests/specs/test/test_with_malformed_config/deno.malformed.jsonc @@ -0,0 +1,5 @@ +{ + "test": { + "dont_know_this_field": {} + } +} diff --git a/tests/specs/test/test_with_malformed_config/main.out b/tests/specs/test/test_with_malformed_config/main.out new file mode 100644 index 000000000..b31b18e6a --- /dev/null +++ b/tests/specs/test/test_with_malformed_config/main.out @@ -0,0 +1,4 @@ +error: Failed to parse "test" configuration + +Caused by: + unknown field `dont_know_this_field`, expected one of `include`, `exclude`, `files` diff --git a/tests/specs/test/text/__test__.jsonc b/tests/specs/test/text/__test__.jsonc new file mode 100644 index 000000000..35ec2225b --- /dev/null +++ b/tests/specs/test/text/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --doc --allow-all main.md", + "exitCode": 0, + "output": "main.out" +} diff --git a/tests/specs/test/text/main.md b/tests/specs/test/text/main.md new file mode 100644 index 000000000..be89d24bf --- /dev/null +++ b/tests/specs/test/text/main.md @@ -0,0 +1 @@ +This fixture contains no actual tests. diff --git a/tests/specs/test/text/main.out b/tests/specs/test/text/main.out new file mode 100644 index 000000000..f1b7f7d01 --- /dev/null +++ b/tests/specs/test/text/main.out @@ -0,0 +1,3 @@ + +ok | 0 passed | 0 failed ([WILDCARD]) + diff --git a/tests/specs/test/uncaught_errors/__test__.jsonc b/tests/specs/test/uncaught_errors/__test__.jsonc new file mode 100644 index 000000000..746ddfc26 --- /dev/null +++ b/tests/specs/test/uncaught_errors/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test --quiet uncaught_errors_1.ts uncaught_errors_2.ts uncaught_errors_3.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/uncaught_errors/main.out b/tests/specs/test/uncaught_errors/main.out new file mode 100644 index 000000000..23d59e61c --- /dev/null +++ b/tests/specs/test/uncaught_errors/main.out @@ -0,0 +1,59 @@ +running 3 tests from [WILDCARD]/uncaught_errors_1.ts +foo 1 ... FAILED ([WILDCARD]) +foo 2 ... ok ([WILDCARD]) +foo 3 ... +Uncaught error from [WILDCARD]/uncaught_errors_1.ts FAILED +foo 3 ... cancelled (0ms) +running 3 tests from [WILDCARD]/uncaught_errors_2.ts +bar 1 ... ok ([WILDCARD]) +bar 2 ... FAILED ([WILDCARD]) +bar 3 ... FAILED ([WILDCARD]) +Uncaught error from [WILDCARD]/uncaught_errors_3.ts FAILED + + ERRORS + +foo 1 => [WILDCARD]/uncaught_errors_1.ts:1:6 +error: Error: foo 1 message + throw new Error("foo 1 message"); + ^ + at [WILDCARD]/uncaught_errors_1.ts:2:9 + +[WILDCARD]/uncaught_errors_1.ts (uncaught error) +error: (in promise) Error: foo 3 message + Promise.reject(new Error("foo 3 message")); + ^ + at [WILDCARD]/uncaught_errors_1.ts:8:18 +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + +bar 2 => [WILDCARD]/uncaught_errors_2.ts:3:6 +error: Error: bar 2 + throw new Error("bar 2"); + ^ + at [WILDCARD]/uncaught_errors_2.ts:4:9 + +bar 3 => [WILDCARD]/uncaught_errors_2.ts:6:6 +error: Error: bar 3 message + throw new Error("bar 3 message"); + ^ + at [WILDCARD]/uncaught_errors_2.ts:7:9 + +[WILDCARD]/uncaught_errors_3.ts (uncaught error) +error: (in promise) Error: baz +throw new Error("baz"); + ^ + at [WILDCARD]/uncaught_errors_3.ts:1:7 +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + + FAILURES + +foo 1 => [WILDCARD]/uncaught_errors_1.ts:1:6 +[WILDCARD]/uncaught_errors_1.ts (uncaught error) +bar 2 => [WILDCARD]/uncaught_errors_2.ts:3:6 +bar 3 => [WILDCARD]/uncaught_errors_2.ts:6:6 +[WILDCARD]/uncaught_errors_3.ts (uncaught error) + +FAILED | 2 passed | 6 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/uncaught_errors/uncaught_errors_1.ts b/tests/specs/test/uncaught_errors/uncaught_errors_1.ts new file mode 100644 index 000000000..166b23ac3 --- /dev/null +++ b/tests/specs/test/uncaught_errors/uncaught_errors_1.ts @@ -0,0 +1,9 @@ +Deno.test("foo 1", () => { + throw new Error("foo 1 message"); +}); + +Deno.test("foo 2", () => {}); + +Deno.test("foo 3", () => { + Promise.reject(new Error("foo 3 message")); +}); diff --git a/tests/specs/test/uncaught_errors/uncaught_errors_2.ts b/tests/specs/test/uncaught_errors/uncaught_errors_2.ts new file mode 100644 index 000000000..8cafbe291 --- /dev/null +++ b/tests/specs/test/uncaught_errors/uncaught_errors_2.ts @@ -0,0 +1,8 @@ +Deno.test("bar 1", () => {}); + +Deno.test("bar 2", () => { + throw new Error("bar 2"); +}); +Deno.test("bar 3", () => { + throw new Error("bar 3 message"); +}); diff --git a/tests/specs/test/uncaught_errors/uncaught_errors_3.ts b/tests/specs/test/uncaught_errors/uncaught_errors_3.ts new file mode 100644 index 000000000..cb2a55036 --- /dev/null +++ b/tests/specs/test/uncaught_errors/uncaught_errors_3.ts @@ -0,0 +1 @@ +throw new Error("baz"); diff --git a/tests/specs/test/unhandled_rejection/__test__.jsonc b/tests/specs/test/unhandled_rejection/__test__.jsonc new file mode 100644 index 000000000..d8887f753 --- /dev/null +++ b/tests/specs/test/unhandled_rejection/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/unhandled_rejection/main.out b/tests/specs/test/unhandled_rejection/main.out new file mode 100644 index 000000000..e708ae20c --- /dev/null +++ b/tests/specs/test/unhandled_rejection/main.out @@ -0,0 +1,22 @@ +Check [WILDCARD]/main.ts +Uncaught error from ./main.ts FAILED + + ERRORS + +./main.ts (uncaught error) +error: (in promise) Error: rejection + reject(new Error("rejection")); + ^ + at [WILDCARD]/main.ts:2:10 + at new Promise () + at [WILDCARD]/main.ts:1:1 +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + + FAILURES + +./main.ts (uncaught error) + +FAILED | 0 passed | 1 failed ([WILDCARD]) + +error: Test failed diff --git a/tests/specs/test/unhandled_rejection/main.ts b/tests/specs/test/unhandled_rejection/main.ts new file mode 100644 index 000000000..32f3111ea --- /dev/null +++ b/tests/specs/test/unhandled_rejection/main.ts @@ -0,0 +1,3 @@ +new Promise((_resolve, reject) => { + reject(new Error("rejection")); +}); diff --git a/tests/specs/test/unresolved_promise/__test__.jsonc b/tests/specs/test/unresolved_promise/__test__.jsonc new file mode 100644 index 000000000..d8887f753 --- /dev/null +++ b/tests/specs/test/unresolved_promise/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "test main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/specs/test/unresolved_promise/main.out b/tests/specs/test/unresolved_promise/main.out new file mode 100644 index 000000000..0195400b6 --- /dev/null +++ b/tests/specs/test/unresolved_promise/main.out @@ -0,0 +1,10 @@ +[WILDCARD] +./main.ts (uncaught error) +error: Top-level await promise never resolved +await new Promise((_resolve, _reject) => {}); +^ + at ([WILDCARD]/main.ts:1:1) +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. +[WILDCARD] +error: Test failed diff --git a/tests/specs/test/unresolved_promise/main.ts b/tests/specs/test/unresolved_promise/main.ts new file mode 100644 index 000000000..25fe70762 --- /dev/null +++ b/tests/specs/test/unresolved_promise/main.ts @@ -0,0 +1 @@ +await new Promise((_resolve, _reject) => {}); diff --git a/tests/testdata/test/aggregate_error.out b/tests/testdata/test/aggregate_error.out deleted file mode 100644 index e70bf5963..000000000 --- a/tests/testdata/test/aggregate_error.out +++ /dev/null @@ -1,22 +0,0 @@ -running 1 test from ./test/aggregate_error.ts -aggregate ... FAILED ([WILDCARD]) - - ERRORS - -aggregate => ./test/aggregate_error.ts:[WILDCARD] -error: AggregateError - Error: Error 1 - at [WILDCARD]/testdata/test/aggregate_error.ts:2:18 - Error: Error 2 - at [WILDCARD]/testdata/test/aggregate_error.ts:3:18 - throw new AggregateError([error1, error2]); - ^ - at [WILDCARD]/testdata/test/aggregate_error.ts:5:9 - - FAILURES - -aggregate => ./test/aggregate_error.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/aggregate_error.ts b/tests/testdata/test/aggregate_error.ts deleted file mode 100644 index 0661ea249..000000000 --- a/tests/testdata/test/aggregate_error.ts +++ /dev/null @@ -1,6 +0,0 @@ -Deno.test("aggregate", function () { - const error1 = new Error("Error 1"); - const error2 = new Error("Error 2"); - - throw new AggregateError([error1, error2]); -}); diff --git a/tests/testdata/test/allow_all.out b/tests/testdata/test/allow_all.out deleted file mode 100644 index b3bf5275f..000000000 --- a/tests/testdata/test/allow_all.out +++ /dev/null @@ -1,16 +0,0 @@ -[WILDCARD] -running 12 tests from [WILDCARD] -read false ... ok [WILDCARD] -read true ... ok [WILDCARD] -write false ... ok [WILDCARD] -write true ... ok [WILDCARD] -net false ... ok [WILDCARD] -net true ... ok [WILDCARD] -env false ... ok [WILDCARD] -env true ... ok [WILDCARD] -run false ... ok [WILDCARD] -run true ... ok [WILDCARD] -ffi false ... ok [WILDCARD] -ffi true ... ok [WILDCARD] - -ok | 12 passed | 0 failed [WILDCARD] diff --git a/tests/testdata/test/allow_all.ts b/tests/testdata/test/allow_all.ts deleted file mode 100644 index 7faa58c61..000000000 --- a/tests/testdata/test/allow_all.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { assertEquals } from "@std/assert"; - -const permissions: Deno.PermissionName[] = [ - "read", - "write", - "net", - "env", - "run", - "ffi", -]; - -for (const name of permissions) { - Deno.test({ - name: `${name} false`, - permissions: { - [name]: false, - }, - async fn() { - for await (const n of permissions) { - const status = await Deno.permissions.query({ name: n }); - assertEquals(status.state, "prompt"); - } - }, - }); - - Deno.test({ - name: `${name} true`, - permissions: { - [name]: true, - }, - async fn() { - for await (const n of permissions) { - const status = await Deno.permissions.query({ name: n }); - if (n === name) { - assertEquals(status.state, "granted"); - } else { - assertEquals(status.state, "prompt"); - } - } - }, - }); -} diff --git a/tests/testdata/test/allow_none.out b/tests/testdata/test/allow_none.out deleted file mode 100644 index 37ed8548a..000000000 --- a/tests/testdata/test/allow_none.out +++ /dev/null @@ -1,45 +0,0 @@ -[WILDCARD] -running 6 tests from [WILDCARD] -read ... FAILED [WILDCARD] -write ... FAILED [WILDCARD] -net ... FAILED [WILDCARD] -env ... FAILED [WILDCARD] -run ... FAILED [WILDCARD] -ffi ... FAILED [WILDCARD] - - ERRORS - -read => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - -write => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - -net => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - -env => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - -run => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - -ffi => ./test/allow_none.ts:[WILDCARD] -error: NotCapable: Can't escalate parent thread permissions -[WILDCARD] - - FAILURES - -read => ./test/allow_none.ts:[WILDCARD] -write => ./test/allow_none.ts:[WILDCARD] -net => ./test/allow_none.ts:[WILDCARD] -env => ./test/allow_none.ts:[WILDCARD] -run => ./test/allow_none.ts:[WILDCARD] -ffi => ./test/allow_none.ts:[WILDCARD] - -FAILED | 0 passed | 6 failed [WILDCARD] diff --git a/tests/testdata/test/allow_none.ts b/tests/testdata/test/allow_none.ts deleted file mode 100644 index e59a30c4d..000000000 --- a/tests/testdata/test/allow_none.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { unreachable } from "@std/assert"; - -const permissions: Deno.PermissionName[] = [ - "read", - "write", - "net", - "env", - "run", - "ffi", -]; - -for (const name of permissions) { - Deno.test({ - name, - permissions: { - [name]: true, - }, - fn() { - unreachable(); - }, - }); -} diff --git a/tests/testdata/test/before_unload_prevent_default.out b/tests/testdata/test/before_unload_prevent_default.out deleted file mode 100644 index 09da32ff9..000000000 --- a/tests/testdata/test/before_unload_prevent_default.out +++ /dev/null @@ -1,5 +0,0 @@ -running 1 test from [WILDCARD]/before_unload_prevent_default.ts -foo ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/before_unload_prevent_default.ts b/tests/testdata/test/before_unload_prevent_default.ts deleted file mode 100644 index 421ded520..000000000 --- a/tests/testdata/test/before_unload_prevent_default.ts +++ /dev/null @@ -1,6 +0,0 @@ -addEventListener("beforeunload", (e) => { - // The worker should be killed once tests are done regardless of this. - e.preventDefault(); -}); - -Deno.test("foo", () => {}); diff --git a/tests/testdata/test/captured_output.ts b/tests/testdata/test/captured_output.ts deleted file mode 100644 index 3eed249a2..000000000 --- a/tests/testdata/test/captured_output.ts +++ /dev/null @@ -1,33 +0,0 @@ -Deno.test("output", async () => { - await new Deno.Command(Deno.execPath(), { - args: ["eval", "console.log(0); console.error(1);"], - }).spawn().status; - new Deno.Command(Deno.execPath(), { - args: ["eval", "console.log(2); console.error(3);"], - stdout: "inherit", - stderr: "inherit", - }).outputSync(); - await new Deno.Command(Deno.execPath(), { - args: ["eval", "console.log(4); console.error(5);"], - stdout: "inherit", - stderr: "inherit", - }).output(); - const c = new Deno.Command(Deno.execPath(), { - args: ["eval", "console.log(6); console.error(7);"], - stdout: "inherit", - stderr: "inherit", - }).spawn(); - await c.status; - const worker = new Worker( - import.meta.resolve("./captured_output.worker.js"), - { type: "module" }, - ); - - // ensure worker output is captured - const response = new Promise((resolve) => - worker.onmessage = () => resolve() - ); - worker.postMessage({}); - await response; - worker.terminate(); -}); diff --git a/tests/testdata/test/captured_output.worker.js b/tests/testdata/test/captured_output.worker.js deleted file mode 100644 index f49f26880..000000000 --- a/tests/testdata/test/captured_output.worker.js +++ /dev/null @@ -1,6 +0,0 @@ -self.onmessage = () => { - console.log(8); - console.error(9); - self.postMessage({}); - self.close(); -}; diff --git a/tests/testdata/test/check_local_by_default.out b/tests/testdata/test/check_local_by_default.out deleted file mode 100644 index 4564f99b8..000000000 --- a/tests/testdata/test/check_local_by_default.out +++ /dev/null @@ -1,4 +0,0 @@ -running 0 tests from ./test/check_local_by_default.ts - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/check_local_by_default.ts b/tests/testdata/test/check_local_by_default.ts deleted file mode 100644 index 2ae8c2692..000000000 --- a/tests/testdata/test/check_local_by_default.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as a from "http://localhost:4545/subdir/type_error.ts"; - -console.log(a.a); diff --git a/tests/testdata/test/check_local_by_default2.out b/tests/testdata/test/check_local_by_default2.out deleted file mode 100644 index b933ac483..000000000 --- a/tests/testdata/test/check_local_by_default2.out +++ /dev/null @@ -1,4 +0,0 @@ -error: TS2322 [ERROR]: Type '12' is not assignable to type '"b"'. -const b: "b" = 12; - ^ - at [WILDCARD]test/check_local_by_default2.ts:3:7 diff --git a/tests/testdata/test/check_local_by_default2.ts b/tests/testdata/test/check_local_by_default2.ts deleted file mode 100644 index 5177ff944..000000000 --- a/tests/testdata/test/check_local_by_default2.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as a from "http://localhost:4545/subdir/type_error.ts"; - -const b: "b" = 12; - -console.log(a.a); -console.log(b); diff --git a/tests/testdata/test/clear_timeout.out b/tests/testdata/test/clear_timeout.out deleted file mode 100644 index 4d3ff8862..000000000 --- a/tests/testdata/test/clear_timeout.out +++ /dev/null @@ -1,8 +0,0 @@ -Check [WILDCARD]/test/clear_timeout.ts -running 3 tests from ./test/clear_timeout.ts -test 1 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) -test 3 ... ok ([WILDCARD]) - -ok | 3 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/clear_timeout.ts b/tests/testdata/test/clear_timeout.ts deleted file mode 100644 index 00056e853..000000000 --- a/tests/testdata/test/clear_timeout.ts +++ /dev/null @@ -1,5 +0,0 @@ -clearTimeout(setTimeout(() => {}, 1000)); - -Deno.test("test 1", () => {}); -Deno.test("test 2", () => {}); -Deno.test("test 3", () => {}); diff --git a/tests/testdata/test/collect.out b/tests/testdata/test/collect.out deleted file mode 100644 index 734adbe6b..000000000 --- a/tests/testdata/test/collect.out +++ /dev/null @@ -1,9 +0,0 @@ -Check [WILDCARD]/test/collect/include/2_test.ts -Check [WILDCARD]/test/collect/include/test.ts -Check [WILDCARD]/test/collect/test.ts -running 0 tests from [WILDCARD]/test/collect/include/2_test.ts -running 0 tests from [WILDCARD]/test/collect/include/test.ts -running 0 tests from [WILDCARD]/test/collect/test.ts - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/collect/deno.jsonc b/tests/testdata/test/collect/deno.jsonc deleted file mode 100644 index e14ce86da..000000000 --- a/tests/testdata/test/collect/deno.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "test": { - "exclude": ["./ignore"] - } -} diff --git a/tests/testdata/test/collect/deno.malformed.jsonc b/tests/testdata/test/collect/deno.malformed.jsonc deleted file mode 100644 index f2d8cbc65..000000000 --- a/tests/testdata/test/collect/deno.malformed.jsonc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "test": { - "dont_know_this_field": {} - } -} diff --git a/tests/testdata/test/collect/deno2.jsonc b/tests/testdata/test/collect/deno2.jsonc deleted file mode 100644 index b7af09d1c..000000000 --- a/tests/testdata/test/collect/deno2.jsonc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "test": { - "include": ["./include/"], - "exclude": ["./ignore", "./include/2_test.ts"] - } -} diff --git a/tests/testdata/test/collect/ignore/test.ts b/tests/testdata/test/collect/ignore/test.ts deleted file mode 100644 index 16fb63ba7..000000000 --- a/tests/testdata/test/collect/ignore/test.ts +++ /dev/null @@ -1 +0,0 @@ -throw new Error("this module should be ignored"); diff --git a/tests/testdata/test/collect/include.ts b/tests/testdata/test/collect/include.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/testdata/test/collect/include/2_test.ts b/tests/testdata/test/collect/include/2_test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/testdata/test/collect/include/test.ts b/tests/testdata/test/collect/include/test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/testdata/test/collect/test.ts b/tests/testdata/test/collect/test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/testdata/test/collect2.out b/tests/testdata/test/collect2.out deleted file mode 100644 index 0c00c956a..000000000 --- a/tests/testdata/test/collect2.out +++ /dev/null @@ -1,7 +0,0 @@ -Check [WILDCARD]/test/collect/include/test.ts -Check [WILDCARD]/test/collect/test.ts -running 0 tests from [WILDCARD]/test/collect/include/test.ts -running 0 tests from [WILDCARD]/test/collect/test.ts - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/collect_with_malformed_config.out b/tests/testdata/test/collect_with_malformed_config.out deleted file mode 100644 index b31b18e6a..000000000 --- a/tests/testdata/test/collect_with_malformed_config.out +++ /dev/null @@ -1,4 +0,0 @@ -error: Failed to parse "test" configuration - -Caused by: - unknown field `dont_know_this_field`, expected one of `include`, `exclude`, `files` diff --git a/tests/testdata/test/deno_custom_jsx.json b/tests/testdata/test/deno_custom_jsx.json deleted file mode 100644 index 7ef04d829..000000000 --- a/tests/testdata/test/deno_custom_jsx.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "jsx": "react-jsx", - "jsxImportSource": "https://esm.sh/react@18.1.0" - } -} diff --git a/tests/testdata/test/doc.out b/tests/testdata/test/doc.out deleted file mode 100644 index cd8bbb620..000000000 --- a/tests/testdata/test/doc.out +++ /dev/null @@ -1,9 +0,0 @@ -Check [WILDCARD]/doc.ts$6-9.js -Check [WILDCARD]/doc.ts$10-13.jsx -Check [WILDCARD]/doc.ts$14-17.ts -Check [WILDCARD]/doc.ts$18-21.tsx -Check [WILDCARD]/doc.ts$30-35.ts -error: TS2367 [ERROR]: This comparison appears to be unintentional because the types 'string' and 'number' have no overlap. -console.assert(check() == 42); - ~~~~~~~~~~~~~ - at [WILDCARD]/doc.ts$30-35.ts:3:16 diff --git a/tests/testdata/test/doc.ts b/tests/testdata/test/doc.ts deleted file mode 100644 index 519479fc5..000000000 --- a/tests/testdata/test/doc.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * ``` - * import * as doc from "./doc.ts"; - * ``` - * - * ```js - * import * as doc from "./doc.ts"; - * ``` - * - * ```jsx - * import * as doc from "./doc.ts"; - * ``` - * - * ```ts - * import * as doc from "./doc.ts"; - * ``` - * - * ```tsx - * import * as doc from "./doc.ts"; - * ``` - * - * ```text - * import * as doc from "./doc.ts"; - * ``` - * - * @module doc - */ - -/** - * ```ts - * import { check } from "./doc.ts"; - * - * console.assert(check() == 42); - * ``` - */ -export function check(): string { - return "check"; -} diff --git a/tests/testdata/test/doc_only.out b/tests/testdata/test/doc_only.out deleted file mode 100644 index 2b8b6dc73..000000000 --- a/tests/testdata/test/doc_only.out +++ /dev/null @@ -1,4 +0,0 @@ -Check [WILDCARD]/test/doc_only/mod.ts$2-5.ts - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/doc_only/mod.ts b/tests/testdata/test/doc_only/mod.ts deleted file mode 100644 index 467d850a2..000000000 --- a/tests/testdata/test/doc_only/mod.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * ```ts - * import "./mod.ts"; - * ``` - */ -Deno.test("unreachable", function () { - throw new Error( - "modules that don't end with _test are scanned for documentation tests only should not be executed", - ); -}); diff --git a/tests/testdata/test/fail.out b/tests/testdata/test/fail.out deleted file mode 100644 index 3fcf6fd8f..000000000 --- a/tests/testdata/test/fail.out +++ /dev/null @@ -1,91 +0,0 @@ -Check [WILDCARD]/test/fail.ts -running 10 tests from ./test/fail.ts -test 0 ... FAILED ([WILDCARD]) -test 1 ... FAILED ([WILDCARD]) -test 2 ... FAILED ([WILDCARD]) -test 3 ... FAILED ([WILDCARD]) -test 4 ... FAILED ([WILDCARD]) -test 5 ... FAILED ([WILDCARD]) -test 6 ... FAILED ([WILDCARD]) -test 7 ... FAILED ([WILDCARD]) -test 8 ... FAILED ([WILDCARD]) -test 9 ... FAILED ([WILDCARD]) - - ERRORS - -test 0 => ./test/fail.ts:1:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:2:9 - -test 1 => ./test/fail.ts:4:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:5:9 - -test 2 => ./test/fail.ts:7:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:8:9 - -test 3 => ./test/fail.ts:10:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:11:9 - -test 4 => ./test/fail.ts:13:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:14:9 - -test 5 => ./test/fail.ts:16:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:17:9 - -test 6 => ./test/fail.ts:19:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:20:9 - -test 7 => ./test/fail.ts:22:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:23:9 - -test 8 => ./test/fail.ts:25:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:26:9 - -test 9 => ./test/fail.ts:28:6 -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail.ts:29:9 - - FAILURES - -test 0 => ./test/fail.ts:1:6 -test 1 => ./test/fail.ts:4:6 -test 2 => ./test/fail.ts:7:6 -test 3 => ./test/fail.ts:10:6 -test 4 => ./test/fail.ts:13:6 -test 5 => ./test/fail.ts:16:6 -test 6 => ./test/fail.ts:19:6 -test 7 => ./test/fail.ts:22:6 -test 8 => ./test/fail.ts:25:6 -test 9 => ./test/fail.ts:28:6 - -FAILED | 0 passed | 10 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/fail.ts b/tests/testdata/test/fail.ts deleted file mode 100644 index 9340db556..000000000 --- a/tests/testdata/test/fail.ts +++ /dev/null @@ -1,30 +0,0 @@ -Deno.test("test 0", () => { - throw new Error(); -}); -Deno.test("test 1", () => { - throw new Error(); -}); -Deno.test("test 2", () => { - throw new Error(); -}); -Deno.test("test 3", () => { - throw new Error(); -}); -Deno.test("test 4", () => { - throw new Error(); -}); -Deno.test("test 5", () => { - throw new Error(); -}); -Deno.test("test 6", () => { - throw new Error(); -}); -Deno.test("test 7", () => { - throw new Error(); -}); -Deno.test("test 8", () => { - throw new Error(); -}); -Deno.test("test 9", () => { - throw new Error(); -}); diff --git a/tests/testdata/test/fail_fast.out b/tests/testdata/test/fail_fast.out deleted file mode 100644 index 606d5b345..000000000 --- a/tests/testdata/test/fail_fast.out +++ /dev/null @@ -1,20 +0,0 @@ -Check [WILDCARD]/test/fail_fast.ts -Check [WILDCARD]/test/fail_fast_other.ts -running 10 tests from ./test/fail_fast.ts -test 1 ... FAILED ([WILDCARD]) - - ERRORS - -test 1 => ./test/fail_fast.ts:[WILDCARD] -error: Error - throw new Error(); - ^ - at [WILDCARD]/test/fail_fast.ts:2:9 - - FAILURES - -test 1 => ./test/fail_fast.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/fail_fast.ts b/tests/testdata/test/fail_fast.ts deleted file mode 100644 index 637e825ec..000000000 --- a/tests/testdata/test/fail_fast.ts +++ /dev/null @@ -1,30 +0,0 @@ -Deno.test("test 1", () => { - throw new Error(); -}); -Deno.test("test 2", () => { - throw new Error(); -}); -Deno.test("test 3", () => { - throw new Error(); -}); -Deno.test("test 4", () => { - throw new Error(); -}); -Deno.test("test 5", () => { - throw new Error(); -}); -Deno.test("test 6", () => { - throw new Error(); -}); -Deno.test("test 7", () => { - throw new Error(); -}); -Deno.test("test 8", () => { - throw new Error(); -}); -Deno.test("test 9", () => { - throw new Error(); -}); -Deno.test("test 0", () => { - throw new Error(); -}); diff --git a/tests/testdata/test/fail_fast_other.ts b/tests/testdata/test/fail_fast_other.ts deleted file mode 100644 index 02aa878cf..000000000 --- a/tests/testdata/test/fail_fast_other.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("test 11", () => { - throw new Error(); -}); diff --git a/tests/testdata/test/fail_fast_with_val.out b/tests/testdata/test/fail_fast_with_val.out deleted file mode 100644 index a844b05c1..000000000 --- a/tests/testdata/test/fail_fast_with_val.out +++ /dev/null @@ -1,23 +0,0 @@ -[WILDCARD] -running 10 tests from [WILDCARD]/test/fail_fast_with_val.ts -test test 1 ... FAILED ([WILDCARD]) -test test 2 ... FAILED ([WILDCARD]) - - ERRORS - -test 1 => ./test/fail_fast_with_val.ts:[WILDCARD] -error: Error - at [WILDCARD]/test/fail_fast_with_val.ts:2:9 - at [WILDCARD] - -test 2 => ./test/fail_fast_with_val.ts:[WILDCARD] -error: Error - at [WILDCARD]/test/fail_fast_with_val.ts:5:9 - at [WILDCARD] - - FAILURES - -test 1 => ./test/fail_fast_with_val.ts:[WILDCARD] -test 2 => ./test/fail_fast_with_val.ts:[WILDCARD] - -FAILED | 0 passed | 2 failed ([WILDCARD]) diff --git a/tests/testdata/test/fail_fast_with_val.ts b/tests/testdata/test/fail_fast_with_val.ts deleted file mode 100644 index 637e825ec..000000000 --- a/tests/testdata/test/fail_fast_with_val.ts +++ /dev/null @@ -1,30 +0,0 @@ -Deno.test("test 1", () => { - throw new Error(); -}); -Deno.test("test 2", () => { - throw new Error(); -}); -Deno.test("test 3", () => { - throw new Error(); -}); -Deno.test("test 4", () => { - throw new Error(); -}); -Deno.test("test 5", () => { - throw new Error(); -}); -Deno.test("test 6", () => { - throw new Error(); -}); -Deno.test("test 7", () => { - throw new Error(); -}); -Deno.test("test 8", () => { - throw new Error(); -}); -Deno.test("test 9", () => { - throw new Error(); -}); -Deno.test("test 0", () => { - throw new Error(); -}); diff --git a/tests/testdata/test/file_protocol.out b/tests/testdata/test/file_protocol.out deleted file mode 100644 index 3f9c73f7e..000000000 --- a/tests/testdata/test/file_protocol.out +++ /dev/null @@ -1,6 +0,0 @@ -Check file://[WILDCARD]/test/file_protocol.ts -running 1 test from ./test/file_protocol.ts -test 0 ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/file_protocol.ts b/tests/testdata/test/file_protocol.ts deleted file mode 100644 index 79128c2b3..000000000 --- a/tests/testdata/test/file_protocol.ts +++ /dev/null @@ -1 +0,0 @@ -Deno.test("test 0", () => {}); diff --git a/tests/testdata/test/filter.out b/tests/testdata/test/filter.out deleted file mode 100644 index af3e43ab8..000000000 --- a/tests/testdata/test/filter.out +++ /dev/null @@ -1,12 +0,0 @@ -Check [WILDCARD]/test/filter/a_test.ts -Check [WILDCARD]/test/filter/b_test.ts -Check [WILDCARD]/test/filter/c_test.ts -running 1 test from [WILDCARD]/test/filter/a_test.ts -foo ... ok ([WILDCARD]) -running 1 test from [WILDCARD]/test/filter/b_test.ts -foo ... ok ([WILDCARD]) -running 1 test from [WILDCARD]/test/filter/c_test.ts -foo ... ok ([WILDCARD]) - -ok | 3 passed | 0 failed | 6 filtered out ([WILDCARD]) - diff --git a/tests/testdata/test/filter/a_test.ts b/tests/testdata/test/filter/a_test.ts deleted file mode 100644 index a3f32968a..000000000 --- a/tests/testdata/test/filter/a_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("foo", function () {}); -Deno.test("bar", function () {}); -Deno.test("baz", function () {}); diff --git a/tests/testdata/test/filter/b_test.ts b/tests/testdata/test/filter/b_test.ts deleted file mode 100644 index a3f32968a..000000000 --- a/tests/testdata/test/filter/b_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("foo", function () {}); -Deno.test("bar", function () {}); -Deno.test("baz", function () {}); diff --git a/tests/testdata/test/filter/c_test.ts b/tests/testdata/test/filter/c_test.ts deleted file mode 100644 index a3f32968a..000000000 --- a/tests/testdata/test/filter/c_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("foo", function () {}); -Deno.test("bar", function () {}); -Deno.test("baz", function () {}); diff --git a/tests/testdata/test/filtered_out_only.out b/tests/testdata/test/filtered_out_only.out deleted file mode 100644 index 337893848..000000000 --- a/tests/testdata/test/filtered_out_only.out +++ /dev/null @@ -1,5 +0,0 @@ -running 1 test from ./test/filtered_out_only.ts -foo ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed | 1 filtered out ([WILDCARD]) - diff --git a/tests/testdata/test/filtered_out_only.ts b/tests/testdata/test/filtered_out_only.ts deleted file mode 100644 index bda301a43..000000000 --- a/tests/testdata/test/filtered_out_only.ts +++ /dev/null @@ -1,2 +0,0 @@ -Deno.test("foo", () => {}); -Deno.test("bar", { only: true }, () => {}); diff --git a/tests/testdata/test/finally_timeout.out b/tests/testdata/test/finally_timeout.out deleted file mode 100644 index 26153da06..000000000 --- a/tests/testdata/test/finally_timeout.out +++ /dev/null @@ -1,20 +0,0 @@ -Check [WILDCARD]/test/finally_timeout.ts -running 2 tests from ./test/finally_timeout.ts -error ... FAILED ([WILDCARD]) -success ... ok ([WILDCARD]) - - ERRORS - -error => ./test/finally_timeout.ts:[WILDCARD] -error: Error: fail - throw new Error("fail"); - ^ - at [WILDCARD]/test/finally_timeout.ts:4:11 - - FAILURES - -error => ./test/finally_timeout.ts:[WILDCARD] - -FAILED | 1 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/finally_timeout.ts b/tests/testdata/test/finally_timeout.ts deleted file mode 100644 index dcc0a4d64..000000000 --- a/tests/testdata/test/finally_timeout.ts +++ /dev/null @@ -1,11 +0,0 @@ -Deno.test("error", function () { - const timer = setTimeout(() => null, 10000); - try { - throw new Error("fail"); - } finally { - clearTimeout(timer); - } -}); - -Deno.test("success", function () { -}); diff --git a/tests/testdata/test/glob/data/tes.ts b/tests/testdata/test/glob/data/tes.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/data/tes.ts +++ b/tests/testdata/test/glob/data/tes.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/data/test1.js b/tests/testdata/test/glob/data/test1.js index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/data/test1.js +++ b/tests/testdata/test/glob/data/test1.js @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/data/test1.ts b/tests/testdata/test/glob/data/test1.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/data/test1.ts +++ b/tests/testdata/test/glob/data/test1.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/data/test12.ts b/tests/testdata/test/glob/data/test12.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/data/test12.ts +++ b/tests/testdata/test/glob/data/test12.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/fizz/bar.ts b/tests/testdata/test/glob/nested/fizz/bar.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/fizz/bar.ts +++ b/tests/testdata/test/glob/nested/fizz/bar.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/fizz/bazz.ts b/tests/testdata/test/glob/nested/fizz/bazz.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/fizz/bazz.ts +++ b/tests/testdata/test/glob/nested/fizz/bazz.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/fizz/foo.ts b/tests/testdata/test/glob/nested/fizz/foo.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/fizz/foo.ts +++ b/tests/testdata/test/glob/nested/fizz/foo.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/foo/bar.ts b/tests/testdata/test/glob/nested/foo/bar.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/foo/bar.ts +++ b/tests/testdata/test/glob/nested/foo/bar.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/foo/bazz.ts b/tests/testdata/test/glob/nested/foo/bazz.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/foo/bazz.ts +++ b/tests/testdata/test/glob/nested/foo/bazz.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/foo/fizz.ts b/tests/testdata/test/glob/nested/foo/fizz.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/foo/fizz.ts +++ b/tests/testdata/test/glob/nested/foo/fizz.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/nested/foo/foo.ts b/tests/testdata/test/glob/nested/foo/foo.ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/nested/foo/foo.ts +++ b/tests/testdata/test/glob/nested/foo/foo.ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/glob/pages/[id].ts b/tests/testdata/test/glob/pages/[id].ts index 26f07fba5..6940729e9 100644 --- a/tests/testdata/test/glob/pages/[id].ts +++ b/tests/testdata/test/glob/pages/[id].ts @@ -1,3 +1,2 @@ function foo() { - -} \ No newline at end of file +} diff --git a/tests/testdata/test/hello_world.out b/tests/testdata/test/hello_world.out deleted file mode 100644 index aee8a64d4..000000000 --- a/tests/testdata/test/hello_world.out +++ /dev/null @@ -1,5 +0,0 @@ -running 1 test from ./test/hello_world.ts -hello world test ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/hello_world.ts b/tests/testdata/test/hello_world.ts deleted file mode 100644 index 4a1c3463f..000000000 --- a/tests/testdata/test/hello_world.ts +++ /dev/null @@ -1,9 +0,0 @@ -Deno.test({ - name: "hello world test", - fn(): void { - const world = "world"; - if ("world" !== world) { - throw new Error("world !== world"); - } - }, -}); diff --git a/tests/testdata/test/hide_empty_suites.out b/tests/testdata/test/hide_empty_suites.out deleted file mode 100644 index d270cb05a..000000000 --- a/tests/testdata/test/hide_empty_suites.out +++ /dev/null @@ -1,4 +0,0 @@ -Check [WILDCARD]/test/pass.ts - -ok | 0 passed | 0 failed | 16 filtered out ([WILDCARD]) - diff --git a/tests/testdata/test/ignore.out b/tests/testdata/test/ignore.out deleted file mode 100644 index e67406c63..000000000 --- a/tests/testdata/test/ignore.out +++ /dev/null @@ -1,15 +0,0 @@ -Check [WILDCARD]/test/ignore.ts -running 10 tests from ./test/ignore.ts -test 0 ... ignored ([WILDCARD]) -test 1 ... ignored ([WILDCARD]) -test 2 ... ignored ([WILDCARD]) -test 3 ... ignored ([WILDCARD]) -test 4 ... ignored ([WILDCARD]) -test 5 ... ignored ([WILDCARD]) -test 6 ... ignored ([WILDCARD]) -test 7 ... ignored ([WILDCARD]) -test 8 ... ignored ([WILDCARD]) -test 9 ... ignored ([WILDCARD]) - -ok | 0 passed | 0 failed | 10 ignored ([WILDCARD]) - diff --git a/tests/testdata/test/ignore.ts b/tests/testdata/test/ignore.ts deleted file mode 100644 index 2339835db..000000000 --- a/tests/testdata/test/ignore.ts +++ /dev/null @@ -1,17 +0,0 @@ -for (let i = 0; i < 5; i++) { - Deno.test({ - name: `test ${i}`, - ignore: true, - fn() { - throw new Error("unreachable"); - }, - }); -} -for (let i = 5; i < 10; i++) { - Deno.test.ignore({ - name: `test ${i}`, - fn() { - throw new Error("unreachable"); - }, - }); -} diff --git a/tests/testdata/test/ignore_permissions.out b/tests/testdata/test/ignore_permissions.out deleted file mode 100644 index cc2574da9..000000000 --- a/tests/testdata/test/ignore_permissions.out +++ /dev/null @@ -1,6 +0,0 @@ -Check [WILDCARD]/test/ignore_permissions.ts -running 1 test from ./test/ignore_permissions.ts -ignore ... ignored ([WILDCARD]) - -ok | 0 passed | 0 failed | 1 ignored ([WILDCARD]) - diff --git a/tests/testdata/test/ignore_permissions.ts b/tests/testdata/test/ignore_permissions.ts deleted file mode 100644 index e9ade6dfe..000000000 --- a/tests/testdata/test/ignore_permissions.ts +++ /dev/null @@ -1,15 +0,0 @@ -Deno.test({ - name: "ignore", - permissions: { - read: true, - write: true, - net: true, - env: true, - run: true, - ffi: true, - }, - ignore: true, - fn() { - throw new Error("unreachable"); - }, -}); diff --git a/tests/testdata/test/interval.out b/tests/testdata/test/interval.out deleted file mode 100644 index 1d0bc15ac..000000000 --- a/tests/testdata/test/interval.out +++ /dev/null @@ -1,5 +0,0 @@ -Check [WILDCARD]/test/interval.ts -running 0 tests from ./test/interval.ts - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/interval.ts b/tests/testdata/test/interval.ts deleted file mode 100644 index 7eb588c59..000000000 --- a/tests/testdata/test/interval.ts +++ /dev/null @@ -1 +0,0 @@ -setInterval(function () {}, 0); diff --git a/tests/testdata/test/junit_multiple_test_files.junit.out b/tests/testdata/test/junit_multiple_test_files.junit.out deleted file mode 100644 index bf6f3eaa4..000000000 --- a/tests/testdata/test/junit_multiple_test_files.junit.out +++ /dev/null @@ -1,102 +0,0 @@ -Check file:///[WILDCARD]/test/pass.ts -Check file:///[WILDCARD]/test/fail.ts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:2:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:5:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:8:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:11:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:14:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:17:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:20:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:23:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:26:9 - - - Error - throw new Error(); - ^ - at file:///[WILDCARD]/test/fail.ts:29:9 - - - -error: Test failed diff --git a/tests/testdata/test/load_unload.out b/tests/testdata/test/load_unload.out deleted file mode 100644 index 75187fa7b..000000000 --- a/tests/testdata/test/load_unload.out +++ /dev/null @@ -1,16 +0,0 @@ -Check [WILDCARD]/load_unload.ts -------- pre-test output ------- -load ------ pre-test output end ----- -running 1 test from [WILDCARD]/load_unload.ts -test ... -------- output ------- -test ------ output end ----- -test ... ok ([WILDCARD]) -------- post-test output ------- -unload ------ post-test output end ----- - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/load_unload.ts b/tests/testdata/test/load_unload.ts deleted file mode 100644 index 5027b949a..000000000 --- a/tests/testdata/test/load_unload.ts +++ /dev/null @@ -1,25 +0,0 @@ -let interval: number | null = null; -addEventListener("load", () => { - if (interval) { - throw new Error("Interval is already set"); - } - - console.log("load"); - interval = setInterval(() => {}, 0); -}); - -addEventListener("unload", () => { - if (!interval) { - throw new Error("Interval was not set"); - } - - console.log("unload"); - clearInterval(interval); -}); - -Deno.test("test", () => { - console.log("test"); - if (!interval) { - throw new Error("Interval was not set"); - } -}); diff --git a/tests/testdata/test/markdown.md b/tests/testdata/test/markdown.md deleted file mode 100644 index d18dbd108..000000000 --- a/tests/testdata/test/markdown.md +++ /dev/null @@ -1,31 +0,0 @@ -# Documentation - -The following block does not have a language attribute and should be ignored: - -``` -This is a fenced block without attributes, it's invalid and it should be ignored. -``` - -The following block should be given a js extension on extraction: - -```js -console.log("js"); -``` - -The following block should be given a ts extension on extraction: - -```ts -console.log("ts"); -``` - -The following example contains the ignore attribute and will be ignored: - -```ts ignore -const value: Invalid = "ignored"; -``` - -The following example will trigger the type-checker to fail: - -```ts -const a: string = 42; -``` diff --git a/tests/testdata/test/markdown.out b/tests/testdata/test/markdown.out deleted file mode 100644 index 38c9f0349..000000000 --- a/tests/testdata/test/markdown.out +++ /dev/null @@ -1,7 +0,0 @@ -Check [WILDCARD]/test/markdown.md$11-14.js -Check [WILDCARD]/test/markdown.md$17-20.ts -Check [WILDCARD]/test/markdown.md$29-32.ts -error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. -const a: string = 42; - ^ - at [WILDCARD]/test/markdown.md$29-32.ts:1:7 diff --git a/tests/testdata/test/markdown_full_block_names.md b/tests/testdata/test/markdown_full_block_names.md deleted file mode 100644 index 4f9e1ea51..000000000 --- a/tests/testdata/test/markdown_full_block_names.md +++ /dev/null @@ -1,19 +0,0 @@ -# Documentation - -The following block should be given a js extension on extraction: - -```javascript -console.log("js"); -``` - -The following example contains the ignore attribute and will be ignored: - -```typescript ignore -const value: Invalid = "ignored"; -``` - -The following example will trigger the type-checker to fail: - -```typescript -const a: string = 42; -``` diff --git a/tests/testdata/test/markdown_full_block_names.out b/tests/testdata/test/markdown_full_block_names.out deleted file mode 100644 index 13051112e..000000000 --- a/tests/testdata/test/markdown_full_block_names.out +++ /dev/null @@ -1,6 +0,0 @@ -Check [WILDCARD]/test/markdown_full_block_names.md$5-8.js -Check [WILDCARD]/test/markdown_full_block_names.md$17-20.ts -error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. -const a: string = 42; - ^ - at [WILDCARD]/test/markdown_full_block_names.md$17-20.ts:1:7 diff --git a/tests/testdata/test/markdown_windows.md b/tests/testdata/test/markdown_windows.md deleted file mode 100644 index d18dbd108..000000000 --- a/tests/testdata/test/markdown_windows.md +++ /dev/null @@ -1,31 +0,0 @@ -# Documentation - -The following block does not have a language attribute and should be ignored: - -``` -This is a fenced block without attributes, it's invalid and it should be ignored. -``` - -The following block should be given a js extension on extraction: - -```js -console.log("js"); -``` - -The following block should be given a ts extension on extraction: - -```ts -console.log("ts"); -``` - -The following example contains the ignore attribute and will be ignored: - -```ts ignore -const value: Invalid = "ignored"; -``` - -The following example will trigger the type-checker to fail: - -```ts -const a: string = 42; -``` diff --git a/tests/testdata/test/markdown_windows.out b/tests/testdata/test/markdown_windows.out deleted file mode 100644 index 4810e50cd..000000000 --- a/tests/testdata/test/markdown_windows.out +++ /dev/null @@ -1,7 +0,0 @@ -Check [WILDCARD]/test/markdown_windows.md$11-14.js -Check [WILDCARD]/test/markdown_windows.md$17-20.ts -Check [WILDCARD]/test/markdown_windows.md$29-32.ts -error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. -const a: string = 42; - ^ - at [WILDCARD]/test/markdown_windows.md$29-32.ts:1:7 diff --git a/tests/testdata/test/markdown_with_comment.md b/tests/testdata/test/markdown_with_comment.md deleted file mode 100644 index 886e88103..000000000 --- a/tests/testdata/test/markdown_with_comment.md +++ /dev/null @@ -1,36 +0,0 @@ -# Documentation - -The following examples are inside HTML comments and will not trigger the -type-checker: - - - - - - - -The following example will trigger the type-checker to fail: - -```ts -const a: string = 42; -``` diff --git a/tests/testdata/test/markdown_with_comment.out b/tests/testdata/test/markdown_with_comment.out deleted file mode 100644 index b202919d8..000000000 --- a/tests/testdata/test/markdown_with_comment.out +++ /dev/null @@ -1,5 +0,0 @@ -Check [WILDCARD]/test/markdown_with_comment.md$34-37.ts -error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. -const a: string = 42; - ^ - at [WILDCARD]/test/markdown_with_comment.md$34-37.ts:1:7 diff --git a/tests/testdata/test/meta.out b/tests/testdata/test/meta.out deleted file mode 100644 index c46315ece..000000000 --- a/tests/testdata/test/meta.out +++ /dev/null @@ -1,11 +0,0 @@ -Check [WILDCARD]/test/meta.ts -running 1 test from ./test/meta.ts -check values ... -------- output ------- -import.meta.main: false -import.meta.url: [WILDCARD]/test/meta.ts ------ output end ----- -check values ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/meta.ts b/tests/testdata/test/meta.ts deleted file mode 100644 index f2433a96d..000000000 --- a/tests/testdata/test/meta.ts +++ /dev/null @@ -1,7 +0,0 @@ -const main = import.meta.main; -const url = import.meta.url; - -Deno.test("check values", () => { - console.log("import.meta.main: %s", main); - console.log("import.meta.url: %s", url); -}); diff --git a/tests/testdata/test/nested_failures.junit.out b/tests/testdata/test/nested_failures.junit.out deleted file mode 100644 index 3e4d3c0d4..000000000 --- a/tests/testdata/test/nested_failures.junit.out +++ /dev/null @@ -1,47 +0,0 @@ -Check file:///[WILDCARD]/test/nested_failures.ts - - - - - 1 test step failed. - - - 2 test steps failed. - - - - - - - Error: Fail. - throw new Error("Fail."); - ^ - at file:///[WILDCARD]/test/nested_failures.ts:4:11 - [WILDCARD] - - - 1 test step failed. - - - - - Error: Fail. - throw new Error("Fail."); - ^ - at file:///[WILDCARD]/test/nested_failures.ts:12:13 - [WILDCARD] - - - Error: Fail. - throw new Error("Fail."); - ^ - at file:///[WILDCARD]/test/nested_failures.ts:16:11 - [WILDCARD] - - - - - - - -error: Test failed diff --git a/tests/testdata/test/nested_failures.ts b/tests/testdata/test/nested_failures.ts deleted file mode 100644 index 128e48aef..000000000 --- a/tests/testdata/test/nested_failures.ts +++ /dev/null @@ -1,23 +0,0 @@ -Deno.test("parent 1", async (t) => { - await t.step("child 1", () => {}); - await t.step("child 2", () => { - throw new Error("Fail."); - }); -}); - -Deno.test("parent 2", async (t) => { - await t.step("child 1", async (t) => { - await t.step("grandchild 1", () => {}); - await t.step("grandchild 2", () => { - throw new Error("Fail."); - }); - }); - await t.step("child 2", () => { - throw new Error("Fail."); - }); -}); - -Deno.test("parent 3", async (t) => { - await t.step("child 1", () => {}); - await t.step("child 2", () => {}); -}); diff --git a/tests/testdata/test/no_check.out b/tests/testdata/test/no_check.out deleted file mode 100644 index 66ad07e26..000000000 --- a/tests/testdata/test/no_check.out +++ /dev/null @@ -1,19 +0,0 @@ -Uncaught error from ./test/no_check.ts FAILED - - ERRORS - -./test/no_check.ts (uncaught error) -error: (in promise) TypeError: Cannot read properties of undefined (reading 'fn') -Deno.test(); - ^ - at [WILDCARD] -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. - - FAILURES - -./test/no_check.ts (uncaught error) - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/no_check.ts b/tests/testdata/test/no_check.ts deleted file mode 100644 index 79d75f989..000000000 --- a/tests/testdata/test/no_check.ts +++ /dev/null @@ -1 +0,0 @@ -Deno.test(); diff --git a/tests/testdata/test/no_color.ts b/tests/testdata/test/no_color.ts deleted file mode 100644 index 38c531ee9..000000000 --- a/tests/testdata/test/no_color.ts +++ /dev/null @@ -1,17 +0,0 @@ -Deno.test({ - name: "success", - fn() {}, -}); - -Deno.test({ - name: "fail", - fn() { - throw new Error("fail"); - }, -}); - -Deno.test({ - name: "ignored", - ignore: true, - fn() {}, -}); diff --git a/tests/testdata/test/no_prompt_by_default.out b/tests/testdata/test/no_prompt_by_default.out deleted file mode 100644 index cd40fab53..000000000 --- a/tests/testdata/test/no_prompt_by_default.out +++ /dev/null @@ -1,16 +0,0 @@ -running 1 test from ./test/no_prompt_by_default.ts -no prompt ... FAILED ([WILDCARD]s) - - ERRORS - -no prompt => ./test/no_prompt_by_default.ts:[WILDCARD] -error: NotCapable: Requires read access to "./some_file.txt", run again with the --allow-read flag -[WILDCARD] - - FAILURES - -no prompt => ./test/no_prompt_by_default.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]s) - -error: Test failed diff --git a/tests/testdata/test/no_prompt_by_default.ts b/tests/testdata/test/no_prompt_by_default.ts deleted file mode 100644 index 83837825d..000000000 --- a/tests/testdata/test/no_prompt_by_default.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("no prompt", async () => { - await Deno.readTextFile("./some_file.txt"); -}); diff --git a/tests/testdata/test/no_prompt_with_denied_perms.out b/tests/testdata/test/no_prompt_with_denied_perms.out deleted file mode 100644 index f6c8ec826..000000000 --- a/tests/testdata/test/no_prompt_with_denied_perms.out +++ /dev/null @@ -1,16 +0,0 @@ -running 1 test from ./test/no_prompt_with_denied_perms.ts -no prompt ... FAILED ([WILDCARD]s) - - ERRORS - -no prompt => ./test/no_prompt_with_denied_perms.ts:[WILDCARD] -error: NotCapable: Requires read access to "./some_file.txt", run again with the --allow-read flag -[WILDCARD] - - FAILURES - -no prompt => ./test/no_prompt_with_denied_perms.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]s) - -error: Test failed diff --git a/tests/testdata/test/no_prompt_with_denied_perms.ts b/tests/testdata/test/no_prompt_with_denied_perms.ts deleted file mode 100644 index 7fe5577cb..000000000 --- a/tests/testdata/test/no_prompt_with_denied_perms.ts +++ /dev/null @@ -1,3 +0,0 @@ -Deno.test("no prompt", { permissions: { read: false } }, async () => { - await Deno.readTextFile("./some_file.txt"); -}); diff --git a/tests/testdata/test/no_run.out b/tests/testdata/test/no_run.out deleted file mode 100644 index 5edf03fe0..000000000 --- a/tests/testdata/test/no_run.out +++ /dev/null @@ -1,5 +0,0 @@ -Check [WILDCARD]/test/no_run.ts -error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. -const _value: string = 1; - ~~~~~~ - at [WILDCARD]/test/no_run.ts:1:7 diff --git a/tests/testdata/test/no_run.ts b/tests/testdata/test/no_run.ts deleted file mode 100644 index b75915753..000000000 --- a/tests/testdata/test/no_run.ts +++ /dev/null @@ -1 +0,0 @@ -const _value: string = 1; diff --git a/tests/testdata/test/non_error_thrown.out b/tests/testdata/test/non_error_thrown.out deleted file mode 100644 index 6755f2905..000000000 --- a/tests/testdata/test/non_error_thrown.out +++ /dev/null @@ -1,40 +0,0 @@ -running 6 tests from [WILDCARD]/non_error_thrown.ts -foo ... FAILED ([WILDCARD]) -bar ... FAILED ([WILDCARD]) -baz ... FAILED ([WILDCARD]) -qux ... FAILED ([WILDCARD]) -quux ... FAILED ([WILDCARD]) -quuz ... FAILED ([WILDCARD]) - - ERRORS - -foo => [WILDCARD]/non_error_thrown.ts:1:6 -error: undefined - -bar => [WILDCARD]/non_error_thrown.ts:5:6 -error: null - -baz => [WILDCARD]/non_error_thrown.ts:9:6 -error: 123 - -qux => [WILDCARD]/non_error_thrown.ts:13:6 -error: "Hello, world!" - -quux => [WILDCARD]/non_error_thrown.ts:17:6 -error: [ 1, 2, 3 ] - -quuz => [WILDCARD]/non_error_thrown.ts:21:6 -error: { a: "Hello, world!", b: [ 1, 2, 3 ] } - - FAILURES - -foo => [WILDCARD]/non_error_thrown.ts:1:6 -bar => [WILDCARD]/non_error_thrown.ts:5:6 -baz => [WILDCARD]/non_error_thrown.ts:9:6 -qux => [WILDCARD]/non_error_thrown.ts:13:6 -quux => [WILDCARD]/non_error_thrown.ts:17:6 -quuz => [WILDCARD]/non_error_thrown.ts:21:6 - -FAILED | 0 passed | 6 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/non_error_thrown.ts b/tests/testdata/test/non_error_thrown.ts deleted file mode 100644 index 85dc8d179..000000000 --- a/tests/testdata/test/non_error_thrown.ts +++ /dev/null @@ -1,23 +0,0 @@ -Deno.test("foo", () => { - throw undefined; -}); - -Deno.test("bar", () => { - throw null; -}); - -Deno.test("baz", () => { - throw 123; -}); - -Deno.test("qux", () => { - throw "Hello, world!"; -}); - -Deno.test("quux", () => { - throw [1, 2, 3]; -}); - -Deno.test("quuz", () => { - throw { a: "Hello, world!", b: [1, 2, 3] }; -}); diff --git a/tests/testdata/test/only.out b/tests/testdata/test/only.out deleted file mode 100644 index 2e66ed22b..000000000 --- a/tests/testdata/test/only.out +++ /dev/null @@ -1,8 +0,0 @@ -Check [WILDCARD]/test/only.ts -running 2 tests from ./test/only.ts -only ... ok ([WILDCARD]) -only2 ... ok ([WILDCARD]) - -ok | 2 passed | 0 failed | 2 filtered out ([WILDCARD]) - -error: Test failed because the "only" option was used diff --git a/tests/testdata/test/only.ts b/tests/testdata/test/only.ts deleted file mode 100644 index 26b4cd425..000000000 --- a/tests/testdata/test/only.ts +++ /dev/null @@ -1,20 +0,0 @@ -Deno.test({ - name: "before", - fn() {}, -}); - -Deno.test({ - only: true, - name: "only", - fn() {}, -}); - -Deno.test.only({ - name: "only2", - fn() {}, -}); - -Deno.test({ - name: "after", - fn() {}, -}); diff --git a/tests/testdata/test/overloads.out b/tests/testdata/test/overloads.out deleted file mode 100644 index 87a3f07cb..000000000 --- a/tests/testdata/test/overloads.out +++ /dev/null @@ -1,11 +0,0 @@ -Check [WILDCARD]/test/overloads.ts -running 6 tests from ./test/overloads.ts -test0 ... ok ([WILDCARD]) -test1 ... ok ([WILDCARD]) -test2 ... ok ([WILDCARD]) -test3 ... ok ([WILDCARD]) -test4 ... ok ([WILDCARD]) -test5 ... ignored ([WILDCARD]) - -ok | 5 passed | 0 failed | 1 ignored ([WILDCARD]) - diff --git a/tests/testdata/test/overloads.ts b/tests/testdata/test/overloads.ts deleted file mode 100644 index eb7b3dccc..000000000 --- a/tests/testdata/test/overloads.ts +++ /dev/null @@ -1,6 +0,0 @@ -Deno.test("test0", () => {}); -Deno.test(function test1() {}); -Deno.test({ name: "test2", fn: () => {} }); -Deno.test("test3", { permissions: "none" }, () => {}); -Deno.test({ name: "test4" }, () => {}); -Deno.test({ ignore: true }, function test5() {}); diff --git a/tests/testdata/test/parallel_output.out b/tests/testdata/test/parallel_output.out deleted file mode 100644 index d3528a6e0..000000000 --- a/tests/testdata/test/parallel_output.out +++ /dev/null @@ -1,56 +0,0 @@ -Check [WILDCARD]/test/parallel_output.ts -./test/parallel_output.ts => step output ... step 1 ... ok ([WILDCARD]s) -./test/parallel_output.ts => step output ... step 2 ... ok ([WILDCARD]s) -------- output ------- -Hello, world! (from step 3) ------ output end ----- -./test/parallel_output.ts => step output ... step 3 ... ok ([WILDCARD]s) -------- output ------- -Hello, world! (from step 4) ------ output end ----- -./test/parallel_output.ts => step output ... step 4 ... ok ([WILDCARD]s) -./test/parallel_output.ts => step output ... ok ([WILDCARD]s) -./test/parallel_output.ts => step failures ... step 1 ... ok ([WILDCARD]s) -./test/parallel_output.ts => step failures ... step 2 ... FAILED ([WILDCARD]s) -./test/parallel_output.ts => step failures ... step 3 ... FAILED ([WILDCARD]s) -./test/parallel_output.ts => step failures ... FAILED (due to 2 failed steps) ([WILDCARD]s) -./test/parallel_output.ts => step nested failure ... step 1 ... inner 1 ... ok ([WILDCARD]s) -./test/parallel_output.ts => step nested failure ... step 1 ... inner 2 ... FAILED ([WILDCARD]s) -./test/parallel_output.ts => step nested failure ... step 1 ... FAILED (due to 1 failed step) ([WILDCARD]s) -./test/parallel_output.ts => step nested failure ... FAILED (due to 1 failed step) ([WILDCARD]s) - - ERRORS - -step failures ... step 2 => ./test/parallel_output.ts:14:11 -error: Error: Fail. - throw new Error("Fail."); - ^ - at file:///[WILDCARD]/test/parallel_output.ts:15:11 - at [WILDCARD] - at file:///[WILDCARD]/test/parallel_output.ts:14:11 - -step failures ... step 3 => ./test/parallel_output.ts:17:11 -error: Error: Fail. - await t.step("step 3", () => Promise.reject(new Error("Fail."))); - ^ - at file:///[WILDCARD]/test/parallel_output.ts:17:47 - at [WILDCARD] - at file:///[WILDCARD]/test/parallel_output.ts:17:11 - -step nested failure ... step 1 ... inner 2 => ./test/parallel_output.ts:23:13 -error: Error: Failed. - throw new Error("Failed."); - ^ - at file:///[WILDCARD]/test/parallel_output.ts:24:13 - at [WILDCARD] - at file:///[WILDCARD]/test/parallel_output.ts:23:13 - - FAILURES - -step failures ... step 2 => ./test/parallel_output.ts:14:11 -step failures ... step 3 => ./test/parallel_output.ts:17:11 -step nested failure ... step 1 ... inner 2 => ./test/parallel_output.ts:23:13 - -FAILED | 1 passed (6 steps) | 2 failed (4 steps) ([WILDCARD]s) - -error: Test failed diff --git a/tests/testdata/test/parallel_output.ts b/tests/testdata/test/parallel_output.ts deleted file mode 100644 index 5de733aad..000000000 --- a/tests/testdata/test/parallel_output.ts +++ /dev/null @@ -1,27 +0,0 @@ -Deno.test("step output", async (t) => { - await t.step("step 1", () => {}); - await t.step("step 2", () => {}); - await t.step("step 3", () => { - console.log("Hello, world! (from step 3)"); - }); - await t.step("step 4", () => { - console.log("Hello, world! (from step 4)"); - }); -}); - -Deno.test("step failures", async (t) => { - await t.step("step 1", () => {}); - await t.step("step 2", () => { - throw new Error("Fail."); - }); - await t.step("step 3", () => Promise.reject(new Error("Fail."))); -}); - -Deno.test("step nested failure", async (t) => { - await t.step("step 1", async (t) => { - await t.step("inner 1", () => {}); - await t.step("inner 2", () => { - throw new Error("Failed."); - }); - }); -}); diff --git a/tests/testdata/test/pass.junit.out b/tests/testdata/test/pass.junit.out deleted file mode 100644 index af9fd6f6b..000000000 --- a/tests/testdata/test/pass.junit.out +++ /dev/null @@ -1,38 +0,0 @@ -Check file:///[WILDCARD]/test/pass.ts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/testdata/test/pass.out b/tests/testdata/test/pass.out deleted file mode 100644 index 08b9f5a52..000000000 --- a/tests/testdata/test/pass.out +++ /dev/null @@ -1,53 +0,0 @@ -Check [WILDCARD]/test/pass.ts -running 16 tests from ./test/pass.ts -test 0 ... ok ([WILDCARD]) -test 1 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) -test 3 ... ok ([WILDCARD]) -test 4 ... ok ([WILDCARD]) -test 5 ... ok ([WILDCARD]) -test 6 ... ok ([WILDCARD]) -test 7 ... ok ([WILDCARD]) -test 8 ... -------- output ------- -console.log ------ output end ----- -test 8 ... ok ([WILDCARD]) -test 9 ... -------- output ------- -console.error ------ output end ----- -test 9 ... ok ([WILDCARD]) -test\b ... -------- output ------- -console.error ------ output end ----- -test\b ... ok ([WILDCARD]) -test\f ... -------- output ------- -console.error ------ output end ----- -test\f ... ok ([WILDCARD]) -test\t ... -------- output ------- -console.error ------ output end ----- -test\t ... ok ([WILDCARD]) -test\n ... -------- output ------- -console.error ------ output end ----- -test\n ... ok ([WILDCARD]) -test\r ... -------- output ------- -console.error ------ output end ----- -test\r ... ok ([WILDCARD]) -test\v ... -------- output ------- -console.error ------ output end ----- -test\v ... ok ([WILDCARD]) - -ok | 16 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/pass.ts b/tests/testdata/test/pass.ts deleted file mode 100644 index c4c0f45dc..000000000 --- a/tests/testdata/test/pass.ts +++ /dev/null @@ -1,37 +0,0 @@ -Deno.test("test 0", () => {}); -Deno.test("test 1", () => {}); -Deno.test("test 2", () => {}); -Deno.test("test 3", () => {}); -Deno.test("test 4", () => {}); -Deno.test("test 5", () => {}); -Deno.test("test 6", () => {}); -Deno.test("test 7", () => {}); -Deno.test("test 8", () => { - console.log("console.log"); -}); -Deno.test("test 9", () => { - console.error("console.error"); -}); - -Deno.test("test\b", () => { - console.error("console.error"); -}); -Deno.test("test\f", () => { - console.error("console.error"); -}); - -Deno.test("test\t", () => { - console.error("console.error"); -}); - -Deno.test("test\n", () => { - console.error("console.error"); -}); - -Deno.test("test\r", () => { - console.error("console.error"); -}); - -Deno.test("test\v", () => { - console.error("console.error"); -}); diff --git a/tests/testdata/test/quiet.out b/tests/testdata/test/quiet.out deleted file mode 100644 index 83dbe6ba9..000000000 --- a/tests/testdata/test/quiet.out +++ /dev/null @@ -1,8 +0,0 @@ -running 4 tests from ./test/quiet.ts -console.log ... ok ([WILDCARD]) -console.error ... ok ([WILDCARD]) -console.info ... ok ([WILDCARD]) -console.warn ... ok ([WILDCARD]) - -ok | 4 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/quiet.ts b/tests/testdata/test/quiet.ts deleted file mode 100644 index f40805bfb..000000000 --- a/tests/testdata/test/quiet.ts +++ /dev/null @@ -1,15 +0,0 @@ -Deno.test("console.log", function () { - console.log("log"); -}); - -Deno.test("console.error", function () { - console.error("error"); -}); - -Deno.test("console.info", function () { - console.info("info"); -}); - -Deno.test("console.warn", function () { - console.info("warn"); -}); diff --git a/tests/testdata/test/recursive_permissions_pledge.js b/tests/testdata/test/recursive_permissions_pledge.js deleted file mode 100644 index 9bf320c37..000000000 --- a/tests/testdata/test/recursive_permissions_pledge.js +++ /dev/null @@ -1,6 +0,0 @@ -Deno[Deno.internal].core.ops.op_pledge_test_permissions( - "none", -); -Deno[Deno.internal].core.ops.op_pledge_test_permissions( - "inherit", -); diff --git a/tests/testdata/test/replace_timers.js b/tests/testdata/test/replace_timers.js deleted file mode 100644 index 692f1d671..000000000 --- a/tests/testdata/test/replace_timers.js +++ /dev/null @@ -1,7 +0,0 @@ -Deno.test("foo", async (t) => { - globalThis.setTimeout = () => {}; - globalThis.clearTimeout = () => {}; - globalThis.setInterval = () => {}; - globalThis.clearInterval = () => {}; - await t.step("bar", () => {}); -}); diff --git a/tests/testdata/test/replace_timers.js.out b/tests/testdata/test/replace_timers.js.out deleted file mode 100644 index 81beb5ebe..000000000 --- a/tests/testdata/test/replace_timers.js.out +++ /dev/null @@ -1,7 +0,0 @@ -running 1 test from ./test/replace_timers.js -foo ... - bar ... ok ([WILDCARD]) -foo ... ok ([WILDCARD]) - -ok | 1 passed (1 step) | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/report_error.out b/tests/testdata/test/report_error.out deleted file mode 100644 index 698550f97..000000000 --- a/tests/testdata/test/report_error.out +++ /dev/null @@ -1,23 +0,0 @@ -running 2 tests from [WILDCARD]/report_error.ts -foo ... -Uncaught error from [WILDCARD]/report_error.ts FAILED -foo ... cancelled (0ms) -bar ... cancelled (0ms) - - ERRORS - -[WILDCARD]/report_error.ts (uncaught error) -error: Error: foo - reportError(new Error("foo")); - ^ - at [WILDCARD]/report_error.ts:2:15 -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. - - FAILURES - -[WILDCARD]/report_error.ts (uncaught error) - -FAILED | 0 passed | 3 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/report_error.ts b/tests/testdata/test/report_error.ts deleted file mode 100644 index 56b6db26c..000000000 --- a/tests/testdata/test/report_error.ts +++ /dev/null @@ -1,6 +0,0 @@ -Deno.test("foo", () => { - reportError(new Error("foo")); - console.log(1); -}); - -Deno.test("bar", () => {}); diff --git a/tests/testdata/test/sanitizer/exit_sanitizer.out b/tests/testdata/test/sanitizer/exit_sanitizer.out deleted file mode 100644 index 305d51cc8..000000000 --- a/tests/testdata/test/sanitizer/exit_sanitizer.out +++ /dev/null @@ -1,38 +0,0 @@ -Check [WILDCARD]/exit_sanitizer.ts -running 3 tests from [WILDCARD]/exit_sanitizer.ts -exit(0) ... FAILED ([WILDCARD]) -exit(1) ... FAILED ([WILDCARD]) -exit(2) ... FAILED ([WILDCARD]) - - ERRORS - -exit(0) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] -error: Error: Test case attempted to exit with exit code: 0 - Deno.exit(0); - ^ - at [WILDCARD] - at [WILDCARD]/exit_sanitizer.ts:2:8 - -exit(1) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] -error: Error: Test case attempted to exit with exit code: 1 - Deno.exit(1); - ^ - at [WILDCARD] - at [WILDCARD]/exit_sanitizer.ts:6:8 - -exit(2) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] -error: Error: Test case attempted to exit with exit code: 2 - Deno.exit(2); - ^ - at [WILDCARD] - at [WILDCARD]/exit_sanitizer.ts:10:8 - - FAILURES - -exit(0) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] -exit(1) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] -exit(2) => [WILDCARD]/exit_sanitizer.ts:[WILDCARD] - -FAILED | 0 passed | 3 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/exit_sanitizer.ts b/tests/testdata/test/sanitizer/exit_sanitizer.ts deleted file mode 100644 index 186406a9d..000000000 --- a/tests/testdata/test/sanitizer/exit_sanitizer.ts +++ /dev/null @@ -1,11 +0,0 @@ -Deno.test("exit(0)", function () { - Deno.exit(0); -}); - -Deno.test("exit(1)", function () { - Deno.exit(1); -}); - -Deno.test("exit(2)", function () { - Deno.exit(2); -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out b/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out deleted file mode 100644 index ffccd8422..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out +++ /dev/null @@ -1,19 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts -running 1 test from [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts -test 1 ... FAILED [WILDCARD] - - ERRORS - -test 1 => [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] -error: Leaks detected: - - A timer was started before the test, but completed during the test. Intervals and timers should not complete in a test if they were not started in that test. This is often caused by not calling `clearTimeout`. The operation was started here: - at [WILDCARD] - at [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] - - FAILURES - -test 1 => [WILDCARD]/ops_sanitizer_closed_inside_started_before.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed [WILDCARD] - -error: Test failed diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts b/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts deleted file mode 100644 index 97d3d72c8..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts +++ /dev/null @@ -1,5 +0,0 @@ -const timer = setTimeout(() => {}, 10000000000); - -Deno.test("test 1", () => { - clearTimeout(timer); -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out b/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out deleted file mode 100644 index 38d7fbb52..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out +++ /dev/null @@ -1,45 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts -running 2 tests from [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts -test 1 ... FAILED ([WILDCARD]) -test 2 ... FAILED ([WILDCARD]) - - ERRORS - -test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -error: Leaks detected: - - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: - at [WILDCARD] - at setTimeout ([WILDCARD]) - at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) - at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:8:27 - at [WILDCARD] - - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: - at [WILDCARD] - at setTimeout ([WILDCARD]) - at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) - at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:8:27 - at [WILDCARD] - -test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -error: Leaks detected: - - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: - at [WILDCARD] - at setTimeout ([WILDCARD]) - at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) - at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:10:27 - at [WILDCARD] - - A timer was started in this test, but never completed. This is often caused by not calling `clearTimeout`. The operation was started here: - at [WILDCARD] - at setTimeout ([WILDCARD]) - at test ([WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD]) - at [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:10:27 - at [WILDCARD] - - FAILURES - -test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] - -FAILED | 0 passed | 2 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts b/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts deleted file mode 100644 index 1f52d481f..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts +++ /dev/null @@ -1,10 +0,0 @@ -// https://github.com/denoland/deno/issues/8965 - -function test() { - setTimeout(() => {}, 10000); - setTimeout(() => {}, 10001); -} - -Deno.test("test 1", () => test()); - -Deno.test("test 2", () => test()); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out b/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out deleted file mode 100644 index c87cd0025..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out +++ /dev/null @@ -1,25 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts -running 2 tests from [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts -test 1 ... FAILED ([WILDCARD]) -test 2 ... FAILED ([WILDCARD]) - - ERRORS - -test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -error: Leaks detected: - - 2 timers were started in this test, but never completed. This is often caused by not calling `clearTimeout`. -To get more details where leaks occurred, run again with the --trace-leaks flag. - -test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -error: Leaks detected: - - 2 timers were started in this test, but never completed. This is often caused by not calling `clearTimeout`. -To get more details where leaks occurred, run again with the --trace-leaks flag. - - FAILURES - -test 1 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] -test 2 => [WILDCARD]/ops_sanitizer_multiple_timeout_tests.ts:[WILDCARD] - -FAILED | 0 passed | 2 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out b/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out deleted file mode 100644 index 407699b6a..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out +++ /dev/null @@ -1,6 +0,0 @@ -running 2 tests from [WILDCARD]/ops_sanitizer_nexttick.ts -test 1 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) - -ok | 2 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts b/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts deleted file mode 100644 index 9ad3a7b28..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { nextTick } from "node:process"; - -// https://github.com/denoland/deno_std/issues/1651 - -Deno.test("test 1", async () => { - await new Promise((resolve) => nextTick(resolve)); -}); - -Deno.test("test 2", async () => { - await new Promise((resolve) => nextTick(resolve)); -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.out b/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.out deleted file mode 100644 index be88a6e1d..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.out +++ /dev/null @@ -1,10 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_step_leak.ts -running 1 test from [WILDCARD]/ops_sanitizer_step_leak.ts -timeout ... - step ... ok [WILDCARD] -------- output ------- -done ------ output end ----- -timeout ... ok [WILDCARD] - -ok | 1 passed (1 step) | 0 failed [WILDCARD] \ No newline at end of file diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.ts b/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.ts deleted file mode 100644 index 3fb9b397e..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_step_leak.ts +++ /dev/null @@ -1,10 +0,0 @@ -Deno.test("timeout", async (t) => { - const timer = setTimeout(() => { - console.log("timeout"); - }, 10000); - clearTimeout(timer); - await t.step("step", async () => { - await new Promise((resolve) => setTimeout(() => resolve(), 10)); - }); - console.log("done"); -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.out b/tests/testdata/test/sanitizer/ops_sanitizer_tcp.out deleted file mode 100644 index 7b5660379..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.out +++ /dev/null @@ -1,24 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_tcp.ts -running 1 test from [WILDCARD]/ops_sanitizer_tcp.ts -testLeakTcpOps ... FAILED ([WILDCARD]) - - ERRORS - -testLeakTcpOps => [WILDCARD]/ops_sanitizer_tcp.ts:[WILDCARD] -error: Leaks detected: - - A TCP listener was opened during the test, but not closed during the test. Close the TCP listener by calling `tcpListener.close()`. - - An async operation to accept a TCP stream was started in this test, but never completed. This is often caused by not closing a `Deno.Listener`. The operation was started here: - at op_net_accept_tcp ([WILDCARD]) - at Listener.accept ([WILDCARD]) - at testLeakTcpOps ([WILDCARD]) - at innerWrapped ([WILDCARD]) - at exitSanitizer ([WILDCARD]) - at outerWrapped ([WILDCARD]) - - FAILURES - -testLeakTcpOps => [WILDCARD]/ops_sanitizer_tcp.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts b/tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts deleted file mode 100644 index ec2df9fd5..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts +++ /dev/null @@ -1,4 +0,0 @@ -Deno.test(function testLeakTcpOps() { - const listener1 = Deno.listen({ port: 0 }); - listener1.accept(); -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out b/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out deleted file mode 100644 index e6e527112..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out +++ /dev/null @@ -1,6 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_timeout_failure.ts -running 1 test from [WILDCARD]/ops_sanitizer_timeout_failure.ts -wait ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts b/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts deleted file mode 100644 index d40a5a258..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts +++ /dev/null @@ -1,22 +0,0 @@ -let intervalHandle: number; -let firstIntervalPromise: Promise; - -addEventListener("load", () => { - firstIntervalPromise = new Promise((resolve) => { - let firstIntervalCalled = false; - intervalHandle = setInterval(() => { - if (!firstIntervalCalled) { - resolve(); - firstIntervalCalled = true; - } - }, 5); - }); -}); - -addEventListener("unload", () => { - clearInterval(intervalHandle); -}); - -Deno.test("wait", async function () { - await firstIntervalPromise; -}); diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.out b/tests/testdata/test/sanitizer/ops_sanitizer_unstable.out deleted file mode 100644 index a09f34592..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.out +++ /dev/null @@ -1,22 +0,0 @@ -Check [WILDCARD]/ops_sanitizer_unstable.ts -running 2 tests from [WILDCARD]/ops_sanitizer_unstable.ts -no-op ... ok ([WILDCARD]) -leak interval ... FAILED ([WILDCARD]) - - ERRORS - -leak interval => [WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD] -error: Leaks detected: - - An interval was started in this test, but never completed. This is often caused by not calling `clearInterval`. The operation was started here: - at [WILDCARD] - at setInterval ([WILDCARD]) - at fn ([WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD]) - at [WILDCARD] - - FAILURES - -leak interval => [WILDCARD]/ops_sanitizer_unstable.ts:[WILDCARD] - -FAILED | 1 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts b/tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts deleted file mode 100644 index 1deb1d5a7..000000000 --- a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts +++ /dev/null @@ -1,10 +0,0 @@ -Deno.test("no-op", function () {}); -Deno.test({ - name: "leak interval", - // regression test for sanitizer errors being swallowed with permissions. - // https://github.com/denoland/deno/pull/18550 - permissions: {}, - fn() { - setInterval(function () {}, 100000); - }, -}); diff --git a/tests/testdata/test/sanitizer/resource_sanitizer.out b/tests/testdata/test/sanitizer/resource_sanitizer.out deleted file mode 100644 index 128bbc7b6..000000000 --- a/tests/testdata/test/sanitizer/resource_sanitizer.out +++ /dev/null @@ -1,20 +0,0 @@ -Check [WILDCARD]/resource_sanitizer.ts -running 1 test from [WILDCARD]/resource_sanitizer.ts -leak ... FAILED ([WILDCARD]) - - ERRORS - -leak => [WILDCARD]/resource_sanitizer.ts:[WILDCARD] -error: Leaks detected: -[UNORDERED_START] - - The stdin pipe was opened before the test started, but was closed during the test. Do not close resources in a test that were not created during that test. - - A file was opened during the test, but not closed during the test. Close the file handle by calling `file.close()`. -[UNORDERED_END] - - FAILURES - -leak => [WILDCARD]/resource_sanitizer.ts:[WILDCARD] - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/sanitizer/resource_sanitizer.ts b/tests/testdata/test/sanitizer/resource_sanitizer.ts deleted file mode 100644 index 93c9222c5..000000000 --- a/tests/testdata/test/sanitizer/resource_sanitizer.ts +++ /dev/null @@ -1,4 +0,0 @@ -Deno.test("leak", function () { - Deno.openSync("run/001_hello.js"); - Deno.stdin.close(); -}); diff --git a/tests/testdata/test/sanitizer/trace_ops_caught_error/main.out b/tests/testdata/test/sanitizer/trace_ops_caught_error/main.out deleted file mode 100644 index 4e591adf1..000000000 --- a/tests/testdata/test/sanitizer/trace_ops_caught_error/main.out +++ /dev/null @@ -1,6 +0,0 @@ -Check file:///[WILDCARD]/trace_ops_caught_error/main.ts -running 1 test from [WILDCARD]/trace_ops_caught_error/main.ts -handle thrown error in async function ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts b/tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts deleted file mode 100644 index 043018688..000000000 --- a/tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts +++ /dev/null @@ -1,13 +0,0 @@ -// https://github.com/denoland/deno/pull/16970 -Deno.test("handle thrown error in async function", async () => { - const dirPath = Deno.makeTempDirSync(); - const filePath = `${dirPath}/file.txt`; - try { - await Deno.stat(filePath); - } catch { - await Deno.writeTextFile(filePath, ""); - } finally { - await Deno.remove(filePath); - await Deno.remove(dirPath); - } -}); diff --git a/tests/testdata/test/short-pass.out b/tests/testdata/test/short-pass.out deleted file mode 100644 index 3f239de41..000000000 --- a/tests/testdata/test/short-pass.out +++ /dev/null @@ -1,5 +0,0 @@ -Check [WILDCARD]/test/short-pass.ts -./test/short-pass.ts => test ... ok ([WILDCARD]) - -ok | 1 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/short-pass.ts b/tests/testdata/test/short-pass.ts deleted file mode 100644 index 03818ae8d..000000000 --- a/tests/testdata/test/short-pass.ts +++ /dev/null @@ -1 +0,0 @@ -Deno.test("test", () => {}); diff --git a/tests/testdata/test/shuffle.out b/tests/testdata/test/shuffle.out deleted file mode 100644 index 9037ff518..000000000 --- a/tests/testdata/test/shuffle.out +++ /dev/null @@ -1,39 +0,0 @@ -Check [WILDCARD]/test/shuffle/bar_test.ts -Check [WILDCARD]/test/shuffle/baz_test.ts -Check [WILDCARD]/test/shuffle/foo_test.ts -running 10 tests from [WILDCARD]/test/shuffle/foo_test.ts -test 3 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) -test 7 ... ok ([WILDCARD]) -test 5 ... ok ([WILDCARD]) -test 8 ... ok ([WILDCARD]) -test 0 ... ok ([WILDCARD]) -test 9 ... ok ([WILDCARD]) -test 4 ... ok ([WILDCARD]) -test 6 ... ok ([WILDCARD]) -test 1 ... ok ([WILDCARD]) -running 10 tests from [WILDCARD]/test/shuffle/baz_test.ts -test 3 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) -test 7 ... ok ([WILDCARD]) -test 5 ... ok ([WILDCARD]) -test 8 ... ok ([WILDCARD]) -test 0 ... ok ([WILDCARD]) -test 9 ... ok ([WILDCARD]) -test 4 ... ok ([WILDCARD]) -test 6 ... ok ([WILDCARD]) -test 1 ... ok ([WILDCARD]) -running 10 tests from [WILDCARD]/test/shuffle/bar_test.ts -test 3 ... ok ([WILDCARD]) -test 2 ... ok ([WILDCARD]) -test 7 ... ok ([WILDCARD]) -test 5 ... ok ([WILDCARD]) -test 8 ... ok ([WILDCARD]) -test 0 ... ok ([WILDCARD]) -test 9 ... ok ([WILDCARD]) -test 4 ... ok ([WILDCARD]) -test 6 ... ok ([WILDCARD]) -test 1 ... ok ([WILDCARD]) - -ok | 30 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/shuffle/bar_test.ts b/tests/testdata/test/shuffle/bar_test.ts deleted file mode 100644 index ca118dc0d..000000000 --- a/tests/testdata/test/shuffle/bar_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -for (let i = 0; i < 10; i++) { - Deno.test(`test ${i}`, () => {}); -} diff --git a/tests/testdata/test/shuffle/baz_test.ts b/tests/testdata/test/shuffle/baz_test.ts deleted file mode 100644 index ca118dc0d..000000000 --- a/tests/testdata/test/shuffle/baz_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -for (let i = 0; i < 10; i++) { - Deno.test(`test ${i}`, () => {}); -} diff --git a/tests/testdata/test/shuffle/foo_test.ts b/tests/testdata/test/shuffle/foo_test.ts deleted file mode 100644 index ca118dc0d..000000000 --- a/tests/testdata/test/shuffle/foo_test.ts +++ /dev/null @@ -1,3 +0,0 @@ -for (let i = 0; i < 10; i++) { - Deno.test(`test ${i}`, () => {}); -} diff --git a/tests/testdata/test/steps/failing_steps.dot.out b/tests/testdata/test/steps/failing_steps.dot.out deleted file mode 100644 index f8ba8d8e6..000000000 --- a/tests/testdata/test/steps/failing_steps.dot.out +++ /dev/null @@ -1,53 +0,0 @@ -! -. -! -! -! -! -! -! -! - - ERRORS - -nested failure ... step 1 ... inner 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Failed. - throw new Error("Failed."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -multiple test step failures ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - throw new Error("Fail."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -multiple test step failures ... step 2 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - await t.step("step 2", () => Promise.reject(new Error("Fail."))); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -failing step in failing test ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - throw new Error("Fail."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -failing step in failing test => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail test. - throw new Error("Fail test."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - - FAILURES - -nested failure ... step 1 ... inner 1 => ./test/steps/failing_steps.ts:[WILDCARD] -multiple test step failures ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -multiple test step failures ... step 2 => ./test/steps/failing_steps.ts:[WILDCARD] -failing step in failing test ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -failing step in failing test => ./test/steps/failing_steps.ts:[WILDCARD] - -FAILED | 0 passed (1 step) | 3 failed (5 steps) ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/steps/failing_steps.out b/tests/testdata/test/steps/failing_steps.out deleted file mode 100644 index 4b717f5cc..000000000 --- a/tests/testdata/test/steps/failing_steps.out +++ /dev/null @@ -1,59 +0,0 @@ -[WILDCARD] -running 3 tests from ./test/steps/failing_steps.ts -nested failure ... - step 1 ... - inner 1 ... FAILED ([WILDCARD]) - inner 2 ... ok ([WILDCARD]) - step 1 ... FAILED (due to 1 failed step) ([WILDCARD]) -nested failure ... FAILED (due to 1 failed step) ([WILDCARD]) -multiple test step failures ... - step 1 ... FAILED ([WILDCARD]) - step 2 ... FAILED ([WILDCARD]) -multiple test step failures ... FAILED (due to 2 failed steps) ([WILDCARD]) -failing step in failing test ... - step 1 ... FAILED ([WILDCARD]) -failing step in failing test ... FAILED ([WILDCARD]) - - ERRORS - -nested failure ... step 1 ... inner 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Failed. - throw new Error("Failed."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -multiple test step failures ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - throw new Error("Fail."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -multiple test step failures ... step 2 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - await t.step("step 2", () => Promise.reject(new Error("Fail."))); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -failing step in failing test ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail. - throw new Error("Fail."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - -failing step in failing test => ./test/steps/failing_steps.ts:[WILDCARD] -error: Error: Fail test. - throw new Error("Fail test."); - ^ - at [WILDCARD]/failing_steps.ts:[WILDCARD] - - FAILURES - -nested failure ... step 1 ... inner 1 => ./test/steps/failing_steps.ts:[WILDCARD] -multiple test step failures ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -multiple test step failures ... step 2 => ./test/steps/failing_steps.ts:[WILDCARD] -failing step in failing test ... step 1 => ./test/steps/failing_steps.ts:[WILDCARD] -failing step in failing test => ./test/steps/failing_steps.ts:[WILDCARD] - -FAILED | 0 passed (1 step) | 3 failed (5 steps) ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/steps/failing_steps.tap.out b/tests/testdata/test/steps/failing_steps.tap.out deleted file mode 100644 index 11b289f08..000000000 --- a/tests/testdata/test/steps/failing_steps.tap.out +++ /dev/null @@ -1,43 +0,0 @@ -TAP version 14 -# ./test/steps/failing_steps.ts -# Subtest: nested failure - not ok 1 - inner 1 - --- - {"message":"Error: Failed.\n throw new Error(\"Failed.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... - ok 2 - inner 2 - not ok 3 - step 1 - --- - {"message":"1 test step failed.","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... - 1..3 -not ok 1 - nested failure - --- - {"message":"1 test step failed.","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... -# Subtest: multiple test step failures - not ok 1 - step 1 - --- - {"message":"Error: Fail.\n throw new Error(\"Fail.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... - not ok 2 - step 2 - --- - {"message":"Error: Fail.\n await t.step(\"step 2\", () => Promise.reject(new Error(\"Fail.\")));\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... - 1..2 -not ok 2 - multiple test step failures - --- - {"message":"2 test steps failed.","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... -# Subtest: failing step in failing test - not ok 1 - step 1 - --- - {"message":"Error: Fail.\n throw new Error(\"Fail.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]\n[WILDCARD]","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... - 1..1 -not ok 3 - failing step in failing test - --- - {"message":"Error: Fail test.\n throw new Error(\"Fail test.\");\n ^\n at [WILDCARD]/failing_steps.ts:[WILDCARD]","severity":"fail","at":{"file":"./test/steps/failing_steps.ts","line":[WILDCARD]}} - ... -1..3 -error: Test failed diff --git a/tests/testdata/test/steps/failing_steps.ts b/tests/testdata/test/steps/failing_steps.ts deleted file mode 100644 index efa18d54e..000000000 --- a/tests/testdata/test/steps/failing_steps.ts +++ /dev/null @@ -1,27 +0,0 @@ -Deno.test("nested failure", async (t) => { - const success = await t.step("step 1", async (t) => { - let success = await t.step("inner 1", () => { - throw new Error("Failed."); - }); - if (success) throw new Error("Expected failure"); - - success = await t.step("inner 2", () => {}); - if (!success) throw new Error("Expected success"); - }); - - if (success) throw new Error("Expected failure"); -}); - -Deno.test("multiple test step failures", async (t) => { - await t.step("step 1", () => { - throw new Error("Fail."); - }); - await t.step("step 2", () => Promise.reject(new Error("Fail."))); -}); - -Deno.test("failing step in failing test", async (t) => { - await t.step("step 1", () => { - throw new Error("Fail."); - }); - throw new Error("Fail test."); -}); diff --git a/tests/testdata/test/steps/ignored_steps.dot.out b/tests/testdata/test/steps/ignored_steps.dot.out deleted file mode 100644 index 442a06c62..000000000 --- a/tests/testdata/test/steps/ignored_steps.dot.out +++ /dev/null @@ -1,5 +0,0 @@ -, -. -. - -ok | 1 passed (1 step) | 0 failed | 0 ignored (1 step) [WILDCARD] diff --git a/tests/testdata/test/steps/ignored_steps.out b/tests/testdata/test/steps/ignored_steps.out deleted file mode 100644 index 2786e1e1a..000000000 --- a/tests/testdata/test/steps/ignored_steps.out +++ /dev/null @@ -1,8 +0,0 @@ -[WILDCARD] -running 1 test from ./test/steps/ignored_steps.ts -ignored step ... - step 1 ... ignored ([WILDCARD]) - step 2 ... ok ([WILDCARD]) -ignored step ... ok ([WILDCARD]) - -ok | 1 passed (1 step) | 0 failed | 0 ignored (1 step) [WILDCARD] diff --git a/tests/testdata/test/steps/ignored_steps.tap.out b/tests/testdata/test/steps/ignored_steps.tap.out deleted file mode 100644 index b2b2f5070..000000000 --- a/tests/testdata/test/steps/ignored_steps.tap.out +++ /dev/null @@ -1,8 +0,0 @@ -TAP version 14 -# ./test/steps/ignored_steps.ts -# Subtest: ignored step - ok 1 - step 1 # SKIP - ok 2 - step 2 - 1..2 -ok 1 - ignored step -1..1 diff --git a/tests/testdata/test/steps/ignored_steps.ts b/tests/testdata/test/steps/ignored_steps.ts deleted file mode 100644 index 102b481fb..000000000 --- a/tests/testdata/test/steps/ignored_steps.ts +++ /dev/null @@ -1,16 +0,0 @@ -Deno.test("ignored step", async (t) => { - let result = await t.step({ - name: "step 1", - ignore: true, - fn: () => { - throw new Error("Fail."); - }, - }); - if (result !== false) throw new Error("Expected false."); - result = await t.step({ - name: "step 2", - ignore: false, - fn: () => {}, - }); - if (result !== true) throw new Error("Expected true."); -}); diff --git a/tests/testdata/test/steps/invalid_usage.out b/tests/testdata/test/steps/invalid_usage.out deleted file mode 100644 index 4b82befae..000000000 --- a/tests/testdata/test/steps/invalid_usage.out +++ /dev/null @@ -1,82 +0,0 @@ -[WILDCARD] -running 7 tests from ./test/steps/invalid_usage.ts -capturing ... - some step ... ok ([WILDCARD]) -capturing ... FAILED ([WILDCARD]) -top level missing await ... - step ... INCOMPLETE -top level missing await ... FAILED (due to incomplete steps) ([WILDCARD]) -inner missing await ... - step ... - inner ... INCOMPLETE - step ... FAILED (due to incomplete steps) ([WILDCARD]) -inner missing await ... FAILED (due to 1 failed step) ([WILDCARD]) -parallel steps with sanitizers ... - step 1 ... INCOMPLETE - step 2 ... FAILED ([WILDCARD]) -parallel steps with sanitizers ... FAILED (due to incomplete steps) ([WILDCARD]) -parallel steps when first has sanitizer ... - step 1 ... ok ([WILDCARD]) - step 2 ... FAILED ([WILDCARD]) -parallel steps when first has sanitizer ... FAILED (due to 1 failed step) ([WILDCARD]) -parallel steps when second has sanitizer ... - step 1 ... ok ([WILDCARD]) - step 2 ... FAILED ([WILDCARD]) -parallel steps when second has sanitizer ... FAILED (due to 1 failed step) ([WILDCARD]) -parallel steps where only inner tests have sanitizers ... - step 1 ... - step inner ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) - step 2 ... - step inner ... FAILED ([WILDCARD]) - step 2 ... FAILED (due to 1 failed step) ([WILDCARD]) -parallel steps where only inner tests have sanitizers ... FAILED (due to 1 failed step) ([WILDCARD]) - - ERRORS - -capturing => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Error: Cannot run test step after parent scope has finished execution. Ensure any `.step(...)` calls are executed before their parent scope completes execution. - await capturedContext.step("next step", () => {}); - ^ - at TestContext.step ([WILDCARD]) - at [WILDCARD]/invalid_usage.ts:[WILDCARD] - -top level missing await ... step => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Didn't complete before parent. Await step with `await t.step(...)`. - -inner missing await ... step ... inner => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Didn't complete before parent. Await step with `await t.step(...)`. - -parallel steps with sanitizers ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Started test step while another test step with sanitizers was running: - * parallel steps with sanitizers ... step 1 - -parallel steps with sanitizers ... step 1 => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Didn't complete before parent. Await step with `await t.step(...)`. - -parallel steps when first has sanitizer ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Started test step while another test step with sanitizers was running: - * parallel steps when first has sanitizer ... step 1 - -parallel steps when second has sanitizer ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Started test step with sanitizers while another test step was running: - * parallel steps when second has sanitizer ... step 1 - -parallel steps where only inner tests have sanitizers ... step 2 ... step inner => ./test/steps/invalid_usage.ts:[WILDCARD] -error: Started test step with sanitizers while another test step was running: - * parallel steps where only inner tests have sanitizers ... step 1 - - FAILURES - -capturing => ./test/steps/invalid_usage.ts:1:6 -top level missing await ... step => ./test/steps/invalid_usage.ts:[WILDCARD] -inner missing await ... step ... inner => ./test/steps/invalid_usage.ts:[WILDCARD] -parallel steps with sanitizers ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -parallel steps with sanitizers ... step 1 => ./test/steps/invalid_usage.ts:[WILDCARD] -parallel steps when first has sanitizer ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -parallel steps when second has sanitizer ... step 2 => ./test/steps/invalid_usage.ts:[WILDCARD] -parallel steps where only inner tests have sanitizers ... step 2 ... step inner => ./test/steps/invalid_usage.ts:[WILDCARD] - -FAILED | 0 passed (5 steps) | 7 failed (9 steps) ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/steps/invalid_usage.ts b/tests/testdata/test/steps/invalid_usage.ts deleted file mode 100644 index 1acfc874c..000000000 --- a/tests/testdata/test/steps/invalid_usage.ts +++ /dev/null @@ -1,118 +0,0 @@ -Deno.test("capturing", async (t) => { - let capturedContext!: Deno.TestContext; - await t.step("some step", (t) => { - capturedContext = t; - }); - // this should error because the scope of the tester has already completed - await capturedContext.step("next step", () => {}); -}); - -Deno.test("top level missing await", (t) => { - t.step("step", () => { - return new Promise(() => {}); - }); -}); - -Deno.test({ - name: "inner missing await", - fn: async (t) => { - await t.step("step", (t) => { - t.step("inner", () => { - return new Promise((resolve) => setTimeout(resolve, 10)); - }); - }); - await new Promise((resolve) => setTimeout(resolve, 10)); - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); - -Deno.test("parallel steps with sanitizers", async (t) => { - // not allowed because steps with sanitizers cannot be run in parallel - const step1Entered = Promise.withResolvers(); - const testFinished = Promise.withResolvers(); - t.step("step 1", async () => { - step1Entered.resolve(); - await testFinished.promise; - }); - await step1Entered.promise; - await t.step("step 2", () => {}); -}); - -Deno.test("parallel steps when first has sanitizer", async (t) => { - const step1Entered = Promise.withResolvers(); - const step2Finished = Promise.withResolvers(); - const step1 = t.step({ - name: "step 1", - fn: async () => { - step1Entered.resolve(); - await step2Finished.promise; - }, - }); - await step1Entered.promise; - await t.step({ - name: "step 2", - fn: () => {}, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }); - step2Finished.resolve(); - await step1; -}); - -Deno.test("parallel steps when second has sanitizer", async (t) => { - const step1Entered = Promise.withResolvers(); - const step2Finished = Promise.withResolvers(); - const step1 = t.step({ - name: "step 1", - fn: async () => { - step1Entered.resolve(); - await step2Finished.promise; - }, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }); - await step1Entered.promise; - await t.step({ - name: "step 2", - fn: async () => { - await new Promise((resolve) => setTimeout(resolve, 100)); - }, - }); - step2Finished.resolve(); - await step1; -}); - -Deno.test({ - name: "parallel steps where only inner tests have sanitizers", - fn: async (t) => { - const step1Entered = Promise.withResolvers(); - const step2Finished = Promise.withResolvers(); - const step1 = t.step("step 1", async (t) => { - await t.step({ - name: "step inner", - fn: async () => { - step1Entered.resolve(); - await step2Finished.promise; - }, - sanitizeOps: true, - }); - }); - await step1Entered.promise; - await t.step("step 2", async (t) => { - await t.step({ - name: "step inner", - fn: () => {}, - sanitizeOps: true, - }); - }); - step2Finished.resolve(); - await step1; - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); diff --git a/tests/testdata/test/steps/output_within.out b/tests/testdata/test/steps/output_within.out deleted file mode 100644 index d58722daa..000000000 --- a/tests/testdata/test/steps/output_within.out +++ /dev/null @@ -1,29 +0,0 @@ -[WILDCARD] -running 1 test from ./test/steps/output_within.ts -description ... -------- output ------- -1 ------ output end ----- - step 1 ... -------- output ------- -2 ------ output end ----- - inner 1 ... -------- output ------- -3 ------ output end ----- - inner 1 ... ok ([WILDCARD]s) - inner 2 ... -------- output ------- -4 ------ output end ----- - inner 2 ... ok ([WILDCARD]s) -------- output ------- -5 ------ output end ----- - step 1 ... ok ([WILDCARD]s) -------- output ------- -6 ------ output end ----- -description ... ok ([WILDCARD]s) -[WILDCARD] diff --git a/tests/testdata/test/steps/output_within.ts b/tests/testdata/test/steps/output_within.ts deleted file mode 100644 index d3438a8ad..000000000 --- a/tests/testdata/test/steps/output_within.ts +++ /dev/null @@ -1,15 +0,0 @@ -Deno.test("description", async (t) => { - // the output is not great, but this is an extreme scenario - console.log(1); - await t.step("step 1", async (t) => { - console.log(2); - await t.step("inner 1", () => { - console.log(3); - }); - await t.step("inner 2", () => { - console.log(4); - }); - console.log(5); - }); - console.log(6); -}); diff --git a/tests/testdata/test/steps/passing_steps.dot.out b/tests/testdata/test/steps/passing_steps.dot.out deleted file mode 100644 index 243cacd69..000000000 --- a/tests/testdata/test/steps/passing_steps.dot.out +++ /dev/null @@ -1,17 +0,0 @@ -[WILDCARD] -. -. -. -. -. -. -. -. -. -. -. -. -. - -ok | 6 passed (21 steps) | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/steps/passing_steps.out b/tests/testdata/test/steps/passing_steps.out deleted file mode 100644 index 0757a4ed3..000000000 --- a/tests/testdata/test/steps/passing_steps.out +++ /dev/null @@ -1,44 +0,0 @@ -[WILDCARD] -running 6 tests from ./test/steps/passing_steps.ts -description ... - step 1 ... - inner 1 ... ok ([WILDCARD]s) - inner 2 ... ok ([WILDCARD]s) - step 1 ... ok ([WILDCARD]s) -description ... ok ([WILDCARD]s) -description function as first arg ... - step1 ... - inner1 ... ok ([WILDCARD]s) - inner1 ... ok ([WILDCARD]s) - step1 ... ok ([WILDCARD]s) -description function as first arg ... ok ([WILDCARD]s) -parallel steps without sanitizers ... - step 1 ... ok ([WILDCARD]) - step 2 ... ok ([WILDCARD]) -parallel steps without sanitizers ... ok ([WILDCARD]) -parallel steps without sanitizers due to parent ... - step 1 ... ok ([WILDCARD]) - step 2 ... ok ([WILDCARD]) -parallel steps without sanitizers due to parent ... ok ([WILDCARD]) -steps with disabled sanitizers, then enabled, then parallel disabled ... - step 1 ... - step 1 ... - step 1 ... - step 1 ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) - step 2 ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) -steps with disabled sanitizers, then enabled, then parallel disabled ... ok ([WILDCARD]) -steps buffered then streaming reporting ... - step 1 ... - step 1 - 1 ... ok ([WILDCARD]) - step 1 - 2 ... - step 1 - 2 - 1 ... ok ([WILDCARD]) - step 1 - 2 ... ok ([WILDCARD]) - step 1 ... ok ([WILDCARD]) - step 2 ... ok ([WILDCARD]) -steps buffered then streaming reporting ... ok ([WILDCARD]) - -ok | 6 passed (21 steps) | 0 failed [WILDCARD] diff --git a/tests/testdata/test/steps/passing_steps.tap.out b/tests/testdata/test/steps/passing_steps.tap.out deleted file mode 100644 index 20a9fa312..000000000 --- a/tests/testdata/test/steps/passing_steps.tap.out +++ /dev/null @@ -1,42 +0,0 @@ -TAP version 14 -# ./test/steps/passing_steps.ts -# Subtest: description - ok 1 - inner 1 - ok 2 - inner 2 - ok 3 - step 1 - 1..3 -ok 1 - description -# Subtest: description function as first arg - ok 1 - inner1 - ok 2 - inner1 - ok 3 - step1 - 1..3 -ok 2 - description function as first arg -# Subtest: parallel steps without sanitizers - ok 1 - step 1 - ok 2 - step 2 - 1..2 -ok 3 - parallel steps without sanitizers -# Subtest: parallel steps without sanitizers due to parent - ok 1 - step 1 - ok 2 - step 2 - 1..2 -ok 4 - parallel steps without sanitizers due to parent -# Subtest: steps with disabled sanitizers, then enabled, then parallel disabled - ok 1 - step 2 - ok 2 - step 1 - ok 3 - step 1 - ok 4 - step 1 - ok 5 - step 1 - ok 6 - step 1 - 1..6 -ok 5 - steps with disabled sanitizers, then enabled, then parallel disabled -# Subtest: steps buffered then streaming reporting - ok 1 - step 1 - 2 - 1 - ok 2 - step 1 - 2 - ok 3 - step 1 - 1 - ok 4 - step 1 - ok 5 - step 2 - 1..5 -ok 6 - steps buffered then streaming reporting -1..6 diff --git a/tests/testdata/test/steps/passing_steps.ts b/tests/testdata/test/steps/passing_steps.ts deleted file mode 100644 index fd145954b..000000000 --- a/tests/testdata/test/steps/passing_steps.ts +++ /dev/null @@ -1,127 +0,0 @@ -Deno.test("description", async (t) => { - const success = await t.step("step 1", async (t) => { - await t.step("inner 1", () => {}); - await t.step("inner 2", () => {}); - }); - - if (!success) throw new Error("Expected the step to return true."); -}); - -Deno.test("description function as first arg", async (t) => { - const success = await t.step(async function step1(t) { - await t.step(function inner1() {}); - await t.step(function inner1() {}); - }); - - if (!success) throw new Error("Expected the step to return true."); -}); - -Deno.test("parallel steps without sanitizers", async (t) => { - // allowed - await Promise.all([ - t.step({ - name: "step 1", - fn: async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }), - t.step({ - name: "step 2", - fn: async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }, - sanitizeOps: false, - sanitizeResources: false, - sanitizeExit: false, - }), - ]); -}); - -Deno.test({ - name: "parallel steps without sanitizers due to parent", - fn: async (t) => { - // allowed because parent disabled the sanitizers - await Promise.all([ - t.step("step 1", async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }), - t.step("step 2", async () => { - await new Promise((resolve) => setTimeout(resolve, 10)); - }), - ]); - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); - -Deno.test({ - name: "steps with disabled sanitizers, then enabled, then parallel disabled", - fn: async (t) => { - await t.step("step 1", async (t) => { - await t.step({ - name: "step 1", - fn: async (t) => { - await Promise.all([ - t.step({ - name: "step 1", - fn: async (t) => { - await new Promise((resolve) => setTimeout(resolve, 10)); - await Promise.all([ - t.step("step 1", () => {}), - t.step("step 1", () => {}), - ]); - }, - sanitizeExit: false, - sanitizeResources: false, - sanitizeOps: false, - }), - t.step({ - name: "step 2", - fn: () => {}, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, - }), - ]); - }, - sanitizeResources: true, - sanitizeOps: true, - sanitizeExit: true, - }); - }); - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, -}); - -Deno.test("steps buffered then streaming reporting", async (t) => { - // no sanitizers so this will be buffered - await t.step({ - name: "step 1", - fn: async (t) => { - // also ensure the buffered tests display in order regardless of the second one finishing first - const step2Finished = Promise.withResolvers(); - const step1 = t.step("step 1 - 1", async () => { - await step2Finished.promise; - }); - const step2 = t.step("step 1 - 2", async (t) => { - await t.step("step 1 - 2 - 1", () => {}); - }); - await step2; - step2Finished.resolve(); - await step1; - }, - sanitizeResources: false, - sanitizeOps: false, - sanitizeExit: false, - }); - - // now this will start streaming and we want to - // ensure it flushes the buffer of the last test - await t.step("step 2", async () => {}); -}); diff --git a/tests/testdata/test/text.md b/tests/testdata/test/text.md deleted file mode 100644 index be89d24bf..000000000 --- a/tests/testdata/test/text.md +++ /dev/null @@ -1 +0,0 @@ -This fixture contains no actual tests. diff --git a/tests/testdata/test/text.out b/tests/testdata/test/text.out deleted file mode 100644 index f1b7f7d01..000000000 --- a/tests/testdata/test/text.out +++ /dev/null @@ -1,3 +0,0 @@ - -ok | 0 passed | 0 failed ([WILDCARD]) - diff --git a/tests/testdata/test/uncaught_errors.out b/tests/testdata/test/uncaught_errors.out deleted file mode 100644 index a52f95d57..000000000 --- a/tests/testdata/test/uncaught_errors.out +++ /dev/null @@ -1,59 +0,0 @@ -running 3 tests from ./test/uncaught_errors_1.ts -foo 1 ... FAILED ([WILDCARD]) -foo 2 ... ok ([WILDCARD]) -foo 3 ... -Uncaught error from ./test/uncaught_errors_1.ts FAILED -foo 3 ... cancelled (0ms) -running 3 tests from ./test/uncaught_errors_2.ts -bar 1 ... ok ([WILDCARD]) -bar 2 ... FAILED ([WILDCARD]) -bar 3 ... FAILED ([WILDCARD]) -Uncaught error from ./test/uncaught_errors_3.ts FAILED - - ERRORS - -foo 1 => ./test/uncaught_errors_1.ts:1:6 -error: Error: foo 1 message - throw new Error("foo 1 message"); - ^ - at [WILDCARD]/test/uncaught_errors_1.ts:2:9 - -./test/uncaught_errors_1.ts (uncaught error) -error: (in promise) Error: foo 3 message - Promise.reject(new Error("foo 3 message")); - ^ - at [WILDCARD]/test/uncaught_errors_1.ts:8:18 -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. - -bar 2 => ./test/uncaught_errors_2.ts:3:6 -error: Error: bar 2 - throw new Error("bar 2"); - ^ - at [WILDCARD]/test/uncaught_errors_2.ts:4:9 - -bar 3 => ./test/uncaught_errors_2.ts:6:6 -error: Error: bar 3 message - throw new Error("bar 3 message"); - ^ - at [WILDCARD]/test/uncaught_errors_2.ts:7:9 - -./test/uncaught_errors_3.ts (uncaught error) -error: (in promise) Error: baz -throw new Error("baz"); - ^ - at [WILDCARD]/test/uncaught_errors_3.ts:1:7 -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. - - FAILURES - -foo 1 => ./test/uncaught_errors_1.ts:1:6 -./test/uncaught_errors_1.ts (uncaught error) -bar 2 => ./test/uncaught_errors_2.ts:3:6 -bar 3 => ./test/uncaught_errors_2.ts:6:6 -./test/uncaught_errors_3.ts (uncaught error) - -FAILED | 2 passed | 6 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/uncaught_errors_1.ts b/tests/testdata/test/uncaught_errors_1.ts deleted file mode 100644 index 166b23ac3..000000000 --- a/tests/testdata/test/uncaught_errors_1.ts +++ /dev/null @@ -1,9 +0,0 @@ -Deno.test("foo 1", () => { - throw new Error("foo 1 message"); -}); - -Deno.test("foo 2", () => {}); - -Deno.test("foo 3", () => { - Promise.reject(new Error("foo 3 message")); -}); diff --git a/tests/testdata/test/uncaught_errors_2.ts b/tests/testdata/test/uncaught_errors_2.ts deleted file mode 100644 index 8cafbe291..000000000 --- a/tests/testdata/test/uncaught_errors_2.ts +++ /dev/null @@ -1,8 +0,0 @@ -Deno.test("bar 1", () => {}); - -Deno.test("bar 2", () => { - throw new Error("bar 2"); -}); -Deno.test("bar 3", () => { - throw new Error("bar 3 message"); -}); diff --git a/tests/testdata/test/uncaught_errors_3.ts b/tests/testdata/test/uncaught_errors_3.ts deleted file mode 100644 index cb2a55036..000000000 --- a/tests/testdata/test/uncaught_errors_3.ts +++ /dev/null @@ -1 +0,0 @@ -throw new Error("baz"); diff --git a/tests/testdata/test/unhandled_rejection.out b/tests/testdata/test/unhandled_rejection.out deleted file mode 100644 index bc8387929..000000000 --- a/tests/testdata/test/unhandled_rejection.out +++ /dev/null @@ -1,22 +0,0 @@ -Check [WILDCARD]/test/unhandled_rejection.ts -Uncaught error from ./test/unhandled_rejection.ts FAILED - - ERRORS - -./test/unhandled_rejection.ts (uncaught error) -error: (in promise) Error: rejection - reject(new Error("rejection")); - ^ - at [WILDCARD]/test/unhandled_rejection.ts:2:10 - at new Promise () - at [WILDCARD]/test/unhandled_rejection.ts:1:1 -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. - - FAILURES - -./test/unhandled_rejection.ts (uncaught error) - -FAILED | 0 passed | 1 failed ([WILDCARD]) - -error: Test failed diff --git a/tests/testdata/test/unhandled_rejection.ts b/tests/testdata/test/unhandled_rejection.ts deleted file mode 100644 index 32f3111ea..000000000 --- a/tests/testdata/test/unhandled_rejection.ts +++ /dev/null @@ -1,3 +0,0 @@ -new Promise((_resolve, reject) => { - reject(new Error("rejection")); -}); diff --git a/tests/testdata/test/unresolved_promise.out b/tests/testdata/test/unresolved_promise.out deleted file mode 100644 index 88535e171..000000000 --- a/tests/testdata/test/unresolved_promise.out +++ /dev/null @@ -1,10 +0,0 @@ -[WILDCARD] -./test/unresolved_promise.ts (uncaught error) -error: Top-level await promise never resolved -await new Promise((_resolve, _reject) => {}); -^ - at ([WILDCARD]/test/unresolved_promise.ts:1:1) -This error was not caught from a test and caused the test runner to fail on the referenced module. -It most likely originated from a dangling promise, event/timeout handler or top-level code. -[WILDCARD] -error: Test failed diff --git a/tests/testdata/test/unresolved_promise.ts b/tests/testdata/test/unresolved_promise.ts deleted file mode 100644 index 25fe70762..000000000 --- a/tests/testdata/test/unresolved_promise.ts +++ /dev/null @@ -1 +0,0 @@ -await new Promise((_resolve, _reject) => {}); -- cgit v1.2.3