diff options
Diffstat (limited to 'cli/tests/integration')
-rw-r--r-- | cli/tests/integration/run_tests.rs | 8 | ||||
-rw-r--r-- | cli/tests/integration/task_tests.rs | 159 |
2 files changed, 134 insertions, 33 deletions
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 7dbf9c74c..d89142c21 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -2752,7 +2752,7 @@ itest!(config_not_auto_discovered_for_remote_script { itest!(package_json_auto_discovered_for_local_script_log { args: "run -L debug -A no_deno_json/main.ts", output: "run/with_package_json/no_deno_json/main.out", - maybe_cwd: Some("run/with_package_json/"), + cwd: Some("run/with_package_json/"), // prevent creating a node_modules dir in the code directory copy_temp_dir: Some("run/with_package_json/"), envs: env_vars_for_npm_tests_no_sync_download(), @@ -2765,7 +2765,7 @@ itest!( package_json_auto_discovered_for_local_script_log_with_stop { args: "run -L debug with_stop/some/nested/dir/main.ts", output: "run/with_package_json/with_stop/main.out", - maybe_cwd: Some("run/with_package_json/"), + cwd: Some("run/with_package_json/"), copy_temp_dir: Some("run/with_package_json/"), envs: env_vars_for_npm_tests_no_sync_download(), http_server: true, @@ -2777,7 +2777,7 @@ itest!( package_json_auto_discovered_node_modules_relative_package_json { args: "run -A main.js", output: "run/with_package_json/no_deno_json/sub_dir/main.out", - maybe_cwd: Some("run/with_package_json/no_deno_json/sub_dir"), + cwd: Some("run/with_package_json/no_deno_json/sub_dir"), copy_temp_dir: Some("run/with_package_json/"), envs: env_vars_for_npm_tests_no_sync_download(), http_server: true, @@ -2787,7 +2787,7 @@ itest!( itest!(package_json_auto_discovered_for_npm_binary { args: "run -L debug -A npm:@denotest/bin/cli-esm this is a test", output: "run/with_package_json/npm_binary/main.out", - maybe_cwd: Some("run/with_package_json/npm_binary/"), + cwd: Some("run/with_package_json/npm_binary/"), copy_temp_dir: Some("run/with_package_json/"), envs: env_vars_for_npm_tests_no_sync_download(), http_server: true, diff --git a/cli/tests/integration/task_tests.rs b/cli/tests/integration/task_tests.rs index 47c3b6b6b..3dce90a0c 100644 --- a/cli/tests/integration/task_tests.rs +++ b/cli/tests/integration/task_tests.rs @@ -3,30 +3,32 @@ // Most of the tests for this are in deno_task_shell. // These tests are intended to only test integration. +use test_util::env_vars_for_npm_tests; + itest!(task_no_args { - args: "task -q --config task/deno.json", - output: "task/task_no_args.out", + args: "task -q --config task/deno_json/deno.json", + output: "task/deno_json/task_no_args.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 1, }); itest!(task_cwd { - args: "task -q --config task/deno.json --cwd .. echo_cwd", - output: "task/task_cwd.out", + args: "task -q --config task/deno_json/deno.json --cwd .. echo_cwd", + output: "task/deno_json/task_cwd.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 0, }); itest!(task_init_cwd { - args: "task -q --config task/deno.json --cwd .. echo_init_cwd", - output: "task/task_init_cwd.out", + args: "task -q --config task/deno_json/deno.json --cwd .. echo_init_cwd", + output: "task/deno_json/task_init_cwd.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 0, }); itest!(task_init_cwd_already_set { - args: "task -q --config task/deno.json echo_init_cwd", - output: "task/task_init_cwd_already_set.out", + args: "task -q --config task/deno_json/deno.json echo_init_cwd", + output: "task/deno_json/task_init_cwd_already_set.out", envs: vec![ ("NO_COLOR".to_string(), "1".to_string()), ("INIT_CWD".to_string(), "HELLO".to_string()) @@ -35,15 +37,15 @@ itest!(task_init_cwd_already_set { }); itest!(task_cwd_resolves_config_from_specified_dir { - args: "task -q --cwd task", - output: "task/task_no_args.out", + args: "task -q --cwd task/deno_json", + output: "task/deno_json/task_no_args.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 1, }); itest!(task_non_existent { - args: "task --config task/deno.json non_existent", - output: "task/task_non_existent.out", + args: "task --config task/deno_json/deno.json non_existent", + output: "task/deno_json/task_non_existent.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 1, }); @@ -51,27 +53,27 @@ itest!(task_non_existent { #[test] fn task_emoji() { // this bug only appears when using a pty/tty - let args = "task --config task/deno.json echo_emoji"; + let args = "task --config task/deno_json/deno.json echo_emoji"; use test_util::PtyData::*; test_util::test_pty2(args, vec![Output("Task echo_emoji echo š„\r\nš„")]); } itest!(task_boolean_logic { - args: "task -q --config task/deno.json boolean_logic", - output: "task/task_boolean_logic.out", + args: "task -q --config task/deno_json/deno.json boolean_logic", + output: "task/deno_json/task_boolean_logic.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], }); itest!(task_exit_code_5 { - args: "task --config task/deno.json exit_code_5", - output: "task/task_exit_code_5.out", + args: "task --config task/deno_json/deno.json exit_code_5", + output: "task/deno_json/task_exit_code_5.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], exit_code: 5, }); itest!(task_additional_args { - args: "task -q --config task/deno.json echo 2", - output: "task/task_additional_args.out", + args: "task -q --config task/deno_json/deno.json echo 2", + output: "task/deno_json/task_additional_args.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], }); @@ -80,11 +82,11 @@ itest!(task_additional_args_no_shell_expansion { "task", "-q", "--config", - "task/deno.json", + "task/deno_json/deno.json", "echo", "$(echo 5)" ], - output: "task/task_additional_args_no_shell_expansion.out", + output: "task/deno_json/task_additional_args_no_shell_expansion.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], }); @@ -93,11 +95,11 @@ itest!(task_additional_args_nested_strings { "task", "-q", "--config", - "task/deno.json", + "task/deno_json/deno.json", "echo", "string \"quoted string\"" ], - output: "task/task_additional_args_nested_strings.out", + output: "task/deno_json/task_additional_args_nested_strings.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], }); @@ -106,25 +108,124 @@ itest!(task_additional_args_no_logic { "task", "-q", "--config", - "task/deno.json", + "task/deno_json/deno.json", "echo", "||", "echo", "5" ], - output: "task/task_additional_args_no_logic.out", + output: "task/deno_json/task_additional_args_no_logic.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], }); itest!(task_deno_exe_no_env { - args_vec: vec!["task", "-q", "--config", "task/deno.json", "deno_echo"], - output: "task/task_deno_exe_no_env.out", + args_vec: vec![ + "task", + "-q", + "--config", + "task/deno_json/deno.json", + "deno_echo" + ], + output: "task/deno_json/task_deno_exe_no_env.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], env_clear: true, }); itest!(task_piped_stdin { - args_vec: vec!["task", "-q", "--config", "task/deno.json", "piped"], - output: "task/task_piped_stdin.out", + args_vec: vec![ + "task", + "-q", + "--config", + "task/deno_json/deno.json", + "piped" + ], + output: "task/deno_json/task_piped_stdin.out", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], +}); + +itest!(task_package_json_no_arg { + args: "task", + cwd: Some("task/package_json/"), + output: "task/package_json/no_args.out", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], + exit_code: 1, +}); + +itest!(task_package_json_echo { + args: "task --quiet echo", + cwd: Some("task/package_json/"), + output: "task/package_json/echo.out", + // use a temp dir because the node_modules folder will be created + copy_temp_dir: Some("task/package_json/"), + envs: env_vars_for_npm_tests(), + exit_code: 0, + http_server: true, +}); + +itest!(task_package_json_npm_bin { + args: "task bin extra", + cwd: Some("task/package_json/"), + output: "task/package_json/bin.out", + copy_temp_dir: Some("task/package_json/"), + envs: env_vars_for_npm_tests(), + exit_code: 0, + http_server: true, +}); + +itest!(task_both_no_arg { + args: "task", + cwd: Some("task/both/"), + output: "task/both/no_args.out", envs: vec![("NO_COLOR".to_string(), "1".to_string())], + exit_code: 1, +}); + +itest!(task_both_deno_json_selected { + args: "task other", + cwd: Some("task/both/"), + output: "task/both/deno_selected.out", + copy_temp_dir: Some("task/both/"), + envs: env_vars_for_npm_tests(), + exit_code: 0, + http_server: true, +}); + +itest!(task_both_package_json_selected { + args: "task bin asdf", + cwd: Some("task/both/"), + output: "task/both/package_json_selected.out", + copy_temp_dir: Some("task/both/"), + envs: env_vars_for_npm_tests(), + exit_code: 0, + http_server: true, +}); + +itest!(task_both_prefers_deno { + args: "task output some text", + cwd: Some("task/both/"), + output: "task/both/prefers_deno.out", + copy_temp_dir: Some("task/both/"), + envs: env_vars_for_npm_tests(), + exit_code: 0, + http_server: true, +}); + +itest!(task_npx_non_existent { + args: "task non-existent", + cwd: Some("task/npx/"), + output: "task/npx/non_existent.out", + copy_temp_dir: Some("task/npx/"), + envs: env_vars_for_npm_tests(), + exit_code: 1, + http_server: true, +}); + +itest!(task_npx_on_own { + args: "task on-own", + cwd: Some("task/npx/"), + output: "task/npx/on_own.out", + copy_temp_dir: Some("task/npx/"), + envs: env_vars_for_npm_tests(), + exit_code: 1, + http_server: true, }); |