From 2a3c450380784779f620d102ae30480e39e205ad Mon Sep 17 00:00:00 2001 From: Justin Garcia Date: Sat, 12 Sep 2026 04:57:25 +0000 Subject: [PATCH 1/2] Separate end-to-end test suites Amp-Thread-ID: https://ampcode.com/threads/T-01a093e4-a391-757a-99de-bfbb35991d61 Co-authored-by: Amp --- Cargo.lock | 4 + tests-e2e/Cargo.toml | 21 ++ tests-e2e/tests/{package_manager => }/cli.rs | 5 +- tests-e2e/tests/{package_manager => }/lsp.rs | 309 +++++++++++------- tests-e2e/tests/package_manager.rs | 8 +- .../cli__add_requires_dependencies.snap} | 2 +- .../cli__compile_package_requires_value.snap} | 2 +- ...i__compile_requires_input_or_package.snap} | 2 +- ...li__config_blank_source_program_file.snap} | 2 +- ...__config_blank_source_program_inline.snap} | 2 +- .../cli__config_conflicts_with_file.snap} | 2 +- ...li__config_duplicate_diagnostic_file.snap} | 2 +- ...__config_duplicate_diagnostic_inline.snap} | 2 +- .../cli__config_duplicate_program_file.snap} | 2 +- ...cli__config_duplicate_program_inline.snap} | 2 +- .../cli__config_empty_json_file.snap} | 2 +- .../cli__config_empty_json_inline.snap} | 2 +- ...li__config_empty_source_program_file.snap} | 2 +- ...__config_empty_source_program_inline.snap} | 2 +- ...__config_escaped_diagnostic_key_file.snap} | 2 +- ...config_escaped_diagnostic_key_inline.snap} | 2 +- ...__config_file_conflicts_with_literal.snap} | 2 +- .../cli__config_file_invalid_utf8.snap} | 2 +- .../cli__config_file_missing.snap} | 2 +- .../cli__config_file_requires_value.snap} | 2 +- ...config_invalid_source_arguments_file.snap} | 2 +- ...nfig_invalid_source_arguments_inline.snap} | 2 +- .../cli__config_malformed_json_file.snap} | 2 +- .../cli__config_malformed_json_inline.snap} | 2 +- ...__config_missing_source_program_file.snap} | 2 +- ...config_missing_source_program_inline.snap} | 2 +- .../cli__config_multiline_eof_file.snap} | 2 +- .../cli__config_multiline_eof_inline.snap} | 2 +- ...fig_multiline_invalid_arguments_file.snap} | 2 +- ...g_multiline_invalid_arguments_inline.snap} | 2 +- ...tiline_program_before_arguments_file.snap} | 2 +- ...line_program_before_arguments_inline.snap} | 2 +- ...g_multiline_program_before_kind_file.snap} | 2 +- ...multiline_program_before_kind_inline.snap} | 2 +- ...g_multiline_unicode_unknown_key_file.snap} | 2 +- ...multiline_unicode_unknown_key_inline.snap} | 2 +- ...i__config_null_source_arguments_file.snap} | 2 +- ..._config_null_source_arguments_inline.snap} | 2 +- .../cli__config_requires_value.snap} | 2 +- .../cli__config_trailing_json_file.snap} | 2 +- .../cli__config_trailing_json_inline.snap} | 2 +- ...li__config_unicode_syntax_error_file.snap} | 2 +- ...__config_unicode_syntax_error_inline.snap} | 2 +- .../cli__config_unknown_diagnostic_file.snap} | 2 +- ...li__config_unknown_diagnostic_inline.snap} | 2 +- .../cli__config_unknown_setting_file.snap} | 2 +- .../cli__config_unknown_setting_inline.snap} | 2 +- ...cli__config_unknown_source_kind_file.snap} | 2 +- ...i__config_unknown_source_kind_inline.snap} | 2 +- ..._config_wrong_diagnostic_object_file.snap} | 2 +- ...onfig_wrong_diagnostic_object_inline.snap} | 2 +- ...i__config_wrong_diagnostic_type_file.snap} | 2 +- ..._config_wrong_diagnostic_type_inline.snap} | 2 +- .../cli__config_wrong_top_level_file.snap} | 2 +- .../cli__config_wrong_top_level_inline.snap} | 2 +- .../cli__docs_package_requires_value.snap} | 2 +- .../cli__docs_project_requires_value.snap} | 2 +- ...li__docs_requires_package_or_project.snap} | 2 +- .../cli__duplicate_build_scalar.snap} | 2 +- .../cli__duplicate_compile_scalar.snap} | 2 +- .../cli__duplicate_config_file.snap} | 2 +- .../cli__duplicate_docs_scalar.snap} | 2 +- .../cli__duplicate_lsp_scalar.snap} | 2 +- .../cli__duplicate_typescript_scalar.snap} | 2 +- .../cli__help_add.snap} | 2 +- .../cli__help_build.snap} | 2 +- .../cli__help_compile.snap} | 2 +- .../cli__help_docs.snap} | 2 +- .../cli__help_docs_typescript.snap} | 2 +- .../cli__help_lsp.snap} | 2 +- .../cli__help_lsp_short.snap} | 2 +- .../cli__help_new.snap} | 2 +- .../cli__help_root.snap} | 2 +- .../cli__help_run.snap} | 2 +- .../cli__help_test.snap} | 2 +- .../cli__help_watch.snap} | 2 +- .../cli__invalid_choice.snap} | 2 +- .../cli__invalid_choice_equals.snap} | 2 +- .../cli__invalid_choice_escaped.snap} | 2 +- .../cli__log_file_requires_subcommand.snap} | 2 +- .../cli__removed_diagnostics_on_change.snap} | 2 +- .../cli__removed_diagnostics_on_open.snap} | 2 +- .../cli__removed_diagnostics_on_save.snap} | 2 +- .../cli__removed_source_command.snap} | 2 +- .../cli__root_checking_log.snap} | 2 +- .../cli__root_config.snap} | 2 +- .../cli__root_config_file.snap} | 2 +- .../cli__root_lsp_log.snap} | 2 +- .../cli__root_query_log.snap} | 2 +- .../cli__root_requires_subcommand.snap} | 2 +- .../cli__root_stdio.snap} | 2 +- .../cli__root_stdio_before_lsp.snap} | 2 +- .../cli__run_requires_separator.snap} | 2 +- .../cli__test_requires_separator.snap} | 2 +- .../cli__unicode_unknown_flag.snap} | 2 +- .../cli__unknown_build_flag.snap} | 2 +- .../cli__unknown_compile_flag.snap} | 2 +- .../cli__unknown_docs_flag.snap} | 2 +- .../cli__unknown_root_flag.snap} | 2 +- .../cli__unknown_typescript_flag.snap} | 2 +- .../cli__version.snap} | 2 +- .../tests/{package_manager => }/stylex.rs | 5 +- .../tests/{package_manager => }/support.rs | 4 +- 108 files changed, 325 insertions(+), 233 deletions(-) rename tests-e2e/tests/{package_manager => }/cli.rs (99%) rename tests-e2e/tests/{package_manager => }/lsp.rs (64%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__add_requires_dependencies.snap => snapshots/cli__add_requires_dependencies.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__compile_package_requires_value.snap => snapshots/cli__compile_package_requires_value.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__compile_requires_input_or_package.snap => snapshots/cli__compile_requires_input_or_package.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_blank_source_program_file.snap => snapshots/cli__config_blank_source_program_file.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_blank_source_program_inline.snap => snapshots/cli__config_blank_source_program_inline.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_conflicts_with_file.snap => snapshots/cli__config_conflicts_with_file.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_file.snap => snapshots/cli__config_duplicate_diagnostic_file.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_inline.snap => snapshots/cli__config_duplicate_diagnostic_inline.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_duplicate_program_file.snap => snapshots/cli__config_duplicate_program_file.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_duplicate_program_inline.snap => snapshots/cli__config_duplicate_program_inline.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_empty_json_file.snap => snapshots/cli__config_empty_json_file.snap} (78%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_empty_json_inline.snap => snapshots/cli__config_empty_json_inline.snap} (77%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_empty_source_program_file.snap => snapshots/cli__config_empty_source_program_file.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_empty_source_program_inline.snap => snapshots/cli__config_empty_source_program_inline.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_file.snap => snapshots/cli__config_escaped_diagnostic_key_file.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_inline.snap => snapshots/cli__config_escaped_diagnostic_key_inline.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_file_conflicts_with_literal.snap => snapshots/cli__config_file_conflicts_with_literal.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_file_invalid_utf8.snap => snapshots/cli__config_file_invalid_utf8.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_file_missing.snap => snapshots/cli__config_file_missing.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_file_requires_value.snap => snapshots/cli__config_file_requires_value.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_file.snap => snapshots/cli__config_invalid_source_arguments_file.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_inline.snap => snapshots/cli__config_invalid_source_arguments_inline.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_malformed_json_file.snap => snapshots/cli__config_malformed_json_file.snap} (79%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_malformed_json_inline.snap => snapshots/cli__config_malformed_json_inline.snap} (78%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_missing_source_program_file.snap => snapshots/cli__config_missing_source_program_file.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_missing_source_program_inline.snap => snapshots/cli__config_missing_source_program_inline.snap} (82%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_eof_file.snap => snapshots/cli__config_multiline_eof_file.snap} (81%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_eof_inline.snap => snapshots/cli__config_multiline_eof_inline.snap} (80%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_file.snap => snapshots/cli__config_multiline_invalid_arguments_file.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_inline.snap => snapshots/cli__config_multiline_invalid_arguments_inline.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_file.snap => snapshots/cli__config_multiline_program_before_arguments_file.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_inline.snap => snapshots/cli__config_multiline_program_before_arguments_inline.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_file.snap => snapshots/cli__config_multiline_program_before_kind_file.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_inline.snap => snapshots/cli__config_multiline_program_before_kind_inline.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_file.snap => snapshots/cli__config_multiline_unicode_unknown_key_file.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_inline.snap => snapshots/cli__config_multiline_unicode_unknown_key_inline.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_null_source_arguments_file.snap => snapshots/cli__config_null_source_arguments_file.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_null_source_arguments_inline.snap => snapshots/cli__config_null_source_arguments_inline.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_requires_value.snap => snapshots/cli__config_requires_value.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_trailing_json_file.snap => snapshots/cli__config_trailing_json_file.snap} (79%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_trailing_json_inline.snap => snapshots/cli__config_trailing_json_inline.snap} (78%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_file.snap => snapshots/cli__config_unicode_syntax_error_file.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_inline.snap => snapshots/cli__config_unicode_syntax_error_inline.snap} (82%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_file.snap => snapshots/cli__config_unknown_diagnostic_file.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_inline.snap => snapshots/cli__config_unknown_diagnostic_inline.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_setting_file.snap => snapshots/cli__config_unknown_setting_file.snap} (84%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_setting_inline.snap => snapshots/cli__config_unknown_setting_inline.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_source_kind_file.snap => snapshots/cli__config_unknown_source_kind_file.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_unknown_source_kind_inline.snap => snapshots/cli__config_unknown_source_kind_inline.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_file.snap => snapshots/cli__config_wrong_diagnostic_object_file.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_inline.snap => snapshots/cli__config_wrong_diagnostic_object_inline.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_file.snap => snapshots/cli__config_wrong_diagnostic_type_file.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_inline.snap => snapshots/cli__config_wrong_diagnostic_type_inline.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_top_level_file.snap => snapshots/cli__config_wrong_top_level_file.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__config_wrong_top_level_inline.snap => snapshots/cli__config_wrong_top_level_inline.snap} (82%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__docs_package_requires_value.snap => snapshots/cli__docs_package_requires_value.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__docs_project_requires_value.snap => snapshots/cli__docs_project_requires_value.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__docs_requires_package_or_project.snap => snapshots/cli__docs_requires_package_or_project.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_build_scalar.snap => snapshots/cli__duplicate_build_scalar.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_compile_scalar.snap => snapshots/cli__duplicate_compile_scalar.snap} (91%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_config_file.snap => snapshots/cli__duplicate_config_file.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_docs_scalar.snap => snapshots/cli__duplicate_docs_scalar.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_lsp_scalar.snap => snapshots/cli__duplicate_lsp_scalar.snap} (89%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__duplicate_typescript_scalar.snap => snapshots/cli__duplicate_typescript_scalar.snap} (91%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_add.snap => snapshots/cli__help_add.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_build.snap => snapshots/cli__help_build.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_compile.snap => snapshots/cli__help_compile.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_docs.snap => snapshots/cli__help_docs.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_docs_typescript.snap => snapshots/cli__help_docs_typescript.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_lsp.snap => snapshots/cli__help_lsp.snap} (95%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_lsp_short.snap => snapshots/cli__help_lsp_short.snap} (94%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_new.snap => snapshots/cli__help_new.snap} (83%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_root.snap => snapshots/cli__help_root.snap} (95%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_run.snap => snapshots/cli__help_run.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_test.snap => snapshots/cli__help_test.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__help_watch.snap => snapshots/cli__help_watch.snap} (95%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__invalid_choice.snap => snapshots/cli__invalid_choice.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__invalid_choice_equals.snap => snapshots/cli__invalid_choice_equals.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__invalid_choice_escaped.snap => snapshots/cli__invalid_choice_escaped.snap} (90%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__log_file_requires_subcommand.snap => snapshots/cli__log_file_requires_subcommand.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__removed_diagnostics_on_change.snap => snapshots/cli__removed_diagnostics_on_change.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__removed_diagnostics_on_open.snap => snapshots/cli__removed_diagnostics_on_open.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__removed_diagnostics_on_save.snap => snapshots/cli__removed_diagnostics_on_save.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__removed_source_command.snap => snapshots/cli__removed_source_command.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_checking_log.snap => snapshots/cli__root_checking_log.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_config.snap => snapshots/cli__root_config.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_config_file.snap => snapshots/cli__root_config_file.snap} (89%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_lsp_log.snap => snapshots/cli__root_lsp_log.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_query_log.snap => snapshots/cli__root_query_log.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_requires_subcommand.snap => snapshots/cli__root_requires_subcommand.snap} (96%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_stdio.snap => snapshots/cli__root_stdio.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__root_stdio_before_lsp.snap => snapshots/cli__root_stdio_before_lsp.snap} (86%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__run_requires_separator.snap => snapshots/cli__run_requires_separator.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__test_requires_separator.snap => snapshots/cli__test_requires_separator.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unicode_unknown_flag.snap => snapshots/cli__unicode_unknown_flag.snap} (85%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unknown_build_flag.snap => snapshots/cli__unknown_build_flag.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unknown_compile_flag.snap => snapshots/cli__unknown_compile_flag.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unknown_docs_flag.snap => snapshots/cli__unknown_docs_flag.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unknown_root_flag.snap => snapshots/cli__unknown_root_flag.snap} (87%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__unknown_typescript_flag.snap => snapshots/cli__unknown_typescript_flag.snap} (88%) rename tests-e2e/tests/{package_manager/snapshots/package_manager__cli__version.snap => snapshots/cli__version.snap} (52%) rename tests-e2e/tests/{package_manager => }/stylex.rs (95%) rename tests-e2e/tests/{package_manager => }/support.rs (97%) diff --git a/Cargo.lock b/Cargo.lock index 9ceb3d4cf..205df5b02 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3741,12 +3741,16 @@ dependencies = [ name = "tests-e2e" version = "0.1.0" dependencies = [ + "async-lsp", "insta", "itertools 0.15.0", + "lsp-types", "purescript-iris", "regex", "serde_json", "tempfile", + "tokio", + "tokio-util", "url", ] diff --git a/tests-e2e/Cargo.toml b/tests-e2e/Cargo.toml index 3f3640d89..65e543119 100644 --- a/tests-e2e/Cargo.toml +++ b/tests-e2e/Cargo.toml @@ -3,16 +3,21 @@ name = "tests-e2e" version = "0.1.0" edition = "2024" publish = false +autotests = false [dependencies] purescript-iris = { path = "../compiler-bin" } [dev-dependencies] +async-lsp = { version = "0.2.4", features = ["tokio"] } insta = { version = "1.48.0", features = ["filters"] } itertools = "0.15.0" +lsp-types.workspace = true regex = "1.12.2" serde_json = "1.0.151" tempfile = "3.27.0" +tokio = { version = "1.53.1", features = ["process", "rt-multi-thread", "time"] } +tokio-util = { version = "0.7.19", features = ["compat"] } url = "2.5.8" [[bin]] @@ -22,3 +27,19 @@ path = "src/bin/iris-e2e.rs" [[bin]] name = "spago-e2e" path = "src/bin/spago-e2e.rs" + +[[test]] +name = "cli" +path = "tests/cli.rs" + +[[test]] +name = "lsp" +path = "tests/lsp.rs" + +[[test]] +name = "package_manager" +path = "tests/package_manager.rs" + +[[test]] +name = "stylex" +path = "tests/stylex.rs" diff --git a/tests-e2e/tests/package_manager/cli.rs b/tests-e2e/tests/cli.rs similarity index 99% rename from tests-e2e/tests/package_manager/cli.rs rename to tests-e2e/tests/cli.rs index 08fabb2c9..fce6fddda 100644 --- a/tests-e2e/tests/package_manager/cli.rs +++ b/tests-e2e/tests/cli.rs @@ -1,6 +1,9 @@ use std::process::Output; -use super::support::TestWorkspace; +#[path = "support.rs"] +mod support; + +use support::TestWorkspace; fn snapshot_output(name: &str, output: &Output) { let status = output.status.code().map_or_else(|| "signal".to_owned(), |code| code.to_string()); diff --git a/tests-e2e/tests/package_manager/lsp.rs b/tests-e2e/tests/lsp.rs similarity index 64% rename from tests-e2e/tests/package_manager/lsp.rs rename to tests-e2e/tests/lsp.rs index 26cfb85a3..ea2e628c7 100644 --- a/tests-e2e/tests/package_manager/lsp.rs +++ b/tests-e2e/tests/lsp.rs @@ -1,23 +1,49 @@ -use std::io::{BufRead, BufReader, Read, Write}; +use std::ops::ControlFlow; use std::path::Path; -use std::process::Child; +use std::process::Stdio; +use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{self, Receiver, RecvTimeoutError}; +use std::sync::{Arc, Mutex}; use std::thread; use std::time::{Duration, Instant}; +use async_lsp::router::Router; +use async_lsp::{Error, ErrorCode, LanguageServer as LanguageServerClient, ServerSocket}; +use lsp_types::notification::{PublishDiagnostics, ShowMessage}; +use lsp_types::request::{RegisterCapability, WorkspaceConfiguration, WorkspaceSymbolRequest}; +use lsp_types::{ + ClientCapabilities, InitializeParams, InitializedParams, Registration, WorkspaceFolder, + WorkspaceSymbolParams, +}; use serde_json::{Value, json}; +use tokio::runtime::Runtime; +use tokio::task::JoinHandle; +use tokio::time::timeout; +use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt}; use url::Url; -use super::support::TestWorkspace; +#[path = "support.rs"] +mod support; + +use support::TestWorkspace; + +struct ClientState { + configuration: Mutex>, + configuration_requests: AtomicUsize, + registrations: Mutex>, + notifications: mpsc::Sender, +} + +struct Stop; struct LanguageServer { - child: Child, + child: tokio::process::Child, + runtime: Runtime, + server: ServerSocket, + mainloop: Option>>, messages: Receiver, notifications: Vec, - next_request: u32, - configuration: Option, - configuration_requests: usize, - registrations: Vec, + client: Arc, } impl LanguageServer { @@ -47,120 +73,141 @@ impl LanguageServer { ) -> LanguageServer { let mut arguments = arguments.to_vec(); arguments.extend(["--stdio", "--lsp-log", "off"]); - let mut child = workspace.spawn_in(directory, &arguments); - let mut stdout = BufReader::new(child.stdout.take().unwrap()); - let (sender, messages) = mpsc::channel(); - thread::spawn(move || { - loop { - let mut length = None; - loop { - let mut header = String::new(); - if stdout.read_line(&mut header).unwrap() == 0 { - return; - } - if header == "\r\n" { - break; - } - if let Some(value) = header.strip_prefix("Content-Length: ") { - length = Some(value.trim().parse::().unwrap()); - } - } - let mut content = vec![0; length.expect("missing Content-Length")]; - stdout.read_exact(&mut content).unwrap(); - let message = serde_json::from_slice(&content).unwrap(); - if sender.send(message).is_err() { - return; - } - } + let (notifications, messages) = mpsc::channel(); + let client = Arc::new(ClientState { + configuration: Mutex::new(configuration), + configuration_requests: AtomicUsize::new(0), + registrations: Mutex::new(Vec::new()), + notifications, + }); + let client_state = Arc::clone(&client); + let (mainloop, server) = async_lsp::MainLoop::new_client(move |_| { + let mut router = Router::new(client_state); + router + .request::(|state, parameters| { + assert_eq!(parameters.items.len(), 1); + assert_eq!(parameters.items[0].section.as_deref(), Some("iris.server")); + assert!(parameters.items[0].scope_uri.is_some()); + state.configuration_requests.fetch_add(1, Ordering::Relaxed); + let configuration = state.configuration.lock().unwrap().clone(); + async move { Ok(vec![configuration.unwrap_or(Value::Null)]) } + }) + .request::(|state, parameters| { + state.registrations.lock().unwrap().extend(parameters.registrations); + async { Ok(()) } + }) + .notification::(|state, parameters| { + state + .notifications + .send(json!({ + "method": "textDocument/publishDiagnostics", + "params": parameters + })) + .unwrap(); + ControlFlow::Continue(()) + }) + .notification::(|state, parameters| { + state + .notifications + .send(json!({"method": "window/showMessage", "params": parameters})) + .unwrap(); + ControlFlow::Continue(()) + }) + .event(|_, _: Stop| ControlFlow::Break(Ok(()))); + router }); + + let runtime = Runtime::new().unwrap(); + let command = workspace.command_builder(directory, &arguments); + let mut command = tokio::process::Command::from(command); + command + .stdin(Stdio::piped()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()) + .kill_on_drop(true); + let mut child = runtime.block_on(async { command.spawn().unwrap() }); + let stdout = child.stdout.take().unwrap().compat(); + let stdin = child.stdin.take().unwrap().compat_write(); + let mainloop = runtime.spawn(mainloop.run_buffered(stdout, stdin)); let mut server = LanguageServer { child, + runtime, + server, + mainloop: Some(mainloop), messages, notifications: vec![], - next_request: 1, - configuration, - configuration_requests: 0, - registrations: vec![], + client, }; - let result = server.request("initialize", json!({ - "processId": null, - "capabilities": capabilities, - "workspaceFolders": [{"uri": Url::from_directory_path(root).unwrap(), "name": "project"}] - })); - assert!(result["capabilities"].is_object(), "{result}"); - server.notify("initialized", json!({})); + let capabilities = serde_json::from_value::(capabilities).unwrap(); + let result = server.runtime.block_on(async { + timeout( + Duration::from_secs(10), + server.server.initialize(InitializeParams { + capabilities, + workspace_folders: Some(vec![WorkspaceFolder { + uri: Url::from_directory_path(root).unwrap(), + name: "project".to_owned(), + }]), + ..InitializeParams::default() + }), + ) + .await + .expect("timed out waiting for initialize response") + .unwrap() + }); + assert_ne!(result.capabilities, Default::default()); + server.server.initialized(InitializedParams {}).unwrap(); server } - fn send(&mut self, message: Value) { - let content = message.to_string(); - let stdin = self.child.stdin.as_mut().unwrap(); - write!(stdin, "Content-Length: {}\r\n\r\n{content}", content.len()).unwrap(); - stdin.flush().unwrap(); - } - fn notify(&mut self, method: &str, parameters: Value) { - self.send(json!({"jsonrpc": "2.0", "method": method, "params": parameters})); + match method { + "workspace/didChangeConfiguration" => self + .server + .did_change_configuration(serde_json::from_value(parameters).unwrap()) + .unwrap(), + "textDocument/didOpen" => { + self.server.did_open(serde_json::from_value(parameters).unwrap()).unwrap() + } + "textDocument/didChange" => { + self.server.did_change(serde_json::from_value(parameters).unwrap()).unwrap() + } + "textDocument/didSave" => { + self.server.did_save(serde_json::from_value(parameters).unwrap()).unwrap() + } + "textDocument/didClose" => { + self.server.did_close(serde_json::from_value(parameters).unwrap()).unwrap() + } + _ => panic!("unsupported test notification {method}"), + } } #[track_caller] fn request(&mut self, method: &str, parameters: Value) -> Value { + assert_eq!(method, "workspace/symbol"); + let parameters: WorkspaceSymbolParams = serde_json::from_value(parameters).unwrap(); for _ in 0..20 { - let request = self.next_request; - self.next_request += 1; - let deadline = Instant::now() + Duration::from_secs(10); - let waiting_for = format!("response to {method} request"); - self.send(json!({ - "jsonrpc": "2.0", - "id": request, - "method": method, - "params": parameters - })); - loop { - let message = self.receive_before(deadline, &waiting_for); - if message.get("method").is_some() { - self.handle_server_message(message); - continue; - } - if message.get("id") == Some(&json!(request)) { - if message["error"]["code"] == -32800 { - break; - } - assert!(message.get("error").is_none(), "{message}"); - return message["result"].clone(); + let result = self.runtime.block_on(async { + timeout( + Duration::from_secs(10), + self.server.request::(parameters.clone()), + ) + .await + .unwrap_or_else(|_| panic!("timed out waiting for response to {method} request")) + }); + match result { + Ok(result) => return serde_json::to_value(result).unwrap(), + Err(Error::Response(response)) if response.code == ErrorCode::REQUEST_CANCELLED => { } - panic!("unexpected response while waiting for {waiting_for}: {message}"); + Err(error) => panic!("{method} request failed: {error}"), } thread::sleep(Duration::from_millis(10)); } panic!("request {method} was repeatedly cancelled"); } - fn handle_server_message(&mut self, message: Value) { - let Some(request) = message.get("id").cloned() else { - self.notifications.push(message); - return; - }; - match message["method"].as_str().unwrap() { - "workspace/configuration" => { - let items = message["params"]["items"].as_array().unwrap(); - assert_eq!(items.len(), 1, "{message}"); - assert_eq!(items[0]["section"], "iris.server"); - assert!(items[0]["scopeUri"].is_string(), "{message}"); - self.configuration_requests += 1; - let configuration = self.configuration.clone().unwrap_or(Value::Null); - self.send(json!({"jsonrpc": "2.0", "id": request, "result": [configuration]})); - } - "client/registerCapability" => { - self.registrations.push(message["params"].clone()); - self.send(json!({"jsonrpc": "2.0", "id": request, "result": null})); - } - method => panic!("unexpected server request {method}: {message}"), - } - } - fn set_configuration(&mut self, configuration: Value) { - self.configuration = Some(configuration); + *self.client.configuration.lock().unwrap() = Some(configuration); self.notify("workspace/didChangeConfiguration", json!({"settings": null})); } @@ -196,11 +243,7 @@ impl LanguageServer { return self.notifications.remove(index); } let message = self.receive_before(deadline, &waiting_for); - if message.get("method").is_some() { - self.handle_server_message(message); - } else { - panic!("unexpected response while waiting for notification {method}: {message}") - } + self.notifications.push(message); } } @@ -239,11 +282,9 @@ impl LanguageServer { match self.messages.recv_timeout(Duration::from_millis(500)) { Ok(message) if message.get("method").is_some() => { assert_ne!(message["params"]["uri"], uri.as_str(), "{message}"); - self.handle_server_message(message); - } - Ok(message) => { - panic!("unexpected response while checking diagnostics are disabled: {message}") + self.notifications.push(message); } + Ok(message) => panic!("unexpected message while checking diagnostics: {message}"), Err(RecvTimeoutError::Timeout) => {} Err(error) => panic!("language server disconnected: {error}"), } @@ -251,20 +292,38 @@ impl LanguageServer { } fn shutdown(&mut self) { - assert_eq!(self.request("shutdown", Value::Null), Value::Null); - self.notify("exit", Value::Null); - assert_eq!( - self.messages.recv_timeout(Duration::from_secs(10)), - Err(RecvTimeoutError::Disconnected) - ); - assert!(self.child.wait().unwrap().success()); + self.runtime.block_on(async { + timeout(Duration::from_secs(10), self.server.shutdown(())) + .await + .expect("timed out waiting for shutdown response") + .unwrap(); + }); + self.server.exit(()).unwrap(); + self.server.emit(Stop).unwrap(); + let mainloop = self.mainloop.take().unwrap(); + self.runtime + .block_on(async { timeout(Duration::from_secs(10), mainloop).await }) + .expect("timed out stopping language client") + .unwrap() + .unwrap(); + let status = self + .runtime + .block_on(async { timeout(Duration::from_secs(10), self.child.wait()).await }) + .expect("timed out stopping language server") + .unwrap(); + assert!(status.success(), "language server exited with {status}"); } } impl Drop for LanguageServer { fn drop(&mut self) { - let _ = self.child.kill(); - let _ = self.child.wait(); + if let Some(mainloop) = self.mainloop.take() { + mainloop.abort(); + } + self.runtime.block_on(async { + let _ = self.child.kill().await; + let _ = self.child.wait().await; + }); } } @@ -442,7 +501,7 @@ fn workspace_configuration_applies_initial_and_runtime_snapshots() { server.notify("textDocument/didClose", json!({"textDocument": {"uri": runtime_uri}})); server.wait_for_symbol("unsavedRuntime", false); assert_diagnostic_triggers_for(&mut server, &root, "AfterUpdate.purs", true, true, false); - assert!(server.configuration_requests >= 2); + assert!(server.client.configuration_requests.load(Ordering::Relaxed) >= 2); server.shutdown(); } @@ -501,9 +560,15 @@ setTimeout(() => { message["params"]["message"].as_str().unwrap().contains("Failed to apply Iris settings") ); server.wait_for_symbol("stillLoaded", true); - assert!(server.registrations.iter().any(|parameters| { - parameters["registrations"][0]["method"] == "workspace/didChangeConfiguration" - })); + assert!( + server + .client + .registrations + .lock() + .unwrap() + .iter() + .any(|registration| registration.method == "workspace/didChangeConfiguration") + ); server.shutdown(); } @@ -521,6 +586,6 @@ fn clients_without_workspace_configuration_keep_startup_settings() { json!({"settings": {"sources": {"kind": "command", "program": "missing"}}}), ); server.wait_for_symbol("startupOnly", true); - assert_eq!(server.configuration_requests, 0); + assert_eq!(server.client.configuration_requests.load(Ordering::Relaxed), 0); server.shutdown(); } diff --git a/tests-e2e/tests/package_manager.rs b/tests-e2e/tests/package_manager.rs index 3c0246ec8..33b387005 100644 --- a/tests-e2e/tests/package_manager.rs +++ b/tests-e2e/tests/package_manager.rs @@ -2,17 +2,11 @@ mod add; #[path = "package_manager/build.rs"] mod build; -#[path = "package_manager/cli.rs"] -mod cli; -#[path = "package_manager/lsp.rs"] -mod lsp; #[path = "package_manager/new.rs"] mod new; #[path = "package_manager/run.rs"] mod run; -#[path = "package_manager/stylex.rs"] -mod stylex; -#[path = "package_manager/support.rs"] +#[path = "support.rs"] mod support; #[path = "package_manager/test.rs"] mod test; diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__add_requires_dependencies.snap b/tests-e2e/tests/snapshots/cli__add_requires_dependencies.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__add_requires_dependencies.snap rename to tests-e2e/tests/snapshots/cli__add_requires_dependencies.snap index 70e879bdb..ff54ce5d3 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__add_requires_dependencies.snap +++ b/tests-e2e/tests/snapshots/cli__add_requires_dependencies.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_package_requires_value.snap b/tests-e2e/tests/snapshots/cli__compile_package_requires_value.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_package_requires_value.snap rename to tests-e2e/tests/snapshots/cli__compile_package_requires_value.snap index 3747b46e6..6cec5da50 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_package_requires_value.snap +++ b/tests-e2e/tests/snapshots/cli__compile_package_requires_value.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_requires_input_or_package.snap b/tests-e2e/tests/snapshots/cli__compile_requires_input_or_package.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_requires_input_or_package.snap rename to tests-e2e/tests/snapshots/cli__compile_requires_input_or_package.snap index 800c5b6e5..fafca12af 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__compile_requires_input_or_package.snap +++ b/tests-e2e/tests/snapshots/cli__compile_requires_input_or_package.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_file.snap b/tests-e2e/tests/snapshots/cli__config_blank_source_program_file.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_file.snap rename to tests-e2e/tests/snapshots/cli__config_blank_source_program_file.snap index fa1ee202d..aeed5edcd 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_blank_source_program_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_inline.snap b/tests-e2e/tests/snapshots/cli__config_blank_source_program_inline.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_inline.snap rename to tests-e2e/tests/snapshots/cli__config_blank_source_program_inline.snap index 6f8394b41..0739092c0 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_blank_source_program_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_blank_source_program_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_conflicts_with_file.snap b/tests-e2e/tests/snapshots/cli__config_conflicts_with_file.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_conflicts_with_file.snap rename to tests-e2e/tests/snapshots/cli__config_conflicts_with_file.snap index 3c85bb8a9..3297046ce 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_conflicts_with_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_conflicts_with_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_file.snap b/tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_file.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_file.snap rename to tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_file.snap index 47ced1f32..43393880e 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_inline.snap b/tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_inline.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_inline.snap rename to tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_inline.snap index d61cf4468..a01731817 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_diagnostic_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_duplicate_diagnostic_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_file.snap b/tests-e2e/tests/snapshots/cli__config_duplicate_program_file.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_file.snap rename to tests-e2e/tests/snapshots/cli__config_duplicate_program_file.snap index 1e99c988d..7fc6e2242 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_duplicate_program_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_inline.snap b/tests-e2e/tests/snapshots/cli__config_duplicate_program_inline.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_inline.snap rename to tests-e2e/tests/snapshots/cli__config_duplicate_program_inline.snap index 15c53e119..b51452855 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_duplicate_program_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_duplicate_program_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_file.snap b/tests-e2e/tests/snapshots/cli__config_empty_json_file.snap similarity index 78% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_file.snap rename to tests-e2e/tests/snapshots/cli__config_empty_json_file.snap index fb2799bc0..79aaba2d9 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_empty_json_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_inline.snap b/tests-e2e/tests/snapshots/cli__config_empty_json_inline.snap similarity index 77% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_inline.snap rename to tests-e2e/tests/snapshots/cli__config_empty_json_inline.snap index 8c8973320..1f494a963 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_json_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_empty_json_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_file.snap b/tests-e2e/tests/snapshots/cli__config_empty_source_program_file.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_file.snap rename to tests-e2e/tests/snapshots/cli__config_empty_source_program_file.snap index fb7800a06..d359a522a 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_empty_source_program_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_inline.snap b/tests-e2e/tests/snapshots/cli__config_empty_source_program_inline.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_inline.snap rename to tests-e2e/tests/snapshots/cli__config_empty_source_program_inline.snap index b6119dbb6..1190c1c6d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_empty_source_program_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_empty_source_program_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_file.snap b/tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_file.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_file.snap rename to tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_file.snap index bf0a78253..fae7f5beb 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_inline.snap b/tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_inline.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_inline.snap rename to tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_inline.snap index f992e8465..bbd993760 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_escaped_diagnostic_key_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_escaped_diagnostic_key_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_conflicts_with_literal.snap b/tests-e2e/tests/snapshots/cli__config_file_conflicts_with_literal.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_conflicts_with_literal.snap rename to tests-e2e/tests/snapshots/cli__config_file_conflicts_with_literal.snap index 9fdbe57aa..b6cd32275 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_conflicts_with_literal.snap +++ b/tests-e2e/tests/snapshots/cli__config_file_conflicts_with_literal.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_invalid_utf8.snap b/tests-e2e/tests/snapshots/cli__config_file_invalid_utf8.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_invalid_utf8.snap rename to tests-e2e/tests/snapshots/cli__config_file_invalid_utf8.snap index 7b51cd071..72a9475cf 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_invalid_utf8.snap +++ b/tests-e2e/tests/snapshots/cli__config_file_invalid_utf8.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_missing.snap b/tests-e2e/tests/snapshots/cli__config_file_missing.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_missing.snap rename to tests-e2e/tests/snapshots/cli__config_file_missing.snap index 92bda5848..a03749fc9 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_missing.snap +++ b/tests-e2e/tests/snapshots/cli__config_file_missing.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_requires_value.snap b/tests-e2e/tests/snapshots/cli__config_file_requires_value.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_requires_value.snap rename to tests-e2e/tests/snapshots/cli__config_file_requires_value.snap index 8920af3c5..8ea044c16 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_file_requires_value.snap +++ b/tests-e2e/tests/snapshots/cli__config_file_requires_value.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_file.snap b/tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_file.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_file.snap rename to tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_file.snap index c2207a1e8..f705cc082 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_inline.snap b/tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_inline.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_inline.snap rename to tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_inline.snap index 669b77fc2..3255288af 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_invalid_source_arguments_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_invalid_source_arguments_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_file.snap b/tests-e2e/tests/snapshots/cli__config_malformed_json_file.snap similarity index 79% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_file.snap rename to tests-e2e/tests/snapshots/cli__config_malformed_json_file.snap index fe89c56db..0e47bb934 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_malformed_json_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_inline.snap b/tests-e2e/tests/snapshots/cli__config_malformed_json_inline.snap similarity index 78% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_inline.snap rename to tests-e2e/tests/snapshots/cli__config_malformed_json_inline.snap index 1d64808e7..011cd7279 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_malformed_json_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_malformed_json_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_file.snap b/tests-e2e/tests/snapshots/cli__config_missing_source_program_file.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_file.snap rename to tests-e2e/tests/snapshots/cli__config_missing_source_program_file.snap index 80e09f53e..37184b0ac 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_missing_source_program_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_inline.snap b/tests-e2e/tests/snapshots/cli__config_missing_source_program_inline.snap similarity index 82% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_inline.snap rename to tests-e2e/tests/snapshots/cli__config_missing_source_program_inline.snap index e7b7a6628..78a8aba75 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_missing_source_program_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_missing_source_program_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_file.snap b/tests-e2e/tests/snapshots/cli__config_multiline_eof_file.snap similarity index 81% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_file.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_eof_file.snap index 2975d73ae..34944613a 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_eof_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_inline.snap b/tests-e2e/tests/snapshots/cli__config_multiline_eof_inline.snap similarity index 80% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_inline.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_eof_inline.snap index bf1e5b9a5..e666441e2 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_eof_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_eof_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_file.snap b/tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_file.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_file.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_file.snap index 60a438ef4..87805ceea 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_inline.snap b/tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_inline.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_inline.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_inline.snap index 3bffb9834..261fe1ac8 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_invalid_arguments_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_invalid_arguments_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_file.snap b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_file.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_file.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_file.snap index 383bec4bb..f32e350ea 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_inline.snap b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_inline.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_inline.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_inline.snap index 7e62daec0..b006dc4ce 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_arguments_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_arguments_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_file.snap b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_file.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_file.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_file.snap index b176a0146..ebc37465c 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_inline.snap b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_inline.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_inline.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_inline.snap index 96178423c..bd16ec109 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_program_before_kind_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_program_before_kind_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_file.snap b/tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_file.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_file.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_file.snap index e0d1a2481..e0c75018e 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_inline.snap b/tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_inline.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_inline.snap rename to tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_inline.snap index c9edbfe6e..236738e8c 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_multiline_unicode_unknown_key_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_multiline_unicode_unknown_key_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_file.snap b/tests-e2e/tests/snapshots/cli__config_null_source_arguments_file.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_file.snap rename to tests-e2e/tests/snapshots/cli__config_null_source_arguments_file.snap index 03111cbc8..e080a5232 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_null_source_arguments_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_inline.snap b/tests-e2e/tests/snapshots/cli__config_null_source_arguments_inline.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_inline.snap rename to tests-e2e/tests/snapshots/cli__config_null_source_arguments_inline.snap index a2d4a4374..ca26a630e 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_null_source_arguments_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_null_source_arguments_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_requires_value.snap b/tests-e2e/tests/snapshots/cli__config_requires_value.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_requires_value.snap rename to tests-e2e/tests/snapshots/cli__config_requires_value.snap index 515652690..19ff0c746 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_requires_value.snap +++ b/tests-e2e/tests/snapshots/cli__config_requires_value.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_file.snap b/tests-e2e/tests/snapshots/cli__config_trailing_json_file.snap similarity index 79% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_file.snap rename to tests-e2e/tests/snapshots/cli__config_trailing_json_file.snap index 673bd1d3e..563c30f42 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_trailing_json_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_inline.snap b/tests-e2e/tests/snapshots/cli__config_trailing_json_inline.snap similarity index 78% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_inline.snap rename to tests-e2e/tests/snapshots/cli__config_trailing_json_inline.snap index 3d12d7215..025adf96a 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_trailing_json_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_trailing_json_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_file.snap b/tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_file.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_file.snap rename to tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_file.snap index ab6727a80..0b56bc4b3 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_inline.snap b/tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_inline.snap similarity index 82% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_inline.snap rename to tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_inline.snap index 86b629010..7ec77dd24 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unicode_syntax_error_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_unicode_syntax_error_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_file.snap b/tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_file.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_file.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_file.snap index 4831fc6f4..a630b2c8b 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_inline.snap b/tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_inline.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_inline.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_inline.snap index 618cb5a1b..60da50cc5 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_diagnostic_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_diagnostic_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_file.snap b/tests-e2e/tests/snapshots/cli__config_unknown_setting_file.snap similarity index 84% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_file.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_setting_file.snap index 888f10c76..30d40e63d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_setting_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_inline.snap b/tests-e2e/tests/snapshots/cli__config_unknown_setting_inline.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_inline.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_setting_inline.snap index 025d584cf..60c0bbd2b 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_setting_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_setting_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_file.snap b/tests-e2e/tests/snapshots/cli__config_unknown_source_kind_file.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_file.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_source_kind_file.snap index fc3e93f2d..749389713 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_source_kind_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_inline.snap b/tests-e2e/tests/snapshots/cli__config_unknown_source_kind_inline.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_inline.snap rename to tests-e2e/tests/snapshots/cli__config_unknown_source_kind_inline.snap index a36f2cdce..0e62f090d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_unknown_source_kind_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_unknown_source_kind_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_file.snap b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_file.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_file.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_file.snap index de89076b9..c426b2656 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_inline.snap b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_inline.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_inline.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_inline.snap index fc2282844..218809d4d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_object_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_object_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_file.snap b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_file.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_file.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_file.snap index 71a484e41..3bd61da1b 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_inline.snap b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_inline.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_inline.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_inline.snap index dc46d1d4a..e390499c6 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_diagnostic_type_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_diagnostic_type_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_file.snap b/tests-e2e/tests/snapshots/cli__config_wrong_top_level_file.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_file.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_top_level_file.snap index 9d0fef9f7..8ac275cee 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_file.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_top_level_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_inline.snap b/tests-e2e/tests/snapshots/cli__config_wrong_top_level_inline.snap similarity index 82% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_inline.snap rename to tests-e2e/tests/snapshots/cli__config_wrong_top_level_inline.snap index faefa1a0d..8c3e0d433 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__config_wrong_top_level_inline.snap +++ b/tests-e2e/tests/snapshots/cli__config_wrong_top_level_inline.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_package_requires_value.snap b/tests-e2e/tests/snapshots/cli__docs_package_requires_value.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_package_requires_value.snap rename to tests-e2e/tests/snapshots/cli__docs_package_requires_value.snap index a8e8aa127..c6ede9927 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_package_requires_value.snap +++ b/tests-e2e/tests/snapshots/cli__docs_package_requires_value.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_project_requires_value.snap b/tests-e2e/tests/snapshots/cli__docs_project_requires_value.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_project_requires_value.snap rename to tests-e2e/tests/snapshots/cli__docs_project_requires_value.snap index a01f53902..c9a44983e 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_project_requires_value.snap +++ b/tests-e2e/tests/snapshots/cli__docs_project_requires_value.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_requires_package_or_project.snap b/tests-e2e/tests/snapshots/cli__docs_requires_package_or_project.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_requires_package_or_project.snap rename to tests-e2e/tests/snapshots/cli__docs_requires_package_or_project.snap index 6eb2e2c0f..bd6a1957c 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__docs_requires_package_or_project.snap +++ b/tests-e2e/tests/snapshots/cli__docs_requires_package_or_project.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_build_scalar.snap b/tests-e2e/tests/snapshots/cli__duplicate_build_scalar.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_build_scalar.snap rename to tests-e2e/tests/snapshots/cli__duplicate_build_scalar.snap index 8ed467c71..3fd5c12a8 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_build_scalar.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_build_scalar.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_compile_scalar.snap b/tests-e2e/tests/snapshots/cli__duplicate_compile_scalar.snap similarity index 91% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_compile_scalar.snap rename to tests-e2e/tests/snapshots/cli__duplicate_compile_scalar.snap index 244ad3d05..05ebda624 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_compile_scalar.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_compile_scalar.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_config_file.snap b/tests-e2e/tests/snapshots/cli__duplicate_config_file.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_config_file.snap rename to tests-e2e/tests/snapshots/cli__duplicate_config_file.snap index 3fadd8071..899652f9d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_config_file.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_config_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_docs_scalar.snap b/tests-e2e/tests/snapshots/cli__duplicate_docs_scalar.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_docs_scalar.snap rename to tests-e2e/tests/snapshots/cli__duplicate_docs_scalar.snap index 76b5da0ea..5b37f3c77 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_docs_scalar.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_docs_scalar.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_lsp_scalar.snap b/tests-e2e/tests/snapshots/cli__duplicate_lsp_scalar.snap similarity index 89% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_lsp_scalar.snap rename to tests-e2e/tests/snapshots/cli__duplicate_lsp_scalar.snap index 9042cf439..66b452993 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_lsp_scalar.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_lsp_scalar.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_typescript_scalar.snap b/tests-e2e/tests/snapshots/cli__duplicate_typescript_scalar.snap similarity index 91% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_typescript_scalar.snap rename to tests-e2e/tests/snapshots/cli__duplicate_typescript_scalar.snap index 61446b966..e6424b555 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__duplicate_typescript_scalar.snap +++ b/tests-e2e/tests/snapshots/cli__duplicate_typescript_scalar.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_add.snap b/tests-e2e/tests/snapshots/cli__help_add.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_add.snap rename to tests-e2e/tests/snapshots/cli__help_add.snap index b9290e106..5f72d52ea 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_add.snap +++ b/tests-e2e/tests/snapshots/cli__help_add.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_build.snap b/tests-e2e/tests/snapshots/cli__help_build.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_build.snap rename to tests-e2e/tests/snapshots/cli__help_build.snap index 5c4ef676f..d10b21274 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_build.snap +++ b/tests-e2e/tests/snapshots/cli__help_build.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_compile.snap b/tests-e2e/tests/snapshots/cli__help_compile.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_compile.snap rename to tests-e2e/tests/snapshots/cli__help_compile.snap index e9b36334f..9f20930ec 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_compile.snap +++ b/tests-e2e/tests/snapshots/cli__help_compile.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs.snap b/tests-e2e/tests/snapshots/cli__help_docs.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs.snap rename to tests-e2e/tests/snapshots/cli__help_docs.snap index 5d3688f92..d2dd9cccf 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs.snap +++ b/tests-e2e/tests/snapshots/cli__help_docs.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs_typescript.snap b/tests-e2e/tests/snapshots/cli__help_docs_typescript.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs_typescript.snap rename to tests-e2e/tests/snapshots/cli__help_docs_typescript.snap index a21894bd2..51e7b4bba 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_docs_typescript.snap +++ b/tests-e2e/tests/snapshots/cli__help_docs_typescript.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp.snap b/tests-e2e/tests/snapshots/cli__help_lsp.snap similarity index 95% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp.snap rename to tests-e2e/tests/snapshots/cli__help_lsp.snap index 15dc45100..f2c419bae 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp.snap +++ b/tests-e2e/tests/snapshots/cli__help_lsp.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp_short.snap b/tests-e2e/tests/snapshots/cli__help_lsp_short.snap similarity index 94% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp_short.snap rename to tests-e2e/tests/snapshots/cli__help_lsp_short.snap index fbf1c1d4a..2e6800445 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_lsp_short.snap +++ b/tests-e2e/tests/snapshots/cli__help_lsp_short.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_new.snap b/tests-e2e/tests/snapshots/cli__help_new.snap similarity index 83% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_new.snap rename to tests-e2e/tests/snapshots/cli__help_new.snap index 66cdec052..c593c0429 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_new.snap +++ b/tests-e2e/tests/snapshots/cli__help_new.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_root.snap b/tests-e2e/tests/snapshots/cli__help_root.snap similarity index 95% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_root.snap rename to tests-e2e/tests/snapshots/cli__help_root.snap index 58dbf337e..a2ab3cac3 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_root.snap +++ b/tests-e2e/tests/snapshots/cli__help_root.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_run.snap b/tests-e2e/tests/snapshots/cli__help_run.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_run.snap rename to tests-e2e/tests/snapshots/cli__help_run.snap index a0d54a888..4cca69817 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_run.snap +++ b/tests-e2e/tests/snapshots/cli__help_run.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_test.snap b/tests-e2e/tests/snapshots/cli__help_test.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_test.snap rename to tests-e2e/tests/snapshots/cli__help_test.snap index 1d8423c64..a925ccbd6 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_test.snap +++ b/tests-e2e/tests/snapshots/cli__help_test.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_watch.snap b/tests-e2e/tests/snapshots/cli__help_watch.snap similarity index 95% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_watch.snap rename to tests-e2e/tests/snapshots/cli__help_watch.snap index de8047108..ba25b8371 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__help_watch.snap +++ b/tests-e2e/tests/snapshots/cli__help_watch.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice.snap b/tests-e2e/tests/snapshots/cli__invalid_choice.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice.snap rename to tests-e2e/tests/snapshots/cli__invalid_choice.snap index c2fbf0e63..3b9b14c98 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice.snap +++ b/tests-e2e/tests/snapshots/cli__invalid_choice.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_equals.snap b/tests-e2e/tests/snapshots/cli__invalid_choice_equals.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_equals.snap rename to tests-e2e/tests/snapshots/cli__invalid_choice_equals.snap index b67669e88..77894ea33 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_equals.snap +++ b/tests-e2e/tests/snapshots/cli__invalid_choice_equals.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_escaped.snap b/tests-e2e/tests/snapshots/cli__invalid_choice_escaped.snap similarity index 90% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_escaped.snap rename to tests-e2e/tests/snapshots/cli__invalid_choice_escaped.snap index 78abc5119..00cf9eea4 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__invalid_choice_escaped.snap +++ b/tests-e2e/tests/snapshots/cli__invalid_choice_escaped.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__log_file_requires_subcommand.snap b/tests-e2e/tests/snapshots/cli__log_file_requires_subcommand.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__log_file_requires_subcommand.snap rename to tests-e2e/tests/snapshots/cli__log_file_requires_subcommand.snap index 17d9176ef..402bc1c56 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__log_file_requires_subcommand.snap +++ b/tests-e2e/tests/snapshots/cli__log_file_requires_subcommand.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_change.snap b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_change.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_change.snap rename to tests-e2e/tests/snapshots/cli__removed_diagnostics_on_change.snap index f3793bb95..fcf969b65 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_change.snap +++ b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_change.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_open.snap b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_open.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_open.snap rename to tests-e2e/tests/snapshots/cli__removed_diagnostics_on_open.snap index d175fd788..259f73131 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_open.snap +++ b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_open.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_save.snap b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_save.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_save.snap rename to tests-e2e/tests/snapshots/cli__removed_diagnostics_on_save.snap index 7d361d300..c3c6e70f6 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_diagnostics_on_save.snap +++ b/tests-e2e/tests/snapshots/cli__removed_diagnostics_on_save.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_source_command.snap b/tests-e2e/tests/snapshots/cli__removed_source_command.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_source_command.snap rename to tests-e2e/tests/snapshots/cli__removed_source_command.snap index 97cd025a1..4a421c995 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__removed_source_command.snap +++ b/tests-e2e/tests/snapshots/cli__removed_source_command.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_checking_log.snap b/tests-e2e/tests/snapshots/cli__root_checking_log.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_checking_log.snap rename to tests-e2e/tests/snapshots/cli__root_checking_log.snap index 57c3eeea5..794ad7c31 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_checking_log.snap +++ b/tests-e2e/tests/snapshots/cli__root_checking_log.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config.snap b/tests-e2e/tests/snapshots/cli__root_config.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config.snap rename to tests-e2e/tests/snapshots/cli__root_config.snap index 62a49b30d..ecc621043 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config.snap +++ b/tests-e2e/tests/snapshots/cli__root_config.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config_file.snap b/tests-e2e/tests/snapshots/cli__root_config_file.snap similarity index 89% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config_file.snap rename to tests-e2e/tests/snapshots/cli__root_config_file.snap index 3406a880b..d6ada5a51 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_config_file.snap +++ b/tests-e2e/tests/snapshots/cli__root_config_file.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_lsp_log.snap b/tests-e2e/tests/snapshots/cli__root_lsp_log.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_lsp_log.snap rename to tests-e2e/tests/snapshots/cli__root_lsp_log.snap index 0bff73d3a..91a74aec0 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_lsp_log.snap +++ b/tests-e2e/tests/snapshots/cli__root_lsp_log.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_query_log.snap b/tests-e2e/tests/snapshots/cli__root_query_log.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_query_log.snap rename to tests-e2e/tests/snapshots/cli__root_query_log.snap index 75de1be1d..d391a4dce 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_query_log.snap +++ b/tests-e2e/tests/snapshots/cli__root_query_log.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_requires_subcommand.snap b/tests-e2e/tests/snapshots/cli__root_requires_subcommand.snap similarity index 96% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_requires_subcommand.snap rename to tests-e2e/tests/snapshots/cli__root_requires_subcommand.snap index befa204fe..ab71d0b44 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_requires_subcommand.snap +++ b/tests-e2e/tests/snapshots/cli__root_requires_subcommand.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio.snap b/tests-e2e/tests/snapshots/cli__root_stdio.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio.snap rename to tests-e2e/tests/snapshots/cli__root_stdio.snap index 843f8fa6e..eef210fc3 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio.snap +++ b/tests-e2e/tests/snapshots/cli__root_stdio.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio_before_lsp.snap b/tests-e2e/tests/snapshots/cli__root_stdio_before_lsp.snap similarity index 86% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio_before_lsp.snap rename to tests-e2e/tests/snapshots/cli__root_stdio_before_lsp.snap index b07468f5e..ace2c1b81 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__root_stdio_before_lsp.snap +++ b/tests-e2e/tests/snapshots/cli__root_stdio_before_lsp.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__run_requires_separator.snap b/tests-e2e/tests/snapshots/cli__run_requires_separator.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__run_requires_separator.snap rename to tests-e2e/tests/snapshots/cli__run_requires_separator.snap index ddadad95f..b9142b3bd 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__run_requires_separator.snap +++ b/tests-e2e/tests/snapshots/cli__run_requires_separator.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__test_requires_separator.snap b/tests-e2e/tests/snapshots/cli__test_requires_separator.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__test_requires_separator.snap rename to tests-e2e/tests/snapshots/cli__test_requires_separator.snap index a2b067096..65c15eca5 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__test_requires_separator.snap +++ b/tests-e2e/tests/snapshots/cli__test_requires_separator.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unicode_unknown_flag.snap b/tests-e2e/tests/snapshots/cli__unicode_unknown_flag.snap similarity index 85% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unicode_unknown_flag.snap rename to tests-e2e/tests/snapshots/cli__unicode_unknown_flag.snap index 8d318920c..f4dd449e7 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unicode_unknown_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unicode_unknown_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_build_flag.snap b/tests-e2e/tests/snapshots/cli__unknown_build_flag.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_build_flag.snap rename to tests-e2e/tests/snapshots/cli__unknown_build_flag.snap index 7664df6e5..f929228e5 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_build_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unknown_build_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_compile_flag.snap b/tests-e2e/tests/snapshots/cli__unknown_compile_flag.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_compile_flag.snap rename to tests-e2e/tests/snapshots/cli__unknown_compile_flag.snap index 006352729..2d2a4c1d9 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_compile_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unknown_compile_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_docs_flag.snap b/tests-e2e/tests/snapshots/cli__unknown_docs_flag.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_docs_flag.snap rename to tests-e2e/tests/snapshots/cli__unknown_docs_flag.snap index ffb1a1a7f..0cfc463c7 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_docs_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unknown_docs_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_root_flag.snap b/tests-e2e/tests/snapshots/cli__unknown_root_flag.snap similarity index 87% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_root_flag.snap rename to tests-e2e/tests/snapshots/cli__unknown_root_flag.snap index 3fb56b912..f623ed76d 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_root_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unknown_root_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_typescript_flag.snap b/tests-e2e/tests/snapshots/cli__unknown_typescript_flag.snap similarity index 88% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_typescript_flag.snap rename to tests-e2e/tests/snapshots/cli__unknown_typescript_flag.snap index 085420f3f..97bababdc 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__unknown_typescript_flag.snap +++ b/tests-e2e/tests/snapshots/cli__unknown_typescript_flag.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 2 --- stdout diff --git a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__version.snap b/tests-e2e/tests/snapshots/cli__version.snap similarity index 52% rename from tests-e2e/tests/package_manager/snapshots/package_manager__cli__version.snap rename to tests-e2e/tests/snapshots/cli__version.snap index 6d195747d..42a28ceea 100644 --- a/tests-e2e/tests/package_manager/snapshots/package_manager__cli__version.snap +++ b/tests-e2e/tests/snapshots/cli__version.snap @@ -1,5 +1,5 @@ --- -source: tests-e2e/tests/package_manager/cli.rs +source: tests-e2e/tests/cli.rs --- status: 0 --- stdout diff --git a/tests-e2e/tests/package_manager/stylex.rs b/tests-e2e/tests/stylex.rs similarity index 95% rename from tests-e2e/tests/package_manager/stylex.rs rename to tests-e2e/tests/stylex.rs index ef5d2524e..d65461569 100644 --- a/tests-e2e/tests/package_manager/stylex.rs +++ b/tests-e2e/tests/stylex.rs @@ -1,7 +1,10 @@ use std::path::Path; use std::process::Command; -use super::support::{TestWorkspace, assert_success}; +#[path = "support.rs"] +mod support; + +use support::{TestWorkspace, assert_success}; #[test] fn emits_javascript_consumable_by_stylex_babel() { diff --git a/tests-e2e/tests/package_manager/support.rs b/tests-e2e/tests/support.rs similarity index 97% rename from tests-e2e/tests/package_manager/support.rs rename to tests-e2e/tests/support.rs index acf0f4874..9856634b2 100644 --- a/tests-e2e/tests/package_manager/support.rs +++ b/tests-e2e/tests/support.rs @@ -1,3 +1,5 @@ +#![allow(dead_code)] + use std::fs; use std::path::{Path, PathBuf}; use std::process::{Child, Command, Output, Stdio}; @@ -64,7 +66,7 @@ impl TestWorkspace { .unwrap() } - fn command_builder(&self, directory: &str, arguments: &[&str]) -> Command { + pub fn command_builder(&self, directory: &str, arguments: &[&str]) -> Command { let current_directory = self.path().join(directory); fs::create_dir_all(¤t_directory).unwrap(); let mut command = Command::new(env!("CARGO_BIN_EXE_iris-e2e")); From f9c1c8e9b81959ad3e8effa24f09ab7438f863e0 Mon Sep 17 00:00:00 2001 From: Justin Garcia Date: Sat, 12 Sep 2026 05:19:25 +0000 Subject: [PATCH 2/2] Harden end-to-end LSP client lifecycle Amp-Thread-ID: https://ampcode.com/threads/T-01a093e4-a391-757a-99de-bfbb35991d61 Co-authored-by: Amp --- tests-e2e/tests/lsp.rs | 60 +++++++++++++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/tests-e2e/tests/lsp.rs b/tests-e2e/tests/lsp.rs index ea2e628c7..a2412a76d 100644 --- a/tests-e2e/tests/lsp.rs +++ b/tests-e2e/tests/lsp.rs @@ -8,7 +8,9 @@ use std::thread; use std::time::{Duration, Instant}; use async_lsp::router::Router; -use async_lsp::{Error, ErrorCode, LanguageServer as LanguageServerClient, ServerSocket}; +use async_lsp::{ + Error, ErrorCode, LanguageServer as LanguageServerClient, ResponseError, ServerSocket, +}; use lsp_types::notification::{PublishDiagnostics, ShowMessage}; use lsp_types::request::{RegisterCapability, WorkspaceConfiguration, WorkspaceSymbolRequest}; use lsp_types::{ @@ -16,7 +18,7 @@ use lsp_types::{ WorkspaceSymbolParams, }; use serde_json::{Value, json}; -use tokio::runtime::Runtime; +use tokio::runtime::{Builder, Runtime}; use tokio::task::JoinHandle; use tokio::time::timeout; use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt}; @@ -31,11 +33,10 @@ struct ClientState { configuration: Mutex>, configuration_requests: AtomicUsize, registrations: Mutex>, + unexpected_requests: Mutex>, notifications: mpsc::Sender, } -struct Stop; - struct LanguageServer { child: tokio::process::Child, runtime: Runtime, @@ -78,6 +79,7 @@ impl LanguageServer { configuration: Mutex::new(configuration), configuration_requests: AtomicUsize::new(0), registrations: Mutex::new(Vec::new()), + unexpected_requests: Mutex::new(Vec::new()), notifications, }); let client_state = Arc::clone(&client); @@ -113,11 +115,20 @@ impl LanguageServer { .unwrap(); ControlFlow::Continue(()) }) - .event(|_, _: Stop| ControlFlow::Break(Ok(()))); + .unhandled_request(|state, request| { + let method = request.method; + state.unexpected_requests.lock().unwrap().push(method.clone()); + async move { + Err(ResponseError::new( + ErrorCode::METHOD_NOT_FOUND, + format_args!("unexpected server request {method}"), + )) + } + }); router }); - let runtime = Runtime::new().unwrap(); + let runtime = Builder::new_multi_thread().worker_threads(1).enable_all().build().unwrap(); let command = workspace.command_builder(directory, &arguments); let mut command = tokio::process::Command::from(command); command @@ -279,14 +290,23 @@ impl LanguageServer { notification["method"] == "textDocument/publishDiagnostics" && notification["params"]["uri"] == uri.as_str() })); - match self.messages.recv_timeout(Duration::from_millis(500)) { - Ok(message) if message.get("method").is_some() => { - assert_ne!(message["params"]["uri"], uri.as_str(), "{message}"); - self.notifications.push(message); + let deadline = Instant::now() + Duration::from_millis(500); + loop { + let Some(remaining) = deadline.checked_duration_since(Instant::now()) else { + break; + }; + match self.messages.recv_timeout(remaining) { + Ok(message) => { + assert!( + message["method"] != "textDocument/publishDiagnostics" + || message["params"]["uri"] != uri.as_str(), + "{message}" + ); + self.notifications.push(message); + } + Err(RecvTimeoutError::Timeout) => break, + Err(error) => panic!("language server disconnected: {error}"), } - Ok(message) => panic!("unexpected message while checking diagnostics: {message}"), - Err(RecvTimeoutError::Timeout) => {} - Err(error) => panic!("language server disconnected: {error}"), } } } @@ -299,18 +319,26 @@ impl LanguageServer { .unwrap(); }); self.server.exit(()).unwrap(); - self.server.emit(Stop).unwrap(); let mainloop = self.mainloop.take().unwrap(); - self.runtime + let mainloop = self + .runtime .block_on(async { timeout(Duration::from_secs(10), mainloop).await }) .expect("timed out stopping language client") - .unwrap() .unwrap(); + match mainloop { + Ok(()) | Err(Error::Eof) => {} + Err(error) => panic!("language client failed while stopping: {error}"), + } let status = self .runtime .block_on(async { timeout(Duration::from_secs(10), self.child.wait()).await }) .expect("timed out stopping language server") .unwrap(); + let unexpected_requests = self.client.unexpected_requests.lock().unwrap(); + assert!( + unexpected_requests.is_empty(), + "unexpected server requests: {unexpected_requests:?}" + ); assert!(status.success(), "language server exited with {status}"); } }