diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-02-10 13:22:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-10 20:22:13 +0000 |
commit | f5e46c9bf2f50d66a953fa133161fc829cecff06 (patch) | |
tree | 8faf2f5831c1c7b11d842cd9908d141082c869a5 /cli/tests/integration/task_tests.rs | |
parent | d2477f780630a812bfd65e3987b70c0d309385bb (diff) |
chore: move cli/tests/ -> tests/ (#22369)
This looks like a massive PR, but it's only a move from cli/tests ->
tests, and updates of relative paths for files.
This is the first step towards aggregate all of the integration test
files under tests/, which will lead to a set of integration tests that
can run without the CLI binary being built.
While we could leave these tests under `cli`, it would require us to
keep a more complex directory structure for the various test runners. In
addition, we have a lot of complexity to ignore various test files in
the `cli` project itself (cargo publish exclusion rules, autotests =
false, etc).
And finally, the `tests/` folder will eventually house the `test_ffi`,
`test_napi` and other testing code, reducing the size of the root repo
directory.
For easier review, the extremely large and noisy "move" is in the first
commit (with no changes -- just a move), while the remainder of the
changes to actual files is in the second commit.
Diffstat (limited to 'cli/tests/integration/task_tests.rs')
-rw-r--r-- | cli/tests/integration/task_tests.rs | 357 |
1 files changed, 0 insertions, 357 deletions
diff --git a/cli/tests/integration/task_tests.rs b/cli/tests/integration/task_tests.rs deleted file mode 100644 index c8531c13f..000000000 --- a/cli/tests/integration/task_tests.rs +++ /dev/null @@ -1,357 +0,0 @@ -// Copyright 2018-2024 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. - -use deno_core::serde_json::json; -use test_util::env_vars_for_npm_tests; -use test_util::TestContext; -use test_util::TestContextBuilder; - -itest!(task_no_args { - 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/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/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/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()) - ], - exit_code: 0, -}); - -itest!(task_cwd_resolves_config_from_specified_dir { - 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/deno.json non_existent", - output: "task/deno_json/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 - TestContext::default() - .new_command() - .args_vec(["task", "--config", "task/deno_json/deno.json", "echo_emoji"]) - .with_pty(|mut console| { - console.expect("Task echo_emoji echo š„\r\nš„"); - }); -} - -itest!(task_boolean_logic { - 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/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/deno.json echo 2", - output: "task/deno_json/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/deno.json", - "echo", - "$(echo 5)" - ], - output: "task/deno_json/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/deno.json", - "echo", - "string \"quoted string\"" - ], - output: "task/deno_json/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/deno.json", - "echo", - "||", - "echo", - "5" - ], - 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.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/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, -}); - -// should not auto-install the packages in the package.json -// when using nodeModulesDir: false -itest!(task_package_json_node_modules_dir_false { - args: "task echo", - cwd: Some("task/package_json_node_modules_dir_false/"), - output: "task/package_json_node_modules_dir_false/bin.out", - copy_temp_dir: Some("task/package_json_node_modules_dir_false/"), - 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, -}); - -itest!(task_pre_post { - args: "task test", - cwd: Some("task/package_json_pre_post/"), - output: "task/package_json_pre_post/bin.out", - copy_temp_dir: Some("task/package_json_pre_post/"), - exit_code: 0, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -itest!(task_pre { - args: "task test", - cwd: Some("task/package_json_pre/"), - output: "task/package_json_pre/bin.out", - copy_temp_dir: Some("task/package_json_pre/"), - exit_code: 0, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -itest!(task_post { - args: "task test", - cwd: Some("task/package_json_post/"), - output: "task/package_json_post/bin.out", - copy_temp_dir: Some("task/package_json_post/"), - exit_code: 0, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -itest!(task_post_only { - args: "task test", - cwd: Some("task/package_json_post_only/"), - output: "task/package_json_post_only/bin.out", - copy_temp_dir: Some("task/package_json_post_only/"), - exit_code: 1, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -itest!(task_pre_only { - args: "task test", - cwd: Some("task/package_json_pre_only/"), - output: "task/package_json_pre_only/bin.out", - copy_temp_dir: Some("task/package_json_pre_only/"), - exit_code: 1, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -itest!(task_deno_no_pre_post { - args: "task test", - cwd: Some("task/deno_json_pre_post/"), - output: "task/deno_json_pre_post/bin.out", - copy_temp_dir: Some("task/deno_json_pre_post/"), - exit_code: 0, - envs: vec![("NO_COLOR".to_string(), "1".to_string())], -}); - -#[test] -fn task_byonm() { - let context = TestContextBuilder::for_npm().use_temp_cwd().build(); - let temp_dir = context.temp_dir().path(); - temp_dir.join("package.json").write_json(&json!({ - "name": "example", - "scripts": { - "say": "cowsay 'do make say'", - "think": "cowthink think" - }, - "dependencies": { - "cowsay": "*" - } - })); - temp_dir.join("deno.json").write_json(&json!({ - "unstable": ["byonm"], - })); - context.run_npm("install"); - - context - .new_command() - .args_vec(["task", "say"]) - .run() - .assert_matches_text( - r#"Task say cowsay 'do make say' - _____________ -< do make say > - ------------- - \ ^__^ - \ (oo)\_______ - (__)\ )\/\ - ||----w | - || || -"#, - ); - - context - .new_command() - .args_vec(["task", "think"]) - .run() - .assert_matches_text( - r#"Task think cowthink think - _______ -( think ) - ------- - o ^__^ - o (oo)\_______ - (__)\ )\/\ - ||----w | - || || -"#, - ); -} |