summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dprint.json1
-rw-r--r--tests/integration/test_tests.rs585
-rw-r--r--tests/specs/test/aggregate_error/__test__.jsonc5
-rw-r--r--tests/specs/test/aggregate_error/main.out22
-rw-r--r--tests/specs/test/aggregate_error/main.ts (renamed from tests/testdata/test/aggregate_error.ts)0
-rw-r--r--tests/specs/test/allow_all/__test__.jsonc5
-rw-r--r--tests/specs/test/allow_all/deno.json4
-rw-r--r--tests/specs/test/allow_all/main.out (renamed from tests/testdata/test/allow_all.out)0
-rw-r--r--tests/specs/test/allow_all/main.ts (renamed from tests/testdata/test/allow_all.ts)0
-rw-r--r--tests/specs/test/allow_none/__test__.jsonc5
-rw-r--r--tests/specs/test/allow_none/deno.json4
-rw-r--r--tests/specs/test/allow_none/main.out (renamed from tests/testdata/test/allow_none.out)24
-rw-r--r--tests/specs/test/allow_none/main.ts (renamed from tests/testdata/test/allow_none.ts)0
-rw-r--r--tests/specs/test/before_unload_prevent_default/__test__.jsonc4
-rw-r--r--tests/specs/test/before_unload_prevent_default/main.out (renamed from tests/testdata/test/before_unload_prevent_default.out)2
-rw-r--r--tests/specs/test/before_unload_prevent_default/main.ts (renamed from tests/testdata/test/before_unload_prevent_default.ts)0
-rw-r--r--tests/specs/test/captured_output/__test__.jsonc6
-rw-r--r--tests/specs/test/captured_output/captured_output.ts (renamed from tests/testdata/test/captured_output.ts)2
-rw-r--r--tests/specs/test/captured_output/captured_output.worker.ts (renamed from tests/testdata/test/captured_output.worker.js)0
-rw-r--r--tests/specs/test/captured_output/main.out22
-rw-r--r--tests/specs/test/check_local_by_default/__test__.jsonc4
-rw-r--r--tests/specs/test/check_local_by_default/main.out4
-rw-r--r--tests/specs/test/check_local_by_default/main.ts (renamed from tests/testdata/test/check_local_by_default.ts)0
-rw-r--r--tests/specs/test/check_local_by_default2/__test__.jsonc5
-rw-r--r--tests/specs/test/check_local_by_default2/main.out (renamed from tests/testdata/test/check_local_by_default2.out)2
-rw-r--r--tests/specs/test/check_local_by_default2/main.ts (renamed from tests/testdata/test/check_local_by_default2.ts)0
-rw-r--r--tests/specs/test/clean_flag/__test__.jsonc2
-rw-r--r--tests/specs/test/clean_flag/deno.json4
-rw-r--r--tests/specs/test/clear_timeout/__test__.jsonc5
-rw-r--r--tests/specs/test/clear_timeout/main.out (renamed from tests/testdata/test/clear_timeout.out)4
-rw-r--r--tests/specs/test/clear_timeout/main.ts (renamed from tests/testdata/test/clear_timeout.ts)0
-rw-r--r--tests/specs/test/collect/__test__.jsonc5
-rw-r--r--tests/specs/test/collect/collect/deno.jsonc (renamed from tests/testdata/test/collect/deno.jsonc)0
-rw-r--r--tests/specs/test/collect/collect/deno.malformed.jsonc (renamed from tests/testdata/test/collect/deno.malformed.jsonc)0
-rw-r--r--tests/specs/test/collect/collect/deno2.jsonc (renamed from tests/testdata/test/collect/deno2.jsonc)0
-rw-r--r--tests/specs/test/collect/collect/ignore/test.ts (renamed from tests/testdata/test/collect/ignore/test.ts)0
-rw-r--r--tests/specs/test/collect/collect/include.ts (renamed from tests/testdata/test/collect/include.ts)0
-rw-r--r--tests/specs/test/collect/collect/include/2_test.ts (renamed from tests/testdata/test/collect/include/2_test.ts)0
-rw-r--r--tests/specs/test/collect/collect/include/test.ts (renamed from tests/testdata/test/collect/include/test.ts)0
-rw-r--r--tests/specs/test/collect/collect/test.ts (renamed from tests/testdata/test/collect/test.ts)0
-rw-r--r--tests/specs/test/collect/main.out9
-rw-r--r--tests/specs/test/doc/__test__.jsonc5
-rw-r--r--tests/specs/test/doc/main.out9
-rw-r--r--tests/specs/test/doc/main.ts38
-rw-r--r--tests/specs/test/doc_only/__test__.jsonc5
-rw-r--r--tests/specs/test/doc_only/doc_only/mod.ts (renamed from tests/testdata/test/doc_only/mod.ts)0
-rw-r--r--tests/specs/test/doc_only/main.out4
-rw-r--r--tests/specs/test/exit_sanitizer/__test__.jsonc5
-rw-r--r--tests/specs/test/exit_sanitizer/exit_sanitizer.out (renamed from tests/testdata/test/sanitizer/exit_sanitizer.out)0
-rw-r--r--tests/specs/test/exit_sanitizer/exit_sanitizer.ts (renamed from tests/testdata/test/sanitizer/exit_sanitizer.ts)0
-rw-r--r--tests/specs/test/fail/__test__.jsonc5
-rw-r--r--tests/specs/test/fail/main.out91
-rw-r--r--tests/specs/test/fail/main.ts (renamed from tests/testdata/test/fail.ts)0
-rw-r--r--tests/specs/test/fail_fast/__test__.jsonc5
-rw-r--r--tests/specs/test/fail_fast/fail_fast.out20
-rw-r--r--tests/specs/test/fail_fast/fail_fast.ts (renamed from tests/testdata/test/fail_fast.ts)0
-rw-r--r--tests/specs/test/fail_fast/fail_fast_other.ts (renamed from tests/testdata/test/fail_fast_other.ts)0
-rw-r--r--tests/specs/test/fail_with_contain_unicode_filename/__test__.jsonc5
-rw-r--r--tests/specs/test/fail_with_contain_unicode_filename/main.out19
-rw-r--r--tests/specs/test/fail_with_contain_unicode_filename/main.ts3
-rw-r--r--tests/specs/test/file_protocol/__test__.jsonc4
-rw-r--r--tests/specs/test/file_protocol/main.out6
-rw-r--r--tests/specs/test/file_protocol/main.ts (renamed from tests/testdata/test/file_protocol.ts)0
-rw-r--r--tests/specs/test/filter/__test__.jsonc5
-rw-r--r--tests/specs/test/filter/filter/a_test.ts (renamed from tests/testdata/test/filter/a_test.ts)0
-rw-r--r--tests/specs/test/filter/filter/b_test.ts (renamed from tests/testdata/test/filter/b_test.ts)0
-rw-r--r--tests/specs/test/filter/filter/c_test.ts (renamed from tests/testdata/test/filter/c_test.ts)0
-rw-r--r--tests/specs/test/filter/main.out12
-rw-r--r--tests/specs/test/finally_timeout/__test__.jsonc5
-rw-r--r--tests/specs/test/finally_timeout/main.out20
-rw-r--r--tests/specs/test/finally_timeout/main.ts (renamed from tests/testdata/test/finally_timeout.ts)0
-rw-r--r--tests/specs/test/hide_empty_suites/__test__.jsonc5
-rw-r--r--tests/specs/test/hide_empty_suites/main.out (renamed from tests/testdata/test/hide_empty_suites.out)2
-rw-r--r--tests/specs/test/hide_empty_suites/main.ts (renamed from tests/testdata/test/pass.ts)0
-rw-r--r--tests/specs/test/ignore/__test__.jsonc5
-rw-r--r--tests/specs/test/ignore/main.out (renamed from tests/testdata/test/ignore.out)4
-rw-r--r--tests/specs/test/ignore/main.ts (renamed from tests/testdata/test/ignore.ts)0
-rw-r--r--tests/specs/test/ignore_persmissions/__test__.jsonc5
-rw-r--r--tests/specs/test/ignore_persmissions/main.out6
-rw-r--r--tests/specs/test/ignore_persmissions/main.ts (renamed from tests/testdata/test/ignore_permissions.ts)0
-rw-r--r--tests/specs/test/interval/__test__.jsonc5
-rw-r--r--tests/specs/test/interval/main.out5
-rw-r--r--tests/specs/test/interval/main.ts (renamed from tests/testdata/test/interval.ts)0
-rw-r--r--tests/specs/test/junit/__test__.jsonc4
-rw-r--r--tests/specs/test/junit/main.out38
-rw-r--r--tests/specs/test/junit/main.ts37
-rw-r--r--tests/specs/test/junit_multiple_test_files/__test__.jsonc5
-rw-r--r--tests/specs/test/junit_multiple_test_files/fail.ts (renamed from tests/testdata/test/fail_fast_with_val.ts)6
-rw-r--r--tests/specs/test/junit_multiple_test_files/main.out102
-rw-r--r--tests/specs/test/junit_multiple_test_files/pass.ts37
-rw-r--r--tests/specs/test/junit_nested/__test__.jsonc5
-rw-r--r--tests/specs/test/junit_nested/main.out47
-rw-r--r--tests/specs/test/junit_nested/main.ts (renamed from tests/testdata/test/nested_failures.ts)0
-rw-r--r--tests/specs/test/load_unload/__test__.jsonc5
-rw-r--r--tests/specs/test/load_unload/main.out (renamed from tests/testdata/test/load_unload.out)4
-rw-r--r--tests/specs/test/load_unload/main.ts (renamed from tests/testdata/test/load_unload.ts)0
-rw-r--r--tests/specs/test/markdown/__test__.jsonc5
-rw-r--r--tests/specs/test/markdown/main.md (renamed from tests/testdata/test/markdown.md)0
-rw-r--r--tests/specs/test/markdown/main.out7
-rw-r--r--tests/specs/test/markdown_full_block_names/__test__.jsonc5
-rw-r--r--tests/specs/test/markdown_full_block_names/main.md (renamed from tests/testdata/test/markdown_full_block_names.md)0
-rw-r--r--tests/specs/test/markdown_full_block_names/main.out6
-rw-r--r--tests/specs/test/markdown_ignore_html_comment/__test__.jsonc5
-rw-r--r--tests/specs/test/markdown_ignore_html_comment/main.md (renamed from tests/testdata/test/markdown_with_comment.md)0
-rw-r--r--tests/specs/test/markdown_ignore_html_comment/main.out5
-rw-r--r--tests/specs/test/markdown_windows/__test__.jsonc5
-rw-r--r--tests/specs/test/markdown_windows/main.md (renamed from tests/testdata/test/markdown_windows.md)0
-rw-r--r--tests/specs/test/markdown_windows/main.out7
-rw-r--r--tests/specs/test/meta/__test__.jsonc5
-rw-r--r--tests/specs/test/meta/main.out (renamed from tests/testdata/test/meta.out)6
-rw-r--r--tests/specs/test/meta/main.ts (renamed from tests/testdata/test/meta.ts)0
-rw-r--r--tests/specs/test/no_check/__test__.jsonc5
-rw-r--r--tests/specs/test/no_check/main.out (renamed from tests/testdata/test/no_check.out)6
-rw-r--r--tests/specs/test/no_check/main.ts (renamed from tests/testdata/test/no_check.ts)0
-rw-r--r--tests/specs/test/no_color/__test__.jsonc8
-rw-r--r--tests/specs/test/no_color/main.out21
-rw-r--r--tests/specs/test/no_color/main.ts (renamed from tests/testdata/test/no_color.ts)0
-rw-r--r--tests/specs/test/no_prompt_by_default/__test__.jsonc5
-rw-r--r--tests/specs/test/no_prompt_by_default/main.out (renamed from tests/testdata/test/no_prompt_by_default.out)6
-rw-r--r--tests/specs/test/no_prompt_by_default/main.ts (renamed from tests/testdata/test/no_prompt_by_default.ts)0
-rw-r--r--tests/specs/test/no_prompt_with_denied_perms/__test__.jsonc5
-rw-r--r--tests/specs/test/no_prompt_with_denied_perms/main.out (renamed from tests/testdata/test/no_prompt_with_denied_perms.out)6
-rw-r--r--tests/specs/test/no_prompt_with_denied_perms/main.ts (renamed from tests/testdata/test/no_prompt_with_denied_perms.ts)0
-rw-r--r--tests/specs/test/no_run/__test__.jsonc5
-rw-r--r--tests/specs/test/no_run/main.out (renamed from tests/testdata/test/no_run.out)4
-rw-r--r--tests/specs/test/no_run/main.ts (renamed from tests/testdata/test/no_run.ts)0
-rw-r--r--tests/specs/test/non_error_thrown/__test__.jsonc5
-rw-r--r--tests/specs/test/non_error_thrown/main.out40
-rw-r--r--tests/specs/test/non_error_thrown/main.ts (renamed from tests/testdata/test/non_error_thrown.ts)0
-rw-r--r--tests/specs/test/only/__test__.jsonc5
-rw-r--r--tests/specs/test/only/main.out (renamed from tests/testdata/test/only.out)4
-rw-r--r--tests/specs/test/only/main.ts (renamed from tests/testdata/test/only.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_closed_inside_started_before/__test__.jsonc5
-rw-r--r--tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests/__test__.jsonc5
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/__test__.jsonc5
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests.ts10
-rw-r--r--tests/specs/test/ops_sanitizer_multiple_timeout_tests_no_trace/ops_sanitizer_multiple_timeout_tests_no_trace.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests_no_trace.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_nexttick/__test__.jsonc4
-rw-r--r--tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_tcp/__test__.jsonc5
-rw-r--r--tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_tcp.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_timeout_failure/__test__.jsonc4
-rw-r--r--tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts)0
-rw-r--r--tests/specs/test/ops_sanitizer_unstable/__test__.jsonc5
-rw-r--r--tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out (renamed from tests/testdata/test/sanitizer/ops_sanitizer_unstable.out)0
-rw-r--r--tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts (renamed from tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts)0
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/__test__.jsonc5
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/actually_excluded.test.ts1
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/deno.json6
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/excluded.test.ts1
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.out9
-rw-r--r--tests/specs/test/opt_out_top_level_exclude_via_test_unexclude/main.test.ts1
-rw-r--r--tests/specs/test/overloads/__test__.jsonc5
-rw-r--r--tests/specs/test/overloads/main.out (renamed from tests/testdata/test/overloads.out)4
-rw-r--r--tests/specs/test/overloads/main.ts (renamed from tests/testdata/test/overloads.ts)0
-rw-r--r--tests/specs/test/parallel_flag/__test__.jsonc5
-rw-r--r--tests/specs/test/parallel_flag/main.out5
-rw-r--r--tests/specs/test/parallel_flag/main.ts (renamed from tests/testdata/test/short-pass.ts)0
-rw-r--r--tests/specs/test/parallel_flag_with_env_variables/__test__.jsonc6
-rw-r--r--tests/specs/test/parallel_flag_with_env_variables/main.out5
-rw-r--r--tests/specs/test/parallel_flag_with_env_variables/main.ts1
-rw-r--r--tests/specs/test/parallel_output/__test__.jsonc5
-rw-r--r--tests/specs/test/parallel_output/main.out56
-rw-r--r--tests/specs/test/parallel_output/main.ts (renamed from tests/testdata/test/parallel_output.ts)0
-rw-r--r--tests/specs/test/pass/__test__.jsonc5
-rw-r--r--tests/specs/test/pass/main.out (renamed from tests/testdata/test/pass.out)4
-rw-r--r--tests/specs/test/pass/main.ts37
-rw-r--r--tests/specs/test/quiet/__test__.jsonc5
-rw-r--r--tests/specs/test/quiet/main.out (renamed from tests/testdata/test/quiet.out)2
-rw-r--r--tests/specs/test/quiet/main.ts (renamed from tests/testdata/test/quiet.ts)0
-rw-r--r--tests/specs/test/recursive_permissions_pledge/__test__.jsonc8
-rw-r--r--tests/specs/test/recursive_permissions_pledge/main.js (renamed from tests/testdata/test/recursive_permissions_pledge.js)0
-rw-r--r--tests/specs/test/report_error/__test__.jsonc5
-rw-r--r--tests/specs/test/report_error/main.out (renamed from tests/testdata/test/report_error.out)10
-rw-r--r--tests/specs/test/report_error/main.ts (renamed from tests/testdata/test/report_error.ts)0
-rw-r--r--tests/specs/test/resource_sanitizer/__test__.jsonc5
-rw-r--r--tests/specs/test/resource_sanitizer/resource_sanitizer.out (renamed from tests/testdata/test/sanitizer/resource_sanitizer.out)0
-rw-r--r--tests/specs/test/resource_sanitizer/resource_sanitizer.ts (renamed from tests/testdata/test/sanitizer/resource_sanitizer.ts)2
-rw-r--r--tests/specs/test/sanitizer_trace_ops_catch_error/__test__.jsonc5
-rw-r--r--tests/specs/test/sanitizer_trace_ops_catch_error/main.out6
-rw-r--r--tests/specs/test/sanitizer_trace_ops_catch_error/main.ts (renamed from tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts)0
-rw-r--r--tests/specs/test/shuffle/__test__.jsonc5
-rw-r--r--tests/specs/test/shuffle/shuffle/bar_test.ts (renamed from tests/testdata/test/shuffle/bar_test.ts)0
-rw-r--r--tests/specs/test/shuffle/shuffle/baz_test.ts (renamed from tests/testdata/test/shuffle/baz_test.ts)0
-rw-r--r--tests/specs/test/shuffle/shuffle/foo_test.ts (renamed from tests/testdata/test/shuffle/foo_test.ts)0
-rw-r--r--tests/specs/test/shuffle_with_seed/__test__.jsonc5
-rw-r--r--tests/specs/test/shuffle_with_seed/main.out (renamed from tests/testdata/test/shuffle.out)12
-rw-r--r--tests/specs/test/shuffle_with_seed/shuffle/bar_test.ts3
-rw-r--r--tests/specs/test/shuffle_with_seed/shuffle/baz_test.ts3
-rw-r--r--tests/specs/test/shuffle_with_seed/shuffle/foo_test.ts3
-rw-r--r--tests/specs/test/steps_dot_failing_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_dot_failing_steps/failing_steps.dot.out53
-rw-r--r--tests/specs/test/steps_dot_failing_steps/failing_steps.ts (renamed from tests/testdata/test/steps/failing_steps.ts)0
-rw-r--r--tests/specs/test/steps_dot_ignored_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out (renamed from tests/testdata/test/steps/ignored_steps.dot.out)0
-rw-r--r--tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts (renamed from tests/testdata/test/steps/ignored_steps.ts)0
-rw-r--r--tests/specs/test/steps_dot_passing_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out (renamed from tests/testdata/test/steps/passing_steps.dot.out)0
-rw-r--r--tests/specs/test/steps_dot_passing_steps/passing_steps.ts (renamed from tests/testdata/test/steps/passing_steps.ts)0
-rw-r--r--tests/specs/test/steps_failing_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_failing_steps/failing_steps.out (renamed from tests/testdata/test/steps/failing_steps.out)22
-rw-r--r--tests/specs/test/steps_failing_steps/failing_steps.ts27
-rw-r--r--tests/specs/test/steps_ignored_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_ignored_steps/ignored_steps.out (renamed from tests/testdata/test/steps/ignored_steps.out)2
-rw-r--r--tests/specs/test/steps_ignored_steps/ignored_steps.ts16
-rw-r--r--tests/specs/test/steps_invalid_usage/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_invalid_usage/invalid_usage.out (renamed from tests/testdata/test/steps/invalid_usage.out)34
-rw-r--r--tests/specs/test/steps_invalid_usage/invalid_usage.ts (renamed from tests/testdata/test/steps/invalid_usage.ts)0
-rw-r--r--tests/specs/test/steps_output_within/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_output_within/output_within.out (renamed from tests/testdata/test/steps/output_within.out)2
-rw-r--r--tests/specs/test/steps_output_within/output_within.ts (renamed from tests/testdata/test/steps/output_within.ts)0
-rw-r--r--tests/specs/test/steps_passing_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_passing_steps/passing_steps.out (renamed from tests/testdata/test/steps/passing_steps.out)2
-rw-r--r--tests/specs/test/steps_passing_steps/passing_steps.ts127
-rw-r--r--tests/specs/test/steps_tap_failing_steps/__test__.jsonc8
-rw-r--r--tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out (renamed from tests/testdata/test/steps/failing_steps.tap.out)18
-rw-r--r--tests/specs/test/steps_tap_failing_steps/failing_steps.ts27
-rw-r--r--tests/specs/test/steps_tap_ignored_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out (renamed from tests/testdata/test/steps/ignored_steps.tap.out)2
-rw-r--r--tests/specs/test/steps_tap_ignored_steps/ignored_steps.ts16
-rw-r--r--tests/specs/test/steps_tap_passing_steps/__test__.jsonc5
-rw-r--r--tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out (renamed from tests/testdata/test/steps/passing_steps.tap.out)2
-rw-r--r--tests/specs/test/steps_tap_passing_steps/passing_steps.ts127
-rw-r--r--tests/specs/test/test_filtered_out_only/__test__.jsonc4
-rw-r--r--tests/specs/test/test_filtered_out_only/main.out (renamed from tests/testdata/test/filtered_out_only.out)2
-rw-r--r--tests/specs/test/test_filtered_out_only/main.ts (renamed from tests/testdata/test/filtered_out_only.ts)0
-rw-r--r--tests/specs/test/test_replace_timers/__test__.jsonc5
-rw-r--r--tests/specs/test/test_replace_timers/main.js (renamed from tests/testdata/test/replace_timers.js)0
-rw-r--r--tests/specs/test/test_replace_timers/main.out (renamed from tests/testdata/test/replace_timers.js.out)2
-rw-r--r--tests/specs/test/test_with_config/__test__.jsonc5
-rw-r--r--tests/specs/test/test_with_config/collect/deno.jsonc5
-rw-r--r--tests/specs/test/test_with_config/collect/deno.malformed.jsonc5
-rw-r--r--tests/specs/test/test_with_config/collect/deno2.jsonc6
-rw-r--r--tests/specs/test/test_with_config/collect/ignore/test.ts1
-rw-r--r--tests/specs/test/test_with_config/collect/include.ts0
-rw-r--r--tests/specs/test/test_with_config/collect/include/2_test.ts0
-rw-r--r--tests/specs/test/test_with_config/collect/include/test.ts0
-rw-r--r--tests/specs/test/test_with_config/collect/test.ts0
-rw-r--r--tests/specs/test/test_with_config/main.out9
-rw-r--r--tests/specs/test/test_with_config2/__test__.jsonc5
-rw-r--r--tests/specs/test/test_with_config2/collect/deno.jsonc5
-rw-r--r--tests/specs/test/test_with_config2/collect/deno.malformed.jsonc5
-rw-r--r--tests/specs/test/test_with_config2/collect/deno2.jsonc6
-rw-r--r--tests/specs/test/test_with_config2/collect/ignore/test.ts1
-rw-r--r--tests/specs/test/test_with_config2/collect/include.ts0
-rw-r--r--tests/specs/test/test_with_config2/collect/include/2_test.ts0
-rw-r--r--tests/specs/test/test_with_config2/collect/include/test.ts0
-rw-r--r--tests/specs/test/test_with_config2/collect/test.ts0
-rw-r--r--tests/specs/test/test_with_config2/main.out7
-rw-r--r--tests/specs/test/test_with_custom_jsx/__test__.jsonc5
-rw-r--r--tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json (renamed from tests/testdata/test/deno_custom_jsx.json)0
-rw-r--r--tests/specs/test/test_with_custom_jsx/main.out (renamed from tests/testdata/test/hello_world.out)2
-rw-r--r--tests/specs/test/test_with_custom_jsx/main.ts (renamed from tests/testdata/test/hello_world.ts)0
-rw-r--r--tests/specs/test/test_with_glob_config/__test__.jsonc5
-rw-r--r--tests/specs/test/test_with_glob_config/deno.glob.json11
-rw-r--r--tests/specs/test/test_with_glob_config/glob/data/tes.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/data/test1.js2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/data/test1.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/data/test12.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/fizz/bar.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/fizz/bazz.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/fizz/fizz.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/fizz/foo.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/foo/bar.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/foo/bazz.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/foo/fizz.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/nested/foo/foo.ts2
-rw-r--r--tests/specs/test/test_with_glob_config/glob/pages/[id].ts2
-rw-r--r--tests/specs/test/test_with_glob_config/main.out21
-rw-r--r--tests/specs/test/test_with_malformed_config/__test__.jsonc5
-rw-r--r--tests/specs/test/test_with_malformed_config/deno.malformed.jsonc5
-rw-r--r--tests/specs/test/test_with_malformed_config/main.out (renamed from tests/testdata/test/collect_with_malformed_config.out)0
-rw-r--r--tests/specs/test/text/__test__.jsonc5
-rw-r--r--tests/specs/test/text/main.md (renamed from tests/testdata/test/text.md)0
-rw-r--r--tests/specs/test/text/main.out (renamed from tests/testdata/test/text.out)0
-rw-r--r--tests/specs/test/uncaught_errors/__test__.jsonc5
-rw-r--r--tests/specs/test/uncaught_errors/main.out (renamed from tests/testdata/test/uncaught_errors.out)38
-rw-r--r--tests/specs/test/uncaught_errors/uncaught_errors_1.ts (renamed from tests/testdata/test/uncaught_errors_1.ts)0
-rw-r--r--tests/specs/test/uncaught_errors/uncaught_errors_2.ts (renamed from tests/testdata/test/uncaught_errors_2.ts)0
-rw-r--r--tests/specs/test/uncaught_errors/uncaught_errors_3.ts (renamed from tests/testdata/test/uncaught_errors_3.ts)0
-rw-r--r--tests/specs/test/unhandled_rejection/__test__.jsonc5
-rw-r--r--tests/specs/test/unhandled_rejection/main.out (renamed from tests/testdata/test/unhandled_rejection.out)12
-rw-r--r--tests/specs/test/unhandled_rejection/main.ts (renamed from tests/testdata/test/unhandled_rejection.ts)0
-rw-r--r--tests/specs/test/unresolved_promise/__test__.jsonc5
-rw-r--r--tests/specs/test/unresolved_promise/main.out (renamed from tests/testdata/test/unresolved_promise.out)4
-rw-r--r--tests/specs/test/unresolved_promise/main.ts (renamed from tests/testdata/test/unresolved_promise.ts)0
-rw-r--r--tests/testdata/test/aggregate_error.out22
-rw-r--r--tests/testdata/test/check_local_by_default.out4
-rw-r--r--tests/testdata/test/collect.out9
-rw-r--r--tests/testdata/test/collect2.out7
-rw-r--r--tests/testdata/test/doc.out9
-rw-r--r--tests/testdata/test/doc.ts38
-rw-r--r--tests/testdata/test/doc_only.out4
-rw-r--r--tests/testdata/test/fail.out91
-rw-r--r--tests/testdata/test/fail_fast.out20
-rw-r--r--tests/testdata/test/fail_fast_with_val.out23
-rw-r--r--tests/testdata/test/file_protocol.out6
-rw-r--r--tests/testdata/test/filter.out12
-rw-r--r--tests/testdata/test/finally_timeout.out20
-rw-r--r--tests/testdata/test/glob/data/tes.ts3
-rw-r--r--tests/testdata/test/glob/data/test1.js3
-rw-r--r--tests/testdata/test/glob/data/test1.ts3
-rw-r--r--tests/testdata/test/glob/data/test12.ts3
-rw-r--r--tests/testdata/test/glob/nested/fizz/bar.ts3
-rw-r--r--tests/testdata/test/glob/nested/fizz/bazz.ts3
-rw-r--r--tests/testdata/test/glob/nested/fizz/foo.ts3
-rw-r--r--tests/testdata/test/glob/nested/foo/bar.ts3
-rw-r--r--tests/testdata/test/glob/nested/foo/bazz.ts3
-rw-r--r--tests/testdata/test/glob/nested/foo/fizz.ts3
-rw-r--r--tests/testdata/test/glob/nested/foo/foo.ts3
-rw-r--r--tests/testdata/test/glob/pages/[id].ts3
-rw-r--r--tests/testdata/test/ignore_permissions.out6
-rw-r--r--tests/testdata/test/interval.out5
-rw-r--r--tests/testdata/test/junit_multiple_test_files.junit.out102
-rw-r--r--tests/testdata/test/markdown.out7
-rw-r--r--tests/testdata/test/markdown_full_block_names.out6
-rw-r--r--tests/testdata/test/markdown_windows.out7
-rw-r--r--tests/testdata/test/markdown_with_comment.out5
-rw-r--r--tests/testdata/test/nested_failures.junit.out47
-rw-r--r--tests/testdata/test/non_error_thrown.out40
-rw-r--r--tests/testdata/test/parallel_output.out56
-rw-r--r--tests/testdata/test/pass.junit.out38
-rw-r--r--tests/testdata/test/sanitizer/ops_sanitizer_step_leak.out10
-rw-r--r--tests/testdata/test/sanitizer/ops_sanitizer_step_leak.ts10
-rw-r--r--tests/testdata/test/sanitizer/trace_ops_caught_error/main.out6
-rw-r--r--tests/testdata/test/short-pass.out5
-rw-r--r--tests/testdata/test/steps/failing_steps.dot.out53
-rwxr-xr-xtools/lint.js2
335 files changed, 1850 insertions, 1410 deletions
diff --git a/.dprint.json b/.dprint.json
index f5c62019e..77ab01e02 100644
--- a/.dprint.json
+++ b/.dprint.json
@@ -56,7 +56,6 @@
"tests/testdata/run/byte_order_mark.ts",
"tests/testdata/run/error_syntax_empty_trailing_line.mjs",
"tests/testdata/run/inline_js_source_map*",
- "tests/testdata/test/glob/",
"tests/testdata/test/markdown_windows.md",
"tests/util/std",
"tests/wpt/runner/expectation.json",
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,9 +1,6 @@
// 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;
@@ -11,315 +8,6 @@ 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();
let temp_dir = context.temp_dir();
@@ -336,245 +24,6 @@ fn junit_path() {
.assert_matches_text("<?xml [WILDCARD]");
}
-itest!(clear_timeout {
- args: "test test/clear_timeout.ts",
- exit_code: 0,
- output: "test/clear_timeout.out",
-});
-
-itest!(hide_empty_suites {
- args: "test --filter none test/pass.ts",
- exit_code: 0,
- output: "test/hide_empty_suites.out",
-});
-
-itest!(finally_timeout {
- args: "test test/finally_timeout.ts",
- exit_code: 1,
- output: "test/finally_timeout.out",
-});
-
-itest!(unresolved_promise {
- args: "test test/unresolved_promise.ts",
- exit_code: 1,
- output: "test/unresolved_promise.out",
-});
-
-itest!(unhandled_rejection {
- args: "test test/unhandled_rejection.ts",
- exit_code: 1,
- output: "test/unhandled_rejection.out",
-});
-
-itest!(filter {
- args: "test --filter=foo test/filter",
- exit_code: 0,
- output: "test/filter.out",
-});
-
-itest!(shuffle {
- args: "test --shuffle test/shuffle",
- exit_code: 0,
- output_str: Some("[WILDCARD]"),
-});
-
-itest!(shuffle_with_seed {
- args: "test --shuffle=42 test/shuffle",
- exit_code: 0,
- output: "test/shuffle.out",
-});
-
-itest!(aggregate_error {
- args: "test --quiet test/aggregate_error.ts",
- exit_code: 1,
- output: "test/aggregate_error.out",
-});
-
-itest!(steps_passing_steps {
- args: "test test/steps/passing_steps.ts",
- exit_code: 0,
- output: "test/steps/passing_steps.out",
-});
-
-itest!(steps_failing_steps {
- args: "test test/steps/failing_steps.ts",
- exit_code: 1,
- output: "test/steps/failing_steps.out",
-});
-
-itest!(steps_ignored_steps {
- args: "test test/steps/ignored_steps.ts",
- exit_code: 0,
- output: "test/steps/ignored_steps.out",
-});
-
-itest!(steps_dot_passing_steps {
- args: "test --reporter=dot test/steps/passing_steps.ts",
- exit_code: 0,
- output: "test/steps/passing_steps.dot.out",
-});
-
-itest!(steps_dot_failing_steps {
- args: "test --reporter=dot test/steps/failing_steps.ts",
- exit_code: 1,
- output: "test/steps/failing_steps.dot.out",
-});
-
-itest!(steps_dot_ignored_steps {
- args: "test --reporter=dot test/steps/ignored_steps.ts",
- exit_code: 0,
- output: "test/steps/ignored_steps.dot.out",
-});
-
-itest!(steps_tap_passing_steps {
- args: "test --reporter=tap test/steps/passing_steps.ts",
- exit_code: 0,
- output: "test/steps/passing_steps.tap.out",
-});
-
-itest!(steps_tap_failing_steps {
- args: "test --reporter=tap test/steps/failing_steps.ts",
- exit_code: 1,
- envs: vec![("NO_COLOR".to_owned(), "1".to_owned())],
- output: "test/steps/failing_steps.tap.out",
-});
-
-itest!(steps_tap_ignored_steps {
- args: "test --reporter=tap test/steps/ignored_steps.ts",
- exit_code: 0,
- output: "test/steps/ignored_steps.tap.out",
-});
-
-itest!(steps_invalid_usage {
- args: "test test/steps/invalid_usage.ts",
- exit_code: 1,
- output: "test/steps/invalid_usage.out",
-});
-
-itest!(steps_output_within {
- args: "test test/steps/output_within.ts",
- exit_code: 0,
- output: "test/steps/output_within.out",
-});
-
-itest!(no_prompt_by_default {
- args: "test --quiet test/no_prompt_by_default.ts",
- exit_code: 1,
- output: "test/no_prompt_by_default.out",
-});
-
-itest!(no_prompt_with_denied_perms {
- args: "test --quiet --allow-read test/no_prompt_with_denied_perms.ts",
- exit_code: 1,
- output: "test/no_prompt_with_denied_perms.out",
-});
-
-itest!(test_with_custom_jsx {
- args: "test --quiet --allow-read test/hello_world.ts --config=test/deno_custom_jsx.json",
- exit_code: 0,
- output: "test/hello_world.out",
-});
-
-itest!(before_unload_prevent_default {
- args: "test --quiet test/before_unload_prevent_default.ts",
- output: "test/before_unload_prevent_default.out",
-});
-
-#[test]
-fn captured_output() {
- let context = TestContext::default();
- let output = context
- .new_command()
- .args("test --allow-run --allow-read test/captured_output.ts")
- .env("NO_COLOR", "1")
- .run();
-
- let output_start = "------- output -------";
- let output_end = "----- output end -----";
- output.assert_exit_code(0);
- let output_text = output.combined_output();
- let start = output_text.find(output_start).unwrap() + output_start.len();
- let end = output_text.find(output_end).unwrap();
- // replace zero width space that may appear in test output due
- // to test runner output flusher
- let output_text = output_text[start..end]
- .replace('\u{200B}', "")
- .trim()
- .to_string();
- let mut lines = output_text.lines().collect::<Vec<_>>();
- // 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/testdata/test/aggregate_error.ts b/tests/specs/test/aggregate_error/main.ts
index 0661ea249..0661ea249 100644
--- a/tests/testdata/test/aggregate_error.ts
+++ b/tests/specs/test/aggregate_error/main.ts
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/testdata/test/allow_all.out b/tests/specs/test/allow_all/main.out
index b3bf5275f..b3bf5275f 100644
--- a/tests/testdata/test/allow_all.out
+++ b/tests/specs/test/allow_all/main.out
diff --git a/tests/testdata/test/allow_all.ts b/tests/specs/test/allow_all/main.ts
index 7faa58c61..7faa58c61 100644
--- a/tests/testdata/test/allow_all.ts
+++ b/tests/specs/test/allow_all/main.ts
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/testdata/test/allow_none.out b/tests/specs/test/allow_none/main.out
index 37ed8548a..1914997cd 100644
--- a/tests/testdata/test/allow_none.out
+++ b/tests/specs/test/allow_none/main.out
@@ -9,37 +9,37 @@ ffi ... FAILED [WILDCARD]
ERRORS
-read => ./test/allow_none.ts:[WILDCARD]
+read => ./main.ts:[WILDCARD]
error: NotCapable: Can't escalate parent thread permissions
[WILDCARD]
-write => ./test/allow_none.ts:[WILDCARD]
+write => ./main.ts:[WILDCARD]
error: NotCapable: Can't escalate parent thread permissions
[WILDCARD]
-net => ./test/allow_none.ts:[WILDCARD]
+net => ./main.ts:[WILDCARD]
error: NotCapable: Can't escalate parent thread permissions
[WILDCARD]
-env => ./test/allow_none.ts:[WILDCARD]
+env => ./main.ts:[WILDCARD]
error: NotCapable: Can't escalate parent thread permissions
[WILDCARD]
-run => ./test/allow_none.ts:[WILDCARD]
+run => ./main.ts:[WILDCARD]
error: NotCapable: Can't escalate parent thread permissions
[WILDCARD]
-ffi => ./test/allow_none.ts:[WILDCARD]
+ffi => ./main.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]
+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/testdata/test/allow_none.ts b/tests/specs/test/allow_none/main.ts
index e59a30c4d..e59a30c4d 100644
--- a/tests/testdata/test/allow_none.ts
+++ b/tests/specs/test/allow_none/main.ts
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/testdata/test/before_unload_prevent_default.out b/tests/specs/test/before_unload_prevent_default/main.out
index 09da32ff9..9ccad312d 100644
--- a/tests/testdata/test/before_unload_prevent_default.out
+++ b/tests/specs/test/before_unload_prevent_default/main.out
@@ -1,4 +1,4 @@
-running 1 test from [WILDCARD]/before_unload_prevent_default.ts
+running 1 test from [WILDCARD]/main.ts
foo ... ok ([WILDCARD])
ok | 1 passed | 0 failed ([WILDCARD])
diff --git a/tests/testdata/test/before_unload_prevent_default.ts b/tests/specs/test/before_unload_prevent_default/main.ts
index 421ded520..421ded520 100644
--- a/tests/testdata/test/before_unload_prevent_default.ts
+++ b/tests/specs/test/before_unload_prevent_default/main.ts
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/testdata/test/captured_output.ts b/tests/specs/test/captured_output/captured_output.ts
index 3eed249a2..77e1d1b08 100644
--- a/tests/testdata/test/captured_output.ts
+++ b/tests/specs/test/captured_output/captured_output.ts
@@ -19,7 +19,7 @@ Deno.test("output", async () => {
}).spawn();
await c.status;
const worker = new Worker(
- import.meta.resolve("./captured_output.worker.js"),
+ import.meta.resolve("./captured_output.worker.ts"),
{ type: "module" },
);
diff --git a/tests/testdata/test/captured_output.worker.js b/tests/specs/test/captured_output/captured_output.worker.ts
index f49f26880..f49f26880 100644
--- a/tests/testdata/test/captured_output.worker.js
+++ b/tests/specs/test/captured_output/captured_output.worker.ts
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/testdata/test/check_local_by_default.ts b/tests/specs/test/check_local_by_default/main.ts
index 2ae8c2692..2ae8c2692 100644
--- a/tests/testdata/test/check_local_by_default.ts
+++ b/tests/specs/test/check_local_by_default/main.ts
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/testdata/test/check_local_by_default2.out b/tests/specs/test/check_local_by_default2/main.out
index b933ac483..5b145afd2 100644
--- a/tests/testdata/test/check_local_by_default2.out
+++ b/tests/specs/test/check_local_by_default2/main.out
@@ -1,4 +1,4 @@
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
+ at [WILDCARD]/main.ts:3:7
diff --git a/tests/testdata/test/check_local_by_default2.ts b/tests/specs/test/check_local_by_default2/main.ts
index 5177ff944..5177ff944 100644
--- a/tests/testdata/test/check_local_by_default2.ts
+++ b/tests/specs/test/check_local_by_default2/main.ts
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/testdata/test/clear_timeout.out b/tests/specs/test/clear_timeout/main.out
index 4d3ff8862..be639f728 100644
--- a/tests/testdata/test/clear_timeout.out
+++ b/tests/specs/test/clear_timeout/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/clear_timeout.ts
-running 3 tests from ./test/clear_timeout.ts
+Check [WILDCARD]/main.ts
+running 3 tests from ./main.ts
test 1 ... ok ([WILDCARD])
test 2 ... ok ([WILDCARD])
test 3 ... ok ([WILDCARD])
diff --git a/tests/testdata/test/clear_timeout.ts b/tests/specs/test/clear_timeout/main.ts
index 00056e853..00056e853 100644
--- a/tests/testdata/test/clear_timeout.ts
+++ b/tests/specs/test/clear_timeout/main.ts
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/testdata/test/collect/deno.jsonc b/tests/specs/test/collect/collect/deno.jsonc
index e14ce86da..e14ce86da 100644
--- a/tests/testdata/test/collect/deno.jsonc
+++ b/tests/specs/test/collect/collect/deno.jsonc
diff --git a/tests/testdata/test/collect/deno.malformed.jsonc b/tests/specs/test/collect/collect/deno.malformed.jsonc
index f2d8cbc65..f2d8cbc65 100644
--- a/tests/testdata/test/collect/deno.malformed.jsonc
+++ b/tests/specs/test/collect/collect/deno.malformed.jsonc
diff --git a/tests/testdata/test/collect/deno2.jsonc b/tests/specs/test/collect/collect/deno2.jsonc
index b7af09d1c..b7af09d1c 100644
--- a/tests/testdata/test/collect/deno2.jsonc
+++ b/tests/specs/test/collect/collect/deno2.jsonc
diff --git a/tests/testdata/test/collect/ignore/test.ts b/tests/specs/test/collect/collect/ignore/test.ts
index 16fb63ba7..16fb63ba7 100644
--- a/tests/testdata/test/collect/ignore/test.ts
+++ b/tests/specs/test/collect/collect/ignore/test.ts
diff --git a/tests/testdata/test/collect/include.ts b/tests/specs/test/collect/collect/include.ts
index e69de29bb..e69de29bb 100644
--- a/tests/testdata/test/collect/include.ts
+++ b/tests/specs/test/collect/collect/include.ts
diff --git a/tests/testdata/test/collect/include/2_test.ts b/tests/specs/test/collect/collect/include/2_test.ts
index e69de29bb..e69de29bb 100644
--- a/tests/testdata/test/collect/include/2_test.ts
+++ b/tests/specs/test/collect/collect/include/2_test.ts
diff --git a/tests/testdata/test/collect/include/test.ts b/tests/specs/test/collect/collect/include/test.ts
index e69de29bb..e69de29bb 100644
--- a/tests/testdata/test/collect/include/test.ts
+++ b/tests/specs/test/collect/collect/include/test.ts
diff --git a/tests/testdata/test/collect/test.ts b/tests/specs/test/collect/collect/test.ts
index e69de29bb..e69de29bb 100644
--- a/tests/testdata/test/collect/test.ts
+++ b/tests/specs/test/collect/collect/test.ts
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/testdata/test/doc_only/mod.ts b/tests/specs/test/doc_only/doc_only/mod.ts
index 467d850a2..467d850a2 100644
--- a/tests/testdata/test/doc_only/mod.ts
+++ b/tests/specs/test/doc_only/doc_only/mod.ts
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/testdata/test/sanitizer/exit_sanitizer.out b/tests/specs/test/exit_sanitizer/exit_sanitizer.out
index 305d51cc8..305d51cc8 100644
--- a/tests/testdata/test/sanitizer/exit_sanitizer.out
+++ b/tests/specs/test/exit_sanitizer/exit_sanitizer.out
diff --git a/tests/testdata/test/sanitizer/exit_sanitizer.ts b/tests/specs/test/exit_sanitizer/exit_sanitizer.ts
index 186406a9d..186406a9d 100644
--- a/tests/testdata/test/sanitizer/exit_sanitizer.ts
+++ b/tests/specs/test/exit_sanitizer/exit_sanitizer.ts
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/testdata/test/fail.ts b/tests/specs/test/fail/main.ts
index 9340db556..9340db556 100644
--- a/tests/testdata/test/fail.ts
+++ b/tests/specs/test/fail/main.ts
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/testdata/test/fail_fast.ts b/tests/specs/test/fail_fast/fail_fast.ts
index 637e825ec..637e825ec 100644
--- a/tests/testdata/test/fail_fast.ts
+++ b/tests/specs/test/fail_fast/fail_fast.ts
diff --git a/tests/testdata/test/fail_fast_other.ts b/tests/specs/test/fail_fast/fail_fast_other.ts
index 02aa878cf..02aa878cf 100644
--- a/tests/testdata/test/fail_fast_other.ts
+++ b/tests/specs/test/fail_fast/fail_fast_other.ts
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/testdata/test/file_protocol.ts b/tests/specs/test/file_protocol/main.ts
index 79128c2b3..79128c2b3 100644
--- a/tests/testdata/test/file_protocol.ts
+++ b/tests/specs/test/file_protocol/main.ts
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/testdata/test/filter/a_test.ts b/tests/specs/test/filter/filter/a_test.ts
index a3f32968a..a3f32968a 100644
--- a/tests/testdata/test/filter/a_test.ts
+++ b/tests/specs/test/filter/filter/a_test.ts
diff --git a/tests/testdata/test/filter/b_test.ts b/tests/specs/test/filter/filter/b_test.ts
index a3f32968a..a3f32968a 100644
--- a/tests/testdata/test/filter/b_test.ts
+++ b/tests/specs/test/filter/filter/b_test.ts
diff --git a/tests/testdata/test/filter/c_test.ts b/tests/specs/test/filter/filter/c_test.ts
index a3f32968a..a3f32968a 100644
--- a/tests/testdata/test/filter/c_test.ts
+++ b/tests/specs/test/filter/filter/c_test.ts
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/testdata/test/finally_timeout.ts b/tests/specs/test/finally_timeout/main.ts
index dcc0a4d64..dcc0a4d64 100644
--- a/tests/testdata/test/finally_timeout.ts
+++ b/tests/specs/test/finally_timeout/main.ts
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/testdata/test/hide_empty_suites.out b/tests/specs/test/hide_empty_suites/main.out
index d270cb05a..bfc30e084 100644
--- a/tests/testdata/test/hide_empty_suites.out
+++ b/tests/specs/test/hide_empty_suites/main.out
@@ -1,4 +1,4 @@
-Check [WILDCARD]/test/pass.ts
+Check [WILDCARD]/main.ts
ok | 0 passed | 0 failed | 16 filtered out ([WILDCARD])
diff --git a/tests/testdata/test/pass.ts b/tests/specs/test/hide_empty_suites/main.ts
index c4c0f45dc..c4c0f45dc 100644
--- a/tests/testdata/test/pass.ts
+++ b/tests/specs/test/hide_empty_suites/main.ts
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/testdata/test/ignore.out b/tests/specs/test/ignore/main.out
index e67406c63..390d4f916 100644
--- a/tests/testdata/test/ignore.out
+++ b/tests/specs/test/ignore/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/ignore.ts
-running 10 tests from ./test/ignore.ts
+Check [WILDCARD]/main.ts
+running 10 tests from ./main.ts
test 0 ... ignored ([WILDCARD])
test 1 ... ignored ([WILDCARD])
test 2 ... ignored ([WILDCARD])
diff --git a/tests/testdata/test/ignore.ts b/tests/specs/test/ignore/main.ts
index 2339835db..2339835db 100644
--- a/tests/testdata/test/ignore.ts
+++ b/tests/specs/test/ignore/main.ts
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/testdata/test/ignore_permissions.ts b/tests/specs/test/ignore_persmissions/main.ts
index e9ade6dfe..e9ade6dfe 100644
--- a/tests/testdata/test/ignore_permissions.ts
+++ b/tests/specs/test/ignore_persmissions/main.ts
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/testdata/test/interval.ts b/tests/specs/test/interval/main.ts
index 7eb588c59..7eb588c59 100644
--- a/tests/testdata/test/interval.ts
+++ b/tests/specs/test/interval/main.ts
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
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuites name="deno test" tests="16" failures="0" errors="0" time="[WILDCARD]">
+ <testsuite name="./main.ts" tests="16" disabled="0" errors="0" failures="0">
+ <testcase name="test 0" classname="./main.ts" time="[WILDCARD]" line="1" col="6">
+ </testcase>
+ <testcase name="test 1" classname="./main.ts" time="[WILDCARD]" line="2" col="6">
+ </testcase>
+ <testcase name="test 2" classname="./main.ts" time="[WILDCARD]" line="3" col="6">
+ </testcase>
+ <testcase name="test 3" classname="./main.ts" time="[WILDCARD]" line="4" col="6">
+ </testcase>
+ <testcase name="test 4" classname="./main.ts" time="[WILDCARD]" line="5" col="6">
+ </testcase>
+ <testcase name="test 5" classname="./main.ts" time="[WILDCARD]" line="6" col="6">
+ </testcase>
+ <testcase name="test 6" classname="./main.ts" time="[WILDCARD]" line="7" col="6">
+ </testcase>
+ <testcase name="test 7" classname="./main.ts" time="[WILDCARD]" line="8" col="6">
+ </testcase>
+ <testcase name="test 8" classname="./main.ts" time="[WILDCARD]" line="9" col="6">
+ </testcase>
+ <testcase name="test 9" classname="./main.ts" time="[WILDCARD]" line="12" col="6">
+ </testcase>
+ <testcase name="test\b" classname="./main.ts" time="[WILDCARD]" line="16" col="6">
+ </testcase>
+ <testcase name="test\f" classname="./main.ts" time="[WILDCARD]" line="19" col="6">
+ </testcase>
+ <testcase name="test\t" classname="./main.ts" time="[WILDCARD]" line="23" col="6">
+ </testcase>
+ <testcase name="test\n" classname="./main.ts" time="[WILDCARD]" line="27" col="6">
+ </testcase>
+ <testcase name="test\r" classname="./main.ts" time="[WILDCARD]" line="31" col="6">
+ </testcase>
+ <testcase name="test\v" classname="./main.ts" time="[WILDCARD]" line="35" col="6">
+ </testcase>
+ </testsuite>
+</testsuites>
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/testdata/test/fail_fast_with_val.ts b/tests/specs/test/junit_multiple_test_files/fail.ts
index 637e825ec..9340db556 100644
--- a/tests/testdata/test/fail_fast_with_val.ts
+++ b/tests/specs/test/junit_multiple_test_files/fail.ts
@@ -1,3 +1,6 @@
+Deno.test("test 0", () => {
+ throw new Error();
+});
Deno.test("test 1", () => {
throw new Error();
});
@@ -25,6 +28,3 @@ Deno.test("test 8", () => {
Deno.test("test 9", () => {
throw new Error();
});
-Deno.test("test 0", () => {
- 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
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuites name="deno test" tests="26" failures="10" errors="0" time="[WILDCARD]">
+ <testsuite name="./pass.ts" tests="16" disabled="0" errors="0" failures="0">
+ <testcase name="test 0" classname="./pass.ts" time="[WILDCARD]" line="1" col="6">
+ </testcase>
+ <testcase name="test 1" classname="./pass.ts" time="[WILDCARD]" line="2" col="6">
+ </testcase>
+ <testcase name="test 2" classname="./pass.ts" time="[WILDCARD]" line="3" col="6">
+ </testcase>
+ <testcase name="test 3" classname="./pass.ts" time="[WILDCARD]" line="4" col="6">
+ </testcase>
+ <testcase name="test 4" classname="./pass.ts" time="[WILDCARD]" line="5" col="6">
+ </testcase>
+ <testcase name="test 5" classname="./pass.ts" time="[WILDCARD]" line="6" col="6">
+ </testcase>
+ <testcase name="test 6" classname="./pass.ts" time="[WILDCARD]" line="7" col="6">
+ </testcase>
+ <testcase name="test 7" classname="./pass.ts" time="[WILDCARD]" line="8" col="6">
+ </testcase>
+ <testcase name="test 8" classname="./pass.ts" time="[WILDCARD]" line="9" col="6">
+ </testcase>
+ <testcase name="test 9" classname="./pass.ts" time="[WILDCARD]" line="12" col="6">
+ </testcase>
+ <testcase name="test\b" classname="./pass.ts" time="[WILDCARD]" line="16" col="6">
+ </testcase>
+ <testcase name="test\f" classname="./pass.ts" time="[WILDCARD]" line="19" col="6">
+ </testcase>
+ <testcase name="test\t" classname="./pass.ts" time="[WILDCARD]" line="23" col="6">
+ </testcase>
+ <testcase name="test\n" classname="./pass.ts" time="[WILDCARD]" line="27" col="6">
+ </testcase>
+ <testcase name="test\r" classname="./pass.ts" time="[WILDCARD]" line="31" col="6">
+ </testcase>
+ <testcase name="test\v" classname="./pass.ts" time="[WILDCARD]" line="35" col="6">
+ </testcase>
+ </testsuite>
+ <testsuite name="./fail.ts" tests="10" disabled="0" errors="0" failures="10">
+ <testcase name="test 0" classname="./fail.ts" time="[WILDCARD]" line="1" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:2:9</failure>
+ </testcase>
+ <testcase name="test 1" classname="./fail.ts" time="[WILDCARD]" line="4" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:5:9</failure>
+ </testcase>
+ <testcase name="test 2" classname="./fail.ts" time="[WILDCARD]" line="7" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:8:9</failure>
+ </testcase>
+ <testcase name="test 3" classname="./fail.ts" time="[WILDCARD]" line="10" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:11:9</failure>
+ </testcase>
+ <testcase name="test 4" classname="./fail.ts" time="[WILDCARD]" line="13" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:14:9</failure>
+ </testcase>
+ <testcase name="test 5" classname="./fail.ts" time="[WILDCARD]" line="16" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:17:9</failure>
+ </testcase>
+ <testcase name="test 6" classname="./fail.ts" time="[WILDCARD]" line="19" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:20:9</failure>
+ </testcase>
+ <testcase name="test 7" classname="./fail.ts" time="[WILDCARD]" line="22" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:23:9</failure>
+ </testcase>
+ <testcase name="test 8" classname="./fail.ts" time="[WILDCARD]" line="25" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:26:9</failure>
+ </testcase>
+ <testcase name="test 9" classname="./fail.ts" time="[WILDCARD]" line="28" col="6">
+ <failure message="Uncaught Error">Error
+ throw new Error();
+ ^
+ at file:///[WILDCARD]/fail.ts:29:9</failure>
+ </testcase>
+ </testsuite>
+</testsuites>
+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
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuites name="deno test" tests="11" failures="6" errors="0" time="[WILDCARD]">
+ <testsuite name="./main.ts" tests="11" disabled="0" errors="0" failures="6">
+ <testcase name="parent 1" classname="./main.ts" time="[WILDCARD]" line="1" col="6">
+ <failure message="1 test step failed">1 test step failed.</failure>
+ </testcase>
+ <testcase name="parent 2" classname="./main.ts" time="[WILDCARD]" line="8" col="6">
+ <failure message="2 test steps failed">2 test steps failed.</failure>
+ </testcase>
+ <testcase name="parent 3" classname="./main.ts" time="[WILDCARD]" line="20" col="6">
+ </testcase>
+ <testcase name="parent 1 &gt; child 1" classname="./main.ts" time="[WILDCARD]" line="2" col="11">
+ </testcase>
+ <testcase name="parent 1 &gt; child 2" classname="./main.ts" time="[WILDCARD]" line="3" col="11">
+ <failure message="Uncaught Error: Fail.">Error: Fail.
+ throw new Error(&quot;Fail.&quot;);
+ ^
+ at file:///[WILDCARD]/main.ts:4:11
+ [WILDCARD]</failure>
+ </testcase>
+ <testcase name="parent 2 &gt; child 1" classname="./main.ts" time="[WILDCARD]" line="9" col="11">
+ <failure message="1 test step failed">1 test step failed.</failure>
+ </testcase>
+ <testcase name="parent 2 &gt; child 1 &gt; grandchild 1" classname="[WILDCARD]/main.ts" time="[WILDCARD]" line="10" col="13">
+ </testcase>
+ <testcase name="parent 2 &gt; child 1 &gt; grandchild 2" classname="[WILDCARD]/main.ts" time="[WILDCARD]" line="11" col="13">
+ <failure message="Uncaught Error: Fail.">Error: Fail.
+ throw new Error(&quot;Fail.&quot;);
+ ^
+ at file:///[WILDCARD]/main.ts:12:13
+ [WILDCARD]</failure>
+ </testcase>
+ <testcase name="parent 2 &gt; child 2" classname="./main.ts" time="[WILDCARD]" line="15" col="11">
+ <failure message="Uncaught Error: Fail.">Error: Fail.
+ throw new Error(&quot;Fail.&quot;);
+ ^
+ at file:///[WILDCARD]/main.ts:16:11
+ [WILDCARD]</failure>
+ </testcase>
+ <testcase name="parent 3 &gt; child 1" classname="./main.ts" time="[WILDCARD]" line="21" col="11">
+ </testcase>
+ <testcase name="parent 3 &gt; child 2" classname="./main.ts" time="[WILDCARD]" line="22" col="11">
+ </testcase>
+ </testsuite>
+</testsuites>
+error: Test failed
diff --git a/tests/testdata/test/nested_failures.ts b/tests/specs/test/junit_nested/main.ts
index 128e48aef..128e48aef 100644
--- a/tests/testdata/test/nested_failures.ts
+++ b/tests/specs/test/junit_nested/main.ts
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/testdata/test/load_unload.out b/tests/specs/test/load_unload/main.out
index 75187fa7b..6a818d911 100644
--- a/tests/testdata/test/load_unload.out
+++ b/tests/specs/test/load_unload/main.out
@@ -1,8 +1,8 @@
-Check [WILDCARD]/load_unload.ts
+Check [WILDCARD]/main.ts
------- pre-test output -------
load
----- pre-test output end -----
-running 1 test from [WILDCARD]/load_unload.ts
+running 1 test from [WILDCARD]/main.ts
test ...
------- output -------
test
diff --git a/tests/testdata/test/load_unload.ts b/tests/specs/test/load_unload/main.ts
index 5027b949a..5027b949a 100644
--- a/tests/testdata/test/load_unload.ts
+++ b/tests/specs/test/load_unload/main.ts
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/testdata/test/markdown.md b/tests/specs/test/markdown/main.md
index d18dbd108..d18dbd108 100644
--- a/tests/testdata/test/markdown.md
+++ b/tests/specs/test/markdown/main.md
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/testdata/test/markdown_full_block_names.md b/tests/specs/test/markdown_full_block_names/main.md
index 4f9e1ea51..4f9e1ea51 100644
--- a/tests/testdata/test/markdown_full_block_names.md
+++ b/tests/specs/test/markdown_full_block_names/main.md
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/testdata/test/markdown_with_comment.md b/tests/specs/test/markdown_ignore_html_comment/main.md
index 886e88103..886e88103 100644
--- a/tests/testdata/test/markdown_with_comment.md
+++ b/tests/specs/test/markdown_ignore_html_comment/main.md
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/testdata/test/markdown_windows.md b/tests/specs/test/markdown_windows/main.md
index d18dbd108..d18dbd108 100644
--- a/tests/testdata/test/markdown_windows.md
+++ b/tests/specs/test/markdown_windows/main.md
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/testdata/test/meta.out b/tests/specs/test/meta/main.out
index c46315ece..06a0daa7b 100644
--- a/tests/testdata/test/meta.out
+++ b/tests/specs/test/meta/main.out
@@ -1,9 +1,9 @@
-Check [WILDCARD]/test/meta.ts
-running 1 test from ./test/meta.ts
+Check [WILDCARD]/main.ts
+running 1 test from ./main.ts
check values ...
------- output -------
import.meta.main: false
-import.meta.url: [WILDCARD]/test/meta.ts
+import.meta.url: [WILDCARD]/main.ts
----- output end -----
check values ... ok ([WILDCARD])
diff --git a/tests/testdata/test/meta.ts b/tests/specs/test/meta/main.ts
index f2433a96d..f2433a96d 100644
--- a/tests/testdata/test/meta.ts
+++ b/tests/specs/test/meta/main.ts
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/testdata/test/no_check.out b/tests/specs/test/no_check/main.out
index 66ad07e26..cd9e7d0fa 100644
--- a/tests/testdata/test/no_check.out
+++ b/tests/specs/test/no_check/main.out
@@ -1,8 +1,8 @@
-Uncaught error from ./test/no_check.ts FAILED
+Uncaught error from ./main.ts FAILED
ERRORS
-./test/no_check.ts (uncaught error)
+./main.ts (uncaught error)
error: (in promise) TypeError: Cannot read properties of undefined (reading 'fn')
Deno.test();
^
@@ -12,7 +12,7 @@ It most likely originated from a dangling promise, event/timeout handler or top-
FAILURES
-./test/no_check.ts (uncaught error)
+./main.ts (uncaught error)
FAILED | 0 passed | 1 failed ([WILDCARD])
diff --git a/tests/testdata/test/no_check.ts b/tests/specs/test/no_check/main.ts
index 79d75f989..79d75f989 100644
--- a/tests/testdata/test/no_check.ts
+++ b/tests/specs/test/no_check/main.ts
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/testdata/test/no_color.ts b/tests/specs/test/no_color/main.ts
index 38c531ee9..38c531ee9 100644
--- a/tests/testdata/test/no_color.ts
+++ b/tests/specs/test/no_color/main.ts
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/testdata/test/no_prompt_by_default.out b/tests/specs/test/no_prompt_by_default/main.out
index cd40fab53..e0d1290ec 100644
--- a/tests/testdata/test/no_prompt_by_default.out
+++ b/tests/specs/test/no_prompt_by_default/main.out
@@ -1,15 +1,15 @@
-running 1 test from ./test/no_prompt_by_default.ts
+running 1 test from ./main.ts
no prompt ... FAILED ([WILDCARD]s)
ERRORS
-no prompt => ./test/no_prompt_by_default.ts:[WILDCARD]
+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 => ./test/no_prompt_by_default.ts:[WILDCARD]
+no prompt => ./main.ts:[WILDCARD]
FAILED | 0 passed | 1 failed ([WILDCARD]s)
diff --git a/tests/testdata/test/no_prompt_by_default.ts b/tests/specs/test/no_prompt_by_default/main.ts
index 83837825d..83837825d 100644
--- a/tests/testdata/test/no_prompt_by_default.ts
+++ b/tests/specs/test/no_prompt_by_default/main.ts
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/testdata/test/no_prompt_with_denied_perms.out b/tests/specs/test/no_prompt_with_denied_perms/main.out
index f6c8ec826..e0d1290ec 100644
--- a/tests/testdata/test/no_prompt_with_denied_perms.out
+++ b/tests/specs/test/no_prompt_with_denied_perms/main.out
@@ -1,15 +1,15 @@
-running 1 test from ./test/no_prompt_with_denied_perms.ts
+running 1 test from ./main.ts
no prompt ... FAILED ([WILDCARD]s)
ERRORS
-no prompt => ./test/no_prompt_with_denied_perms.ts:[WILDCARD]
+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 => ./test/no_prompt_with_denied_perms.ts:[WILDCARD]
+no prompt => ./main.ts:[WILDCARD]
FAILED | 0 passed | 1 failed ([WILDCARD]s)
diff --git a/tests/testdata/test/no_prompt_with_denied_perms.ts b/tests/specs/test/no_prompt_with_denied_perms/main.ts
index 7fe5577cb..7fe5577cb 100644
--- a/tests/testdata/test/no_prompt_with_denied_perms.ts
+++ b/tests/specs/test/no_prompt_with_denied_perms/main.ts
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/testdata/test/no_run.out b/tests/specs/test/no_run/main.out
index 5edf03fe0..ff9884943 100644
--- a/tests/testdata/test/no_run.out
+++ b/tests/specs/test/no_run/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/no_run.ts
+Check [WILDCARD]/main.ts
error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'.
const _value: string = 1;
~~~~~~
- at [WILDCARD]/test/no_run.ts:1:7
+ at [WILDCARD]/main.ts:1:7
diff --git a/tests/testdata/test/no_run.ts b/tests/specs/test/no_run/main.ts
index b75915753..b75915753 100644
--- a/tests/testdata/test/no_run.ts
+++ b/tests/specs/test/no_run/main.ts
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/testdata/test/non_error_thrown.ts b/tests/specs/test/non_error_thrown/main.ts
index 85dc8d179..85dc8d179 100644
--- a/tests/testdata/test/non_error_thrown.ts
+++ b/tests/specs/test/non_error_thrown/main.ts
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/testdata/test/only.out b/tests/specs/test/only/main.out
index 2e66ed22b..e1c745bcd 100644
--- a/tests/testdata/test/only.out
+++ b/tests/specs/test/only/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/only.ts
-running 2 tests from ./test/only.ts
+Check [WILDCARD]/main.ts
+running 2 tests from ./main.ts
only ... ok ([WILDCARD])
only2 ... ok ([WILDCARD])
diff --git a/tests/testdata/test/only.ts b/tests/specs/test/only/main.ts
index 26b4cd425..26b4cd425 100644
--- a/tests/testdata/test/only.ts
+++ b/tests/specs/test/only/main.ts
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/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out
index ffccd8422..ffccd8422 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.out
+++ b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts
index 97d3d72c8..97d3d72c8 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_closed_inside_started_before.ts
+++ b/tests/specs/test/ops_sanitizer_closed_inside_started_before/ops_sanitizer_closed_inside_started_before.ts
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/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out
index 38d7fbb52..38d7fbb52 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.out
+++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts
index 1f52d481f..1f52d481f 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_multiple_timeout_tests.ts
+++ b/tests/specs/test/ops_sanitizer_multiple_timeout_tests/ops_sanitizer_multiple_timeout_tests.ts
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/testdata/test/sanitizer/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
index c87cd0025..c87cd0025 100644
--- a/tests/testdata/test/sanitizer/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
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/testdata/test/sanitizer/ops_sanitizer_nexttick.out b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out
index 407699b6a..407699b6a 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.out
+++ b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts
index 9ad3a7b28..9ad3a7b28 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_nexttick.ts
+++ b/tests/specs/test/ops_sanitizer_nexttick/ops_sanitizer_nexttick.ts
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/testdata/test/sanitizer/ops_sanitizer_tcp.out b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out
index 7b5660379..7b5660379 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.out
+++ b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts
index ec2df9fd5..ec2df9fd5 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_tcp.ts
+++ b/tests/specs/test/ops_sanitizer_tcp/ops_sanitizer_tcp.ts
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/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out
index e6e527112..e6e527112 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.out
+++ b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts
index d40a5a258..d40a5a258 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_timeout_failure.ts
+++ b/tests/specs/test/ops_sanitizer_timeout_failure/ops_sanitizer_timeout_failure.ts
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/testdata/test/sanitizer/ops_sanitizer_unstable.out b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out
index a09f34592..a09f34592 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.out
+++ b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.out
diff --git a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts
index 1deb1d5a7..1deb1d5a7 100644
--- a/tests/testdata/test/sanitizer/ops_sanitizer_unstable.ts
+++ b/tests/specs/test/ops_sanitizer_unstable/ops_sanitizer_unstable.ts
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/testdata/test/overloads.out b/tests/specs/test/overloads/main.out
index 87a3f07cb..92ec46d0b 100644
--- a/tests/testdata/test/overloads.out
+++ b/tests/specs/test/overloads/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/overloads.ts
-running 6 tests from ./test/overloads.ts
+Check [WILDCARD]/overloads/main.ts
+running 6 tests from ./main.ts
test0 ... ok ([WILDCARD])
test1 ... ok ([WILDCARD])
test2 ... ok ([WILDCARD])
diff --git a/tests/testdata/test/overloads.ts b/tests/specs/test/overloads/main.ts
index eb7b3dccc..eb7b3dccc 100644
--- a/tests/testdata/test/overloads.ts
+++ b/tests/specs/test/overloads/main.ts
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/testdata/test/short-pass.ts b/tests/specs/test/parallel_flag/main.ts
index 03818ae8d..03818ae8d 100644
--- a/tests/testdata/test/short-pass.ts
+++ b/tests/specs/test/parallel_flag/main.ts
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/testdata/test/parallel_output.ts b/tests/specs/test/parallel_output/main.ts
index 5de733aad..5de733aad 100644
--- a/tests/testdata/test/parallel_output.ts
+++ b/tests/specs/test/parallel_output/main.ts
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/testdata/test/pass.out b/tests/specs/test/pass/main.out
index 08b9f5a52..d2541d08d 100644
--- a/tests/testdata/test/pass.out
+++ b/tests/specs/test/pass/main.out
@@ -1,5 +1,5 @@
-Check [WILDCARD]/test/pass.ts
-running 16 tests from ./test/pass.ts
+Check [WILDCARD]/main.ts
+running 16 tests from ./main.ts
test 0 ... ok ([WILDCARD])
test 1 ... ok ([WILDCARD])
test 2 ... ok ([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/testdata/test/quiet.out b/tests/specs/test/quiet/main.out
index 83dbe6ba9..5c72317f6 100644
--- a/tests/testdata/test/quiet.out
+++ b/tests/specs/test/quiet/main.out
@@ -1,4 +1,4 @@
-running 4 tests from ./test/quiet.ts
+running 4 tests from ./main.ts
console.log ... ok ([WILDCARD])
console.error ... ok ([WILDCARD])
console.info ... ok ([WILDCARD])
diff --git a/tests/testdata/test/quiet.ts b/tests/specs/test/quiet/main.ts
index f40805bfb..f40805bfb 100644
--- a/tests/testdata/test/quiet.ts
+++ b/tests/specs/test/quiet/main.ts
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/testdata/test/recursive_permissions_pledge.js b/tests/specs/test/recursive_permissions_pledge/main.js
index 9bf320c37..9bf320c37 100644
--- a/tests/testdata/test/recursive_permissions_pledge.js
+++ b/tests/specs/test/recursive_permissions_pledge/main.js
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/testdata/test/report_error.out b/tests/specs/test/report_error/main.out
index 698550f97..5fe3a4423 100644
--- a/tests/testdata/test/report_error.out
+++ b/tests/specs/test/report_error/main.out
@@ -1,22 +1,22 @@
-running 2 tests from [WILDCARD]/report_error.ts
+running 2 tests from [WILDCARD]/main.ts
foo ...
-Uncaught error from [WILDCARD]/report_error.ts FAILED
+Uncaught error from [WILDCARD]/main.ts FAILED
foo ... cancelled (0ms)
bar ... cancelled (0ms)
ERRORS
-[WILDCARD]/report_error.ts (uncaught error)
+[WILDCARD]/main.ts (uncaught error)
error: Error: foo
reportError(new Error("foo"));
^
- at [WILDCARD]/report_error.ts:2:15
+ 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]/report_error.ts (uncaught error)
+[WILDCARD]/main.ts (uncaught error)
FAILED | 0 passed | 3 failed ([WILDCARD])
diff --git a/tests/testdata/test/report_error.ts b/tests/specs/test/report_error/main.ts
index 56b6db26c..56b6db26c 100644
--- a/tests/testdata/test/report_error.ts
+++ b/tests/specs/test/report_error/main.ts
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/testdata/test/sanitizer/resource_sanitizer.out b/tests/specs/test/resource_sanitizer/resource_sanitizer.out
index 128bbc7b6..128bbc7b6 100644
--- a/tests/testdata/test/sanitizer/resource_sanitizer.out
+++ b/tests/specs/test/resource_sanitizer/resource_sanitizer.out
diff --git a/tests/testdata/test/sanitizer/resource_sanitizer.ts b/tests/specs/test/resource_sanitizer/resource_sanitizer.ts
index 93c9222c5..7fa1bd8ad 100644
--- a/tests/testdata/test/sanitizer/resource_sanitizer.ts
+++ b/tests/specs/test/resource_sanitizer/resource_sanitizer.ts
@@ -1,4 +1,4 @@
Deno.test("leak", function () {
- Deno.openSync("run/001_hello.js");
+ 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/testdata/test/sanitizer/trace_ops_caught_error/main.ts b/tests/specs/test/sanitizer_trace_ops_catch_error/main.ts
index 043018688..043018688 100644
--- a/tests/testdata/test/sanitizer/trace_ops_caught_error/main.ts
+++ b/tests/specs/test/sanitizer_trace_ops_catch_error/main.ts
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/testdata/test/shuffle/bar_test.ts b/tests/specs/test/shuffle/shuffle/bar_test.ts
index ca118dc0d..ca118dc0d 100644
--- a/tests/testdata/test/shuffle/bar_test.ts
+++ b/tests/specs/test/shuffle/shuffle/bar_test.ts
diff --git a/tests/testdata/test/shuffle/baz_test.ts b/tests/specs/test/shuffle/shuffle/baz_test.ts
index ca118dc0d..ca118dc0d 100644
--- a/tests/testdata/test/shuffle/baz_test.ts
+++ b/tests/specs/test/shuffle/shuffle/baz_test.ts
diff --git a/tests/testdata/test/shuffle/foo_test.ts b/tests/specs/test/shuffle/shuffle/foo_test.ts
index ca118dc0d..ca118dc0d 100644
--- a/tests/testdata/test/shuffle/foo_test.ts
+++ b/tests/specs/test/shuffle/shuffle/foo_test.ts
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/testdata/test/shuffle.out b/tests/specs/test/shuffle_with_seed/main.out
index 9037ff518..375b9bae2 100644
--- a/tests/testdata/test/shuffle.out
+++ b/tests/specs/test/shuffle_with_seed/main.out
@@ -1,7 +1,7 @@
-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
+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])
@@ -12,7 +12,7 @@ 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
+running 10 tests from [WILDCARD]shuffle/baz_test.ts
test 3 ... ok ([WILDCARD])
test 2 ... ok ([WILDCARD])
test 7 ... ok ([WILDCARD])
@@ -23,7 +23,7 @@ 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
+running 10 tests from [WILDCARD]shuffle/bar_test.ts
test 3 ... ok ([WILDCARD])
test 2 ... ok ([WILDCARD])
test 7 ... ok ([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/testdata/test/steps/failing_steps.ts b/tests/specs/test/steps_dot_failing_steps/failing_steps.ts
index efa18d54e..efa18d54e 100644
--- a/tests/testdata/test/steps/failing_steps.ts
+++ b/tests/specs/test/steps_dot_failing_steps/failing_steps.ts
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/testdata/test/steps/ignored_steps.dot.out b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out
index 442a06c62..442a06c62 100644
--- a/tests/testdata/test/steps/ignored_steps.dot.out
+++ b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.dot.out
diff --git a/tests/testdata/test/steps/ignored_steps.ts b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts
index 102b481fb..102b481fb 100644
--- a/tests/testdata/test/steps/ignored_steps.ts
+++ b/tests/specs/test/steps_dot_ignored_steps/ignored_steps.ts
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/testdata/test/steps/passing_steps.dot.out b/tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out
index 243cacd69..243cacd69 100644
--- a/tests/testdata/test/steps/passing_steps.dot.out
+++ b/tests/specs/test/steps_dot_passing_steps/passing_steps.dot.out
diff --git a/tests/testdata/test/steps/passing_steps.ts b/tests/specs/test/steps_dot_passing_steps/passing_steps.ts
index fd145954b..fd145954b 100644
--- a/tests/testdata/test/steps/passing_steps.ts
+++ b/tests/specs/test/steps_dot_passing_steps/passing_steps.ts
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/testdata/test/steps/failing_steps.out b/tests/specs/test/steps_failing_steps/failing_steps.out
index 4b717f5cc..f66e089bc 100644
--- a/tests/testdata/test/steps/failing_steps.out
+++ b/tests/specs/test/steps_failing_steps/failing_steps.out
@@ -1,5 +1,5 @@
[WILDCARD]
-running 3 tests from ./test/steps/failing_steps.ts
+running 3 tests from [WILDCARD]failing_steps.ts
nested failure ...
step 1 ...
inner 1 ... FAILED ([WILDCARD])
@@ -16,31 +16,31 @@ failing step in failing test ... FAILED ([WILDCARD])
ERRORS
-nested failure ... step 1 ... inner 1 => ./test/steps/failing_steps.ts:[WILDCARD]
+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 => ./test/steps/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 => ./test/steps/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 => ./test/steps/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 => ./test/steps/failing_steps.ts:[WILDCARD]
+failing step in failing test => [WILDCARD]failing_steps.ts:[WILDCARD]
error: Error: Fail test.
throw new Error("Fail test.");
^
@@ -48,11 +48,11 @@ error: Error: Fail test.
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]
+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])
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/testdata/test/steps/ignored_steps.out b/tests/specs/test/steps_ignored_steps/ignored_steps.out
index 2786e1e1a..0960e6256 100644
--- a/tests/testdata/test/steps/ignored_steps.out
+++ b/tests/specs/test/steps_ignored_steps/ignored_steps.out
@@ -1,5 +1,5 @@
[WILDCARD]
-running 1 test from ./test/steps/ignored_steps.ts
+running 1 test from [WILDCARD]ignored_steps.ts
ignored step ...
step 1 ... ignored ([WILDCARD])
step 2 ... ok ([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/testdata/test/steps/invalid_usage.out b/tests/specs/test/steps_invalid_usage/invalid_usage.out
index 4b82befae..413a97cfd 100644
--- a/tests/testdata/test/steps/invalid_usage.out
+++ b/tests/specs/test/steps_invalid_usage/invalid_usage.out
@@ -1,5 +1,5 @@
[WILDCARD]
-running 7 tests from ./test/steps/invalid_usage.ts
+running 7 tests from [WILDCARD]invalid_usage.ts
capturing ...
some step ... ok ([WILDCARD])
capturing ... FAILED ([WILDCARD])
@@ -34,48 +34,48 @@ parallel steps where only inner tests have sanitizers ... FAILED (due to 1 faile
ERRORS
-capturing => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./test/steps/invalid_usage.ts:[WILDCARD]
+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 => ./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]
+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])
diff --git a/tests/testdata/test/steps/invalid_usage.ts b/tests/specs/test/steps_invalid_usage/invalid_usage.ts
index 1acfc874c..1acfc874c 100644
--- a/tests/testdata/test/steps/invalid_usage.ts
+++ b/tests/specs/test/steps_invalid_usage/invalid_usage.ts
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/testdata/test/steps/output_within.out b/tests/specs/test/steps_output_within/output_within.out
index d58722daa..7c83b816f 100644
--- a/tests/testdata/test/steps/output_within.out
+++ b/tests/specs/test/steps_output_within/output_within.out
@@ -1,5 +1,5 @@
[WILDCARD]
-running 1 test from ./test/steps/output_within.ts
+running 1 test from [WILDCARD]output_within.ts
description ...
------- output -------
1
diff --git a/tests/testdata/test/steps/output_within.ts b/tests/specs/test/steps_output_within/output_within.ts
index d3438a8ad..d3438a8ad 100644
--- a/tests/testdata/test/steps/output_within.ts
+++ b/tests/specs/test/steps_output_within/output_within.ts
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/testdata/test/steps/passing_steps.out b/tests/specs/test/steps_passing_steps/passing_steps.out
index 0757a4ed3..c59be298e 100644
--- a/tests/testdata/test/steps/passing_steps.out
+++ b/tests/specs/test/steps_passing_steps/passing_steps.out
@@ -1,5 +1,5 @@
[WILDCARD]
-running 6 tests from ./test/steps/passing_steps.ts
+running 6 tests from [WILDCARD]passing_steps.ts
description ...
step 1 ...
inner 1 ... ok ([WILDCARD]s)
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<void>();
+ 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/testdata/test/steps/failing_steps.tap.out b/tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out
index 11b289f08..b47b9fed3 100644
--- a/tests/testdata/test/steps/failing_steps.tap.out
+++ b/tests/specs/test/steps_tap_failing_steps/failing_steps.tap.out
@@ -1,43 +1,43 @@
TAP version 14
-# ./test/steps/failing_steps.ts
+# [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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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":"./test/steps/failing_steps.ts","line":[WILDCARD]}}
+ {"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/testdata/test/steps/ignored_steps.tap.out b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out
index b2b2f5070..638905772 100644
--- a/tests/testdata/test/steps/ignored_steps.tap.out
+++ b/tests/specs/test/steps_tap_ignored_steps/ignored_steps.tap.out
@@ -1,5 +1,5 @@
TAP version 14
-# ./test/steps/ignored_steps.ts
+# [WILDCARD]ignored_steps.ts
# Subtest: ignored step
ok 1 - step 1 # SKIP
ok 2 - step 2
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/testdata/test/steps/passing_steps.tap.out b/tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out
index 20a9fa312..0797fb7de 100644
--- a/tests/testdata/test/steps/passing_steps.tap.out
+++ b/tests/specs/test/steps_tap_passing_steps/passing_steps.tap.out
@@ -1,5 +1,5 @@
TAP version 14
-# ./test/steps/passing_steps.ts
+# [WILDCARD]passing_steps.ts
# Subtest: description
ok 1 - inner 1
ok 2 - inner 2
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<void>();
+ 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/testdata/test/filtered_out_only.out b/tests/specs/test/test_filtered_out_only/main.out
index 337893848..488643c80 100644
--- a/tests/testdata/test/filtered_out_only.out
+++ b/tests/specs/test/test_filtered_out_only/main.out
@@ -1,4 +1,4 @@
-running 1 test from ./test/filtered_out_only.ts
+running 1 test from ./main.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/specs/test/test_filtered_out_only/main.ts
index bda301a43..bda301a43 100644
--- a/tests/testdata/test/filtered_out_only.ts
+++ b/tests/specs/test/test_filtered_out_only/main.ts
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/testdata/test/replace_timers.js b/tests/specs/test/test_replace_timers/main.js
index 692f1d671..692f1d671 100644
--- a/tests/testdata/test/replace_timers.js
+++ b/tests/specs/test/test_replace_timers/main.js
diff --git a/tests/testdata/test/replace_timers.js.out b/tests/specs/test/test_replace_timers/main.out
index 81beb5ebe..cfac49943 100644
--- a/tests/testdata/test/replace_timers.js.out
+++ b/tests/specs/test/test_replace_timers/main.out
@@ -1,4 +1,4 @@
-running 1 test from ./test/replace_timers.js
+running 1 test from [WILDCARD]/main.js
foo ...
bar ... ok ([WILDCARD])
foo ... ok ([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
--- /dev/null
+++ b/tests/specs/test/test_with_config/collect/include.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config/collect/include/2_test.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config/collect/include/test.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config/collect/test.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config2/collect/include.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config2/collect/include/2_test.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config2/collect/include/test.ts
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
--- /dev/null
+++ b/tests/specs/test/test_with_config2/collect/test.ts
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/testdata/test/deno_custom_jsx.json b/tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json
index 7ef04d829..7ef04d829 100644
--- a/tests/testdata/test/deno_custom_jsx.json
+++ b/tests/specs/test/test_with_custom_jsx/deno_custom_jsx.json
diff --git a/tests/testdata/test/hello_world.out b/tests/specs/test/test_with_custom_jsx/main.out
index aee8a64d4..cfeb14fd5 100644
--- a/tests/testdata/test/hello_world.out
+++ b/tests/specs/test/test_with_custom_jsx/main.out
@@ -1,4 +1,4 @@
-running 1 test from ./test/hello_world.ts
+running 1 test from ./main.ts
hello world test ... ok ([WILDCARD])
ok | 1 passed | 0 failed ([WILDCARD])
diff --git a/tests/testdata/test/hello_world.ts b/tests/specs/test/test_with_custom_jsx/main.ts
index 4a1c3463f..4a1c3463f 100644
--- a/tests/testdata/test/hello_world.ts
+++ b/tests/specs/test/test_with_custom_jsx/main.ts
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/testdata/test/collect_with_malformed_config.out b/tests/specs/test/test_with_malformed_config/main.out
index b31b18e6a..b31b18e6a 100644
--- a/tests/testdata/test/collect_with_malformed_config.out
+++ b/tests/specs/test/test_with_malformed_config/main.out
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/testdata/test/text.md b/tests/specs/test/text/main.md
index be89d24bf..be89d24bf 100644
--- a/tests/testdata/test/text.md
+++ b/tests/specs/test/text/main.md
diff --git a/tests/testdata/test/text.out b/tests/specs/test/text/main.out
index f1b7f7d01..f1b7f7d01 100644
--- a/tests/testdata/test/text.out
+++ b/tests/specs/test/text/main.out
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/testdata/test/uncaught_errors.out b/tests/specs/test/uncaught_errors/main.out
index a52f95d57..23d59e61c 100644
--- a/tests/testdata/test/uncaught_errors.out
+++ b/tests/specs/test/uncaught_errors/main.out
@@ -1,58 +1,58 @@
-running 3 tests from ./test/uncaught_errors_1.ts
+running 3 tests from [WILDCARD]/uncaught_errors_1.ts
foo 1 ... FAILED ([WILDCARD])
foo 2 ... ok ([WILDCARD])
foo 3 ...
-Uncaught error from ./test/uncaught_errors_1.ts FAILED
+Uncaught error from [WILDCARD]/uncaught_errors_1.ts FAILED
foo 3 ... cancelled (0ms)
-running 3 tests from ./test/uncaught_errors_2.ts
+running 3 tests from [WILDCARD]/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
+Uncaught error from [WILDCARD]/uncaught_errors_3.ts FAILED
ERRORS
-foo 1 => ./test/uncaught_errors_1.ts:1:6
+foo 1 => [WILDCARD]/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
+ at [WILDCARD]/uncaught_errors_1.ts:2:9
-./test/uncaught_errors_1.ts (uncaught error)
+[WILDCARD]/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
+ 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 => ./test/uncaught_errors_2.ts:3:6
+bar 2 => [WILDCARD]/uncaught_errors_2.ts:3:6
error: Error: bar 2
throw new Error("bar 2");
^
- at [WILDCARD]/test/uncaught_errors_2.ts:4:9
+ at [WILDCARD]/uncaught_errors_2.ts:4:9
-bar 3 => ./test/uncaught_errors_2.ts:6:6
+bar 3 => [WILDCARD]/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
+ at [WILDCARD]/uncaught_errors_2.ts:7:9
-./test/uncaught_errors_3.ts (uncaught error)
+[WILDCARD]/uncaught_errors_3.ts (uncaught error)
error: (in promise) Error: baz
throw new Error("baz");
^
- at [WILDCARD]/test/uncaught_errors_3.ts:1:7
+ 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 => ./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)
+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])
diff --git a/tests/testdata/test/uncaught_errors_1.ts b/tests/specs/test/uncaught_errors/uncaught_errors_1.ts
index 166b23ac3..166b23ac3 100644
--- a/tests/testdata/test/uncaught_errors_1.ts
+++ b/tests/specs/test/uncaught_errors/uncaught_errors_1.ts
diff --git a/tests/testdata/test/uncaught_errors_2.ts b/tests/specs/test/uncaught_errors/uncaught_errors_2.ts
index 8cafbe291..8cafbe291 100644
--- a/tests/testdata/test/uncaught_errors_2.ts
+++ b/tests/specs/test/uncaught_errors/uncaught_errors_2.ts
diff --git a/tests/testdata/test/uncaught_errors_3.ts b/tests/specs/test/uncaught_errors/uncaught_errors_3.ts
index cb2a55036..cb2a55036 100644
--- a/tests/testdata/test/uncaught_errors_3.ts
+++ b/tests/specs/test/uncaught_errors/uncaught_errors_3.ts
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/testdata/test/unhandled_rejection.out b/tests/specs/test/unhandled_rejection/main.out
index bc8387929..e708ae20c 100644
--- a/tests/testdata/test/unhandled_rejection.out
+++ b/tests/specs/test/unhandled_rejection/main.out
@@ -1,21 +1,21 @@
-Check [WILDCARD]/test/unhandled_rejection.ts
-Uncaught error from ./test/unhandled_rejection.ts FAILED
+Check [WILDCARD]/main.ts
+Uncaught error from ./main.ts FAILED
ERRORS
-./test/unhandled_rejection.ts (uncaught error)
+./main.ts (uncaught error)
error: (in promise) Error: rejection
reject(new Error("rejection"));
^
- at [WILDCARD]/test/unhandled_rejection.ts:2:10
+ at [WILDCARD]/main.ts:2:10
at new Promise (<anonymous>)
- at [WILDCARD]/test/unhandled_rejection.ts:1:1
+ 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
-./test/unhandled_rejection.ts (uncaught error)
+./main.ts (uncaught error)
FAILED | 0 passed | 1 failed ([WILDCARD])
diff --git a/tests/testdata/test/unhandled_rejection.ts b/tests/specs/test/unhandled_rejection/main.ts
index 32f3111ea..32f3111ea 100644
--- a/tests/testdata/test/unhandled_rejection.ts
+++ b/tests/specs/test/unhandled_rejection/main.ts
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/testdata/test/unresolved_promise.out b/tests/specs/test/unresolved_promise/main.out
index 88535e171..0195400b6 100644
--- a/tests/testdata/test/unresolved_promise.out
+++ b/tests/specs/test/unresolved_promise/main.out
@@ -1,9 +1,9 @@
[WILDCARD]
-./test/unresolved_promise.ts (uncaught error)
+./main.ts (uncaught error)
error: Top-level await promise never resolved
await new Promise((_resolve, _reject) => {});
^
- at <anonymous> ([WILDCARD]/test/unresolved_promise.ts:1:1)
+ at <anonymous> ([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]
diff --git a/tests/testdata/test/unresolved_promise.ts b/tests/specs/test/unresolved_promise/main.ts
index 25fe70762..25fe70762 100644
--- a/tests/testdata/test/unresolved_promise.ts
+++ b/tests/specs/test/unresolved_promise/main.ts
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/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/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/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/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/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_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_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/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/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/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/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/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/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/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
-<?xml version="1.0" encoding="UTF-8"?>
-<testsuites name="deno test" tests="26" failures="10" errors="0" time="[WILDCARD]">
- <testsuite name="./test/pass.ts" tests="16" disabled="0" errors="0" failures="0">
- <testcase name="test 0" classname="./test/pass.ts" time="[WILDCARD]" line="1" col="6">
- </testcase>
- <testcase name="test 1" classname="./test/pass.ts" time="[WILDCARD]" line="2" col="6">
- </testcase>
- <testcase name="test 2" classname="./test/pass.ts" time="[WILDCARD]" line="3" col="6">
- </testcase>
- <testcase name="test 3" classname="./test/pass.ts" time="[WILDCARD]" line="4" col="6">
- </testcase>
- <testcase name="test 4" classname="./test/pass.ts" time="[WILDCARD]" line="5" col="6">
- </testcase>
- <testcase name="test 5" classname="./test/pass.ts" time="[WILDCARD]" line="6" col="6">
- </testcase>
- <testcase name="test 6" classname="./test/pass.ts" time="[WILDCARD]" line="7" col="6">
- </testcase>
- <testcase name="test 7" classname="./test/pass.ts" time="[WILDCARD]" line="8" col="6">
- </testcase>
- <testcase name="test 8" classname="./test/pass.ts" time="[WILDCARD]" line="9" col="6">
- </testcase>
- <testcase name="test 9" classname="./test/pass.ts" time="[WILDCARD]" line="12" col="6">
- </testcase>
- <testcase name="test\b" classname="./test/pass.ts" time="[WILDCARD]" line="16" col="6">
- </testcase>
- <testcase name="test\f" classname="./test/pass.ts" time="[WILDCARD]" line="19" col="6">
- </testcase>
- <testcase name="test\t" classname="./test/pass.ts" time="[WILDCARD]" line="23" col="6">
- </testcase>
- <testcase name="test\n" classname="./test/pass.ts" time="[WILDCARD]" line="27" col="6">
- </testcase>
- <testcase name="test\r" classname="./test/pass.ts" time="[WILDCARD]" line="31" col="6">
- </testcase>
- <testcase name="test\v" classname="./test/pass.ts" time="[WILDCARD]" line="35" col="6">
- </testcase>
- </testsuite>
- <testsuite name="./test/fail.ts" tests="10" disabled="0" errors="0" failures="10">
- <testcase name="test 0" classname="./test/fail.ts" time="[WILDCARD]" line="1" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:2:9</failure>
- </testcase>
- <testcase name="test 1" classname="./test/fail.ts" time="[WILDCARD]" line="4" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:5:9</failure>
- </testcase>
- <testcase name="test 2" classname="./test/fail.ts" time="[WILDCARD]" line="7" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:8:9</failure>
- </testcase>
- <testcase name="test 3" classname="./test/fail.ts" time="[WILDCARD]" line="10" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:11:9</failure>
- </testcase>
- <testcase name="test 4" classname="./test/fail.ts" time="[WILDCARD]" line="13" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:14:9</failure>
- </testcase>
- <testcase name="test 5" classname="./test/fail.ts" time="[WILDCARD]" line="16" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:17:9</failure>
- </testcase>
- <testcase name="test 6" classname="./test/fail.ts" time="[WILDCARD]" line="19" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:20:9</failure>
- </testcase>
- <testcase name="test 7" classname="./test/fail.ts" time="[WILDCARD]" line="22" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:23:9</failure>
- </testcase>
- <testcase name="test 8" classname="./test/fail.ts" time="[WILDCARD]" line="25" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:26:9</failure>
- </testcase>
- <testcase name="test 9" classname="./test/fail.ts" time="[WILDCARD]" line="28" col="6">
- <failure message="Uncaught Error">Error
- throw new Error();
- ^
- at file:///[WILDCARD]/test/fail.ts:29:9</failure>
- </testcase>
- </testsuite>
-</testsuites>
-error: Test failed
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.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.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.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/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
-<?xml version="1.0" encoding="UTF-8"?>
-<testsuites name="deno test" tests="11" failures="6" errors="0" time="[WILDCARD]">
- <testsuite name="./test/nested_failures.ts" tests="11" disabled="0" errors="0" failures="6">
- <testcase name="parent 1" classname="./test/nested_failures.ts" time="[WILDCARD]" line="1" col="6">
- <failure message="1 test step failed">1 test step failed.</failure>
- </testcase>
- <testcase name="parent 2" classname="./test/nested_failures.ts" time="[WILDCARD]" line="8" col="6">
- <failure message="2 test steps failed">2 test steps failed.</failure>
- </testcase>
- <testcase name="parent 3" classname="./test/nested_failures.ts" time="[WILDCARD]" line="20" col="6">
- </testcase>
- <testcase name="parent 1 &gt; child 1" classname="./test/nested_failures.ts" time="[WILDCARD]" line="2" col="11">
- </testcase>
- <testcase name="parent 1 &gt; child 2" classname="./test/nested_failures.ts" time="[WILDCARD]" line="3" col="11">
- <failure message="Uncaught Error: Fail.">Error: Fail.
- throw new Error(&quot;Fail.&quot;);
- ^
- at file:///[WILDCARD]/test/nested_failures.ts:4:11
- [WILDCARD]</failure>
- </testcase>
- <testcase name="parent 2 &gt; child 1" classname="./test/nested_failures.ts" time="[WILDCARD]" line="9" col="11">
- <failure message="1 test step failed">1 test step failed.</failure>
- </testcase>
- <testcase name="parent 2 &gt; child 1 &gt; grandchild 1" classname="[WILDCARD]/test/nested_failures.ts" time="[WILDCARD]" line="10" col="13">
- </testcase>
- <testcase name="parent 2 &gt; child 1 &gt; grandchild 2" classname="[WILDCARD]/test/nested_failures.ts" time="[WILDCARD]" line="11" col="13">
- <failure message="Uncaught Error: Fail.">Error: Fail.
- throw new Error(&quot;Fail.&quot;);
- ^
- at file:///[WILDCARD]/test/nested_failures.ts:12:13
- [WILDCARD]</failure>
- </testcase>
- <testcase name="parent 2 &gt; child 2" classname="./test/nested_failures.ts" time="[WILDCARD]" line="15" col="11">
- <failure message="Uncaught Error: Fail.">Error: Fail.
- throw new Error(&quot;Fail.&quot;);
- ^
- at file:///[WILDCARD]/test/nested_failures.ts:16:11
- [WILDCARD]</failure>
- </testcase>
- <testcase name="parent 3 &gt; child 1" classname="./test/nested_failures.ts" time="[WILDCARD]" line="21" col="11">
- </testcase>
- <testcase name="parent 3 &gt; child 2" classname="./test/nested_failures.ts" time="[WILDCARD]" line="22" col="11">
- </testcase>
- </testsuite>
-</testsuites>
-error: Test failed
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/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/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
-<?xml version="1.0" encoding="UTF-8"?>
-<testsuites name="deno test" tests="16" failures="0" errors="0" time="[WILDCARD]">
- <testsuite name="./test/pass.ts" tests="16" disabled="0" errors="0" failures="0">
- <testcase name="test 0" classname="./test/pass.ts" time="[WILDCARD]" line="1" col="6">
- </testcase>
- <testcase name="test 1" classname="./test/pass.ts" time="[WILDCARD]" line="2" col="6">
- </testcase>
- <testcase name="test 2" classname="./test/pass.ts" time="[WILDCARD]" line="3" col="6">
- </testcase>
- <testcase name="test 3" classname="./test/pass.ts" time="[WILDCARD]" line="4" col="6">
- </testcase>
- <testcase name="test 4" classname="./test/pass.ts" time="[WILDCARD]" line="5" col="6">
- </testcase>
- <testcase name="test 5" classname="./test/pass.ts" time="[WILDCARD]" line="6" col="6">
- </testcase>
- <testcase name="test 6" classname="./test/pass.ts" time="[WILDCARD]" line="7" col="6">
- </testcase>
- <testcase name="test 7" classname="./test/pass.ts" time="[WILDCARD]" line="8" col="6">
- </testcase>
- <testcase name="test 8" classname="./test/pass.ts" time="[WILDCARD]" line="9" col="6">
- </testcase>
- <testcase name="test 9" classname="./test/pass.ts" time="[WILDCARD]" line="12" col="6">
- </testcase>
- <testcase name="test\b" classname="./test/pass.ts" time="[WILDCARD]" line="16" col="6">
- </testcase>
- <testcase name="test\f" classname="./test/pass.ts" time="[WILDCARD]" line="19" col="6">
- </testcase>
- <testcase name="test\t" classname="./test/pass.ts" time="[WILDCARD]" line="23" col="6">
- </testcase>
- <testcase name="test\n" classname="./test/pass.ts" time="[WILDCARD]" line="27" col="6">
- </testcase>
- <testcase name="test\r" classname="./test/pass.ts" time="[WILDCARD]" line="31" col="6">
- </testcase>
- <testcase name="test\v" classname="./test/pass.ts" time="[WILDCARD]" line="35" col="6">
- </testcase>
- </testsuite>
-</testsuites>
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<void>((resolve) => setTimeout(() => resolve(), 10));
- });
- console.log("done");
-});
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/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/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/tools/lint.js b/tools/lint.js
index e914fe159..ae7b8470b 100755
--- a/tools/lint.js
+++ b/tools/lint.js
@@ -221,7 +221,7 @@ async function ensureNoNewITests() {
"run_tests.rs": 334,
"shared_library_tests.rs": 0,
"task_tests.rs": 4,
- "test_tests.rs": 73,
+ "test_tests.rs": 0,
"upgrade_tests.rs": 0,
"vendor_tests.rs": 1,
"watcher_tests.rs": 0,