summaryrefslogtreecommitdiff
path: root/cli/tests/integration
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/integration')
-rw-r--r--cli/tests/integration/run_tests.rs8
-rw-r--r--cli/tests/integration/task_tests.rs159
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,
});