diff --git a/.zpkg.toml b/.zpkg.toml index bcf0a0aa..7502e0bb 100644 --- a/.zpkg.toml +++ b/.zpkg.toml @@ -37,7 +37,7 @@ dir = ".vendor/.zed" [publish] include_readme = true tag_format = "v{version}" -smoke_test = "test -f \"$ZED_PKG_TEST_TARGET/.auth-shared.toml\" && test ! -e \"$ZED_PKG_TEST_TARGET/.shared-auth.toml\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed-gitops\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed-git-install\" && \"$ZED_PKG_TEST_TARGET/target/release/zed\" --version && \"$ZED_PKG_TEST_TARGET/target/release/zed\" validate --manifest \"$ZED_PKG_TEST_TARGET/.zpkg.toml\" --lock \"$ZED_PKG_TEST_TARGET/.zpkg.lock\" --json >/dev/null && \"$ZED_PKG_TEST_TARGET/target/release/zed\" gitops validate --help && \"$ZED_PKG_TEST_TARGET/target/release/zed-git-install\" --help >/dev/null" +smoke_test = "test -f \"$ZED_PKG_TEST_TARGET/.auth-shared.toml\" && test ! -e \"$ZED_PKG_TEST_TARGET/.shared-auth.toml\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed-gitops\" && test -x \"$ZED_PKG_TEST_TARGET/target/release/zed-git-install\" && \"$ZED_PKG_TEST_TARGET/target/release/zed\" --version && \"$ZED_PKG_TEST_TARGET/target/release/zed\" validate --manifest \"$ZED_PKG_TEST_TARGET/.zpkg.toml\" --json >/dev/null && \"$ZED_PKG_TEST_TARGET/target/release/zed\" gitops validate --help && \"$ZED_PKG_TEST_TARGET/target/release/zed-git-install\" --help >/dev/null" exclude = [ ".env", ".env.*", diff --git a/tests/toml_contract.rs b/tests/toml_contract.rs index 04b406f4..d1f34cc2 100644 --- a/tests/toml_contract.rs +++ b/tests/toml_contract.rs @@ -9,8 +9,7 @@ fn root() -> PathBuf { fn parse_toml(path: &Path) -> toml::Value { let text = fs::read_to_string(path) .unwrap_or_else(|error| panic!("failed to read {}: {error}", path.display())); - toml::from_str(&text) - .unwrap_or_else(|error| panic!("invalid TOML {}: {error}", path.display())) + toml::from_str(&text).unwrap_or_else(|error| panic!("invalid TOML {}: {error}", path.display())) } fn string_at<'a>(value: &'a toml::Value, path: &[&str]) -> &'a str { @@ -58,18 +57,16 @@ fn zed_package_version_matches_the_native_release_version() { } #[test] -fn zed_package_declares_the_canonical_flags_runtime_and_contract() { +fn zed_cli_flags_remain_a_separate_canonical_contract() { let root = root(); let zpkg = parse_toml(&root.join(".zpkg.toml")); let cargo = parse_toml(&root.join("Cargo.toml")); let flags = parse_toml(&root.join(".cli-flags.toml")); - assert_eq!( - string_at(&zpkg, &["cli", "flags_contract"]), - ".cli-flags.toml" + assert!( + zpkg.get("cli").is_none(), + ".zpkg.toml must stay within the zed-interfaces Manifest authority; CLI flags belong in .cli-flags.toml" ); - assert_eq!(string_at(&zpkg, &["cli", "flags_runtime"]), "flags-2-env"); - assert_eq!(string_at(&zpkg, &["cli", "primary_bin"]), "zed"); let flags2env = cargo .get("dependencies") @@ -133,7 +130,10 @@ fn global_flags_do_not_reuse_environment_keys_or_public_aliases() { if alias == canonical_alias { continue; } - assert!(aliases.insert(alias.to_owned()), "duplicate global flag alias: {alias}"); + assert!( + aliases.insert(alias.to_owned()), + "duplicate global flag alias: {alias}" + ); } } }