diff options
author | Bartek Iwańczuk <biwanczuk@gmail.com> | 2023-01-13 02:59:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-13 02:59:13 +0100 |
commit | 9e282155b77c2ea6168e2dbed5adad9137828190 (patch) | |
tree | 59c45c21ad082e804a6104417ebe231c231a81c5 /cli/tests/integration/task_tests.rs | |
parent | 919a0cd6796f2a9bbfbfddc9fae53c6afa3dbdda (diff) |
tests: move integration tests to a single module (#17380)
Effectively reverts changes done in
https://github.com/denoland/deno/pull/16816
Diffstat (limited to 'cli/tests/integration/task_tests.rs')
-rw-r--r-- | cli/tests/integration/task_tests.rs | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/cli/tests/integration/task_tests.rs b/cli/tests/integration/task_tests.rs new file mode 100644 index 000000000..47c3b6b6b --- /dev/null +++ b/cli/tests/integration/task_tests.rs @@ -0,0 +1,130 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +// Most of the tests for this are in deno_task_shell. +// These tests are intended to only test integration. + +itest!(task_no_args { + args: "task -q --config task/deno.json", + output: "task/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", + 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", + 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", + envs: vec![ + ("NO_COLOR".to_string(), "1".to_string()), + ("INIT_CWD".to_string(), "HELLO".to_string()) + ], + exit_code: 0, +}); + +itest!(task_cwd_resolves_config_from_specified_dir { + args: "task -q --cwd task", + output: "task/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", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], + exit_code: 1, +}); + +#[test] +fn task_emoji() { + // this bug only appears when using a pty/tty + let args = "task --config task/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", + 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", + 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", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], +}); + +itest!(task_additional_args_no_shell_expansion { + args_vec: vec![ + "task", + "-q", + "--config", + "task/deno.json", + "echo", + "$(echo 5)" + ], + output: "task/task_additional_args_no_shell_expansion.out", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], +}); + +itest!(task_additional_args_nested_strings { + args_vec: vec![ + "task", + "-q", + "--config", + "task/deno.json", + "echo", + "string \"quoted string\"" + ], + output: "task/task_additional_args_nested_strings.out", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], +}); + +itest!(task_additional_args_no_logic { + args_vec: vec![ + "task", + "-q", + "--config", + "task/deno.json", + "echo", + "||", + "echo", + "5" + ], + output: "task/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", + 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", + envs: vec![("NO_COLOR".to_string(), "1".to_string())], +}); |