diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/mozart-core/src/package.rs | 17 | ||||
| -rw-r--r-- | crates/mozart-registry/src/inline_package.rs | 171 | ||||
| -rw-r--r-- | crates/mozart-registry/src/lib.rs | 1 | ||||
| -rw-r--r-- | crates/mozart-registry/src/lockfile.rs | 20 | ||||
| -rw-r--r-- | crates/mozart-registry/src/resolver.rs | 26 | ||||
| -rw-r--r-- | crates/mozart-registry/src/vcs_bridge.rs | 10 | ||||
| -rw-r--r-- | crates/mozart/src/commands/init.rs | 9 | ||||
| -rw-r--r-- | crates/mozart/src/commands/install.rs | 26 | ||||
| -rw-r--r-- | crates/mozart/tests/installer.rs | 480 |
9 files changed, 355 insertions, 405 deletions
diff --git a/crates/mozart-core/src/package.rs b/crates/mozart-core/src/package.rs index a45a480..02ec935 100644 --- a/crates/mozart-core/src/package.rs +++ b/crates/mozart-core/src/package.rs @@ -529,7 +529,19 @@ pub struct RawAutoload { pub struct RawRepository { #[serde(rename = "type")] pub repo_type: String, - pub url: String, + + /// Required for VCS / composer / artifact / path types; absent for inline + /// `package` repositories. Modeled as Option to mirror Composer's + /// per-type schema (Composer enforces presence in `RepositoryFactory`, + /// not at the JSON-parse step). + #[serde(default, skip_serializing_if = "Option::is_none")] + pub url: Option<String>, + + /// Inline package definition(s) for `type: package` repositories. Either + /// a single object or an array of objects, mirroring + /// `Composer\Repository\PackageRepository`'s schema. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub package: Option<serde_json::Value>, } /// Default root-package name when `composer.json` omits the `name` field. @@ -635,7 +647,8 @@ mod tests { .insert("phpunit/phpunit".to_string(), "^10.0".to_string()); raw.repositories = vec![RawRepository { repo_type: "vcs".to_string(), - url: "https://github.com/acme/repo".to_string(), + url: Some("https://github.com/acme/repo".to_string()), + package: None, }]; let mut psr4 = BTreeMap::new(); diff --git a/crates/mozart-registry/src/inline_package.rs b/crates/mozart-registry/src/inline_package.rs new file mode 100644 index 0000000..e10cd2b --- /dev/null +++ b/crates/mozart-registry/src/inline_package.rs @@ -0,0 +1,171 @@ +//! Support for inline `type: package` repositories. +//! +//! `composer.json` may embed full package metadata under +//! `repositories[].package`, mirroring `Composer\Repository\PackageRepository`. +//! These packages need no network fetch — they go straight into the resolver +//! pool and into the generated lockfile entry verbatim. + +use crate::packagist::PackagistVersion; +use mozart_core::package::RawRepository; + +/// One package extracted from a `type: package` repository. +pub struct InlinePackage { + pub name: String, + pub version: PackagistVersion, +} + +/// Collect every package definition from `type: package` repositories. +/// +/// Each repository's `package` field may be a single object or an array of +/// objects. Entries that fail to parse (missing `name`/`version`, etc.) are +/// silently skipped so the rest of the repositories list still applies — +/// matching Composer's lenient PackageRepository constructor. +pub fn collect_inline_packages(repositories: &[RawRepository]) -> Vec<InlinePackage> { + let mut packages = Vec::new(); + for repo in repositories { + if repo.repo_type != "package" { + continue; + } + let Some(value) = &repo.package else { + continue; + }; + + match value { + serde_json::Value::Array(arr) => { + for entry in arr { + if let Some(pkg) = parse_inline_package(entry) { + packages.push(pkg); + } + } + } + serde_json::Value::Object(_) => { + if let Some(pkg) = parse_inline_package(value) { + packages.push(pkg); + } + } + _ => {} + } + } + packages +} + +fn parse_inline_package(value: &serde_json::Value) -> Option<InlinePackage> { + let obj = value.as_object()?; + let name = obj.get("name")?.as_str()?.to_string(); + let version_str = obj.get("version")?.as_str()?.to_string(); + + // PackagistVersion requires `version_normalized`. If the inline definition + // omits it (the common case), compute it the same way Packagist does: + // run the version through Mozart's normalizer. + let mut value_for_parse = value.clone(); + if let serde_json::Value::Object(ref mut map) = value_for_parse + && !map.contains_key("version_normalized") + { + let normalized = mozart_semver::Version::parse(&version_str) + .map(|v| v.to_string()) + .unwrap_or_else(|_| version_str.clone()); + map.insert( + "version_normalized".to_string(), + serde_json::Value::String(normalized), + ); + } + + let version: PackagistVersion = serde_json::from_value(value_for_parse).ok()?; + Some(InlinePackage { name, version }) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn pkg_repo(value: serde_json::Value) -> RawRepository { + RawRepository { + repo_type: "package".to_string(), + url: None, + package: Some(value), + } + } + + #[test] + fn collects_single_inline_package_object() { + let repos = vec![pkg_repo(serde_json::json!({ + "name": "a/a", + "version": "1.0.0" + }))]; + let pkgs = collect_inline_packages(&repos); + assert_eq!(pkgs.len(), 1); + assert_eq!(pkgs[0].name, "a/a"); + assert_eq!(pkgs[0].version.version, "1.0.0"); + assert_eq!(pkgs[0].version.version_normalized, "1.0.0.0"); + } + + #[test] + fn collects_inline_package_array() { + let repos = vec![pkg_repo(serde_json::json!([ + {"name": "a/a", "version": "1.0.0"}, + {"name": "b/b", "version": "2.0.0"} + ]))]; + let pkgs = collect_inline_packages(&repos); + assert_eq!(pkgs.len(), 2); + assert_eq!(pkgs[0].name, "a/a"); + assert_eq!(pkgs[1].name, "b/b"); + } + + #[test] + fn ignores_non_package_repos() { + let repos = vec![RawRepository { + repo_type: "vcs".to_string(), + url: Some("https://example.com/foo.git".to_string()), + package: None, + }]; + assert!(collect_inline_packages(&repos).is_empty()); + } + + #[test] + fn skips_entries_missing_name_or_version() { + let repos = vec![pkg_repo(serde_json::json!([ + {"name": "a/a", "version": "1.0.0"}, + {"name": "missing/version"}, + {"version": "2.0.0"}, + {"name": "b/b", "version": "2.0.0"} + ]))]; + let pkgs = collect_inline_packages(&repos); + assert_eq!(pkgs.len(), 2); + assert_eq!(pkgs[0].name, "a/a"); + assert_eq!(pkgs[1].name, "b/b"); + } + + #[test] + fn preserves_explicit_version_normalized() { + let repos = vec![pkg_repo(serde_json::json!({ + "name": "a/a", + "version": "1.0", + "version_normalized": "1.0.0.0-explicit" + }))]; + let pkgs = collect_inline_packages(&repos); + assert_eq!(pkgs[0].version.version_normalized, "1.0.0.0-explicit"); + } + + #[test] + fn parses_full_metadata_fields() { + let repos = vec![pkg_repo(serde_json::json!({ + "name": "a/a", + "version": "1.0.0", + "type": "library", + "require": {"b/b": "^2.0"}, + "replace": {"old/x": "1.0"}, + "provide": {"some/iface": "1.0"}, + "conflict": {"bad/pkg": "*"}, + "dist": {"type": "zip", "url": "https://e.com/a.zip"} + }))]; + let pkgs = collect_inline_packages(&repos); + assert_eq!(pkgs.len(), 1); + let v = &pkgs[0].version; + assert_eq!(v.package_type.as_deref(), Some("library")); + assert_eq!(v.require.get("b/b").map(String::as_str), Some("^2.0")); + assert_eq!(v.replace.get("old/x").map(String::as_str), Some("1.0")); + assert_eq!(v.provide.get("some/iface").map(String::as_str), Some("1.0")); + assert_eq!(v.conflict.get("bad/pkg").map(String::as_str), Some("*")); + assert!(v.dist.is_some()); + } +} diff --git a/crates/mozart-registry/src/lib.rs b/crates/mozart-registry/src/lib.rs index 4c26c1e..a4afacd 100644 --- a/crates/mozart-registry/src/lib.rs +++ b/crates/mozart-registry/src/lib.rs @@ -1,5 +1,6 @@ pub mod cache; pub mod downloader; +pub mod inline_package; pub mod installed; pub mod lockfile; pub mod packagist; diff --git a/crates/mozart-registry/src/lockfile.rs b/crates/mozart-registry/src/lockfile.rs index 331f58e..a99c921 100644 --- a/crates/mozart-registry/src/lockfile.rs +++ b/crates/mozart-registry/src/lockfile.rs @@ -354,6 +354,19 @@ pub struct LockFileGenerationRequest { pub repo_cache: Cache, } +impl LockFileGenerationRequest { + /// Look up an inline `type: package` definition for `name` (if any). + /// Returns the matching `PackagistVersion` so callers can short-circuit + /// the Packagist fetch for resolved packages that came from a `type: + /// package` repository. + fn inline_lookup(&self, name: &str, version_normalized: &str) -> Option<PackagistVersion> { + crate::inline_package::collect_inline_packages(&self.composer_json.repositories) + .into_iter() + .find(|ipkg| ipkg.name == name && ipkg.version.version_normalized == version_normalized) + .map(|ipkg| ipkg.version) + } +} + /// Convert a `PackagistSource` to a `LockedSource`. fn packagist_source_to_locked(ps: &PackagistSource) -> LockedSource { LockedSource { @@ -504,6 +517,13 @@ pub async fn generate_lock_file(request: &LockFileGenerationRequest) -> anyhow:: // 1. Fetch full metadata for all resolved packages let mut package_metadata: HashMap<String, PackagistVersion> = HashMap::new(); for pkg in &request.resolved_packages { + // Inline `type: package` repositories carry full metadata in + // composer.json — use it directly instead of hitting Packagist. + if let Some(inline) = request.inline_lookup(&pkg.name, &pkg.version_normalized) { + package_metadata.insert(pkg.name.clone(), inline); + continue; + } + let versions = packagist::fetch_package_versions(&pkg.name, &request.repo_cache).await?; // Find the exact version matching pkg.version_normalized let matching = versions diff --git a/crates/mozart-registry/src/resolver.rs b/crates/mozart-registry/src/resolver.rs index e3cc1f6..7aab6b2 100644 --- a/crates/mozart-registry/src/resolver.rs +++ b/crates/mozart-registry/src/resolver.rs @@ -463,14 +463,32 @@ pub async fn resolve(request: &ResolveRequest) -> Result<Vec<ResolvedPackage>, R } } + // Collect inline `type: package` repositories. These don't require any + // network fetch; they go straight into the pool and are also tracked by + // name so the Packagist seed/transitive loops below skip them. + let inline_packages = crate::inline_package::collect_inline_packages(&request.repositories); + let mut inline_package_names: HashSet<String> = HashSet::new(); + for ipkg in &inline_packages { + inline_package_names.insert(ipkg.name.clone()); + let inputs = packagist_to_pool_inputs( + &ipkg.name, + &ipkg.version, + request.minimum_stability, + &request.stability_flags, + ); + for input in inputs { + builder.add_package(input); + } + } + // Seed the builder with packages for root requirements for name in root_requires.keys() { if PackageName(name.clone()).is_platform() { continue; // platform packages already added } - // Skip packages already provided by VCS repositories - if vcs_package_names.contains(name) { + // Skip packages already provided by VCS or inline-package repositories + if vcs_package_names.contains(name) || inline_package_names.contains(name) { continue; } @@ -500,8 +518,8 @@ pub async fn resolve(request: &ResolveRequest) -> Result<Vec<ResolvedPackage>, R continue; } - // Skip packages already provided by VCS repositories - if vcs_package_names.contains(&name) { + // Skip packages already provided by VCS or inline-package repositories + if vcs_package_names.contains(&name) || inline_package_names.contains(&name) { continue; } diff --git a/crates/mozart-registry/src/vcs_bridge.rs b/crates/mozart-registry/src/vcs_bridge.rs index 78aaaa5..be61845 100644 --- a/crates/mozart-registry/src/vcs_bridge.rs +++ b/crates/mozart-registry/src/vcs_bridge.rs @@ -32,14 +32,20 @@ pub async fn scan_vcs_repositories(repositories: &[RawRepository]) -> Vec<VcsPac other => Some(other), }; - let vcs_repo = VcsRepository::new(repo.url.clone(), forced_type, config.clone()); + // VCS repositories require `url`; skip silently if missing (Composer + // would reject this earlier in RepositoryFactory). + let Some(url) = repo.url.clone() else { + continue; + }; + + let vcs_repo = VcsRepository::new(url.clone(), forced_type, config.clone()); match vcs_repo.scan().await { Ok(versions) => { all_versions.extend(versions); } Err(e) => { - eprintln!("Warning: Failed to scan VCS repository {}: {}", repo.url, e,); + eprintln!("Warning: Failed to scan VCS repository {url}: {e}"); } } } diff --git a/crates/mozart/src/commands/init.rs b/crates/mozart/src/commands/init.rs index 25600f7..49176ab 100644 --- a/crates/mozart/src/commands/init.rs +++ b/crates/mozart/src/commands/init.rs @@ -700,12 +700,17 @@ fn parse_repositories(repos: &[String]) -> anyhow::Result<Vec<RawRepository>> { .as_str() .ok_or_else(|| anyhow::anyhow!("Repository JSON must contain a 'url' field"))? .to_string(); - result.push(RawRepository { repo_type, url }); + result.push(RawRepository { + repo_type, + url: Some(url), + package: None, + }); } else { // Plain URL result.push(RawRepository { repo_type: "vcs".to_string(), - url: repo.clone(), + url: Some(repo.clone()), + package: None, }); } } diff --git a/crates/mozart/src/commands/install.rs b/crates/mozart/src/commands/install.rs index a10dd69..1cc4e6f 100644 --- a/crates/mozart/src/commands/install.rs +++ b/crates/mozart/src/commands/install.rs @@ -608,18 +608,22 @@ pub async fn install_from_lock( continue; } + // A package with neither dist nor source has no install action. + // This covers Composer's `type: metapackage` (modeled explicitly + // as "no installer") and inline `type: package` definitions used + // in test fixtures that intentionally omit download metadata. + // Mozart records the operation and the installed.json entry but + // performs no filesystem work, mirroring Composer's + // MetapackageInstaller. + if pkg.dist.is_none() && pkg.source.is_none() { + continue; + } + let dist = pkg.dist.as_ref().ok_or_else(|| { - if pkg.source.is_some() { - anyhow::anyhow!( - "Package {} has no dist information. Use --prefer-source to install from VCS.", - pkg.name, - ) - } else { - anyhow::anyhow!( - "Package {} has no dist or source information", - pkg.name, - ) - } + anyhow::anyhow!( + "Package {} has no dist information. Use --prefer-source to install from VCS.", + pkg.name, + ) })?; let mut progress = make_progress(!config.no_progress, &pkg.name, &pkg.version); diff --git a/crates/mozart/tests/installer.rs b/crates/mozart/tests/installer.rs index 7af07b5..fc13392 100644 --- a/crates/mozart/tests/installer.rs +++ b/crates/mozart/tests/installer.rs @@ -66,10 +66,7 @@ macro_rules! installer_fixture { }; } -installer_fixture!( - abandoned_listed, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(abandoned_listed); installer_fixture!( alias_in_complex_constraints, ignore = "mozart binary cannot yet run this fixture" @@ -78,10 +75,7 @@ installer_fixture!( alias_in_lock, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - alias_in_lock2, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(alias_in_lock2); installer_fixture!( alias_on_unloadable_package, ignore = "mozart binary cannot yet run this fixture" @@ -98,14 +92,8 @@ installer_fixture!( alias_with_reference, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - aliased_priority, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - aliased_priority_conflicting, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(aliased_priority); +installer_fixture!(aliased_priority_conflicting); installer_fixture!( aliases_with_require_dev, ignore = "mozart binary cannot yet run this fixture" @@ -122,18 +110,9 @@ installer_fixture!( circular_dependency2, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - circular_dependency_errors, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - conflict_against_provided_by_dep_package_works, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - conflict_against_provided_package_works, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(circular_dependency_errors); +installer_fixture!(conflict_against_provided_by_dep_package_works); +installer_fixture!(conflict_against_provided_package_works); installer_fixture!( conflict_against_replaced_by_dep_package_problem, ignore = "mozart binary cannot yet run this fixture" @@ -142,22 +121,10 @@ installer_fixture!( conflict_against_replaced_package_problem, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - conflict_between_dependents, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - conflict_between_root_and_dependent, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - conflict_downgrade, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - conflict_downgrade_nested, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(conflict_between_dependents); +installer_fixture!(conflict_between_root_and_dependent); +installer_fixture!(conflict_downgrade); +installer_fixture!(conflict_downgrade_nested); installer_fixture!( conflict_on_root_with_alias_prevents_update_if_not_required, ignore = "mozart binary cannot yet run this fixture" @@ -166,10 +133,7 @@ installer_fixture!( conflict_with_alias_in_lock_does_prevents_install, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - conflict_with_alias_prevents_update, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(conflict_with_alias_prevents_update); installer_fixture!( conflict_with_alias_prevents_update_if_not_required, ignore = "mozart binary cannot yet run this fixture" @@ -178,38 +142,20 @@ installer_fixture!( conflict_with_all_dependencies_option_dont_recommend_to_use_it, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - deduplicate_solver_problems, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - disjunctive_multi_constraints, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(deduplicate_solver_problems); +installer_fixture!(disjunctive_multi_constraints); installer_fixture!( full_update_minimal_changes, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - github_issues_4319, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - github_issues_4795, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - github_issues_4795_2, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(github_issues_4319); +installer_fixture!(github_issues_4795); +installer_fixture!(github_issues_4795_2); installer_fixture!( github_issues_7051, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - github_issues_8902, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(github_issues_8902); installer_fixture!( github_issues_8903, ignore = "mozart binary cannot yet run this fixture" @@ -226,51 +172,24 @@ installer_fixture!( hint_main_rename, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - install_aliased_alias, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_aliased_alias); installer_fixture!( install_branch_alias_composer_repo, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - install_dev, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_dev_using_dist, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_dev); +installer_fixture!(install_dev_using_dist); installer_fixture!(install_forces_reinstall_if_abandon_changes); -installer_fixture!( - install_from_incomplete_lock, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_from_incomplete_lock); installer_fixture!( install_from_incomplete_lock_with_ignore, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - install_from_lock_removes_package, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_funding_notice, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_funding_notice_env, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_funding_notice_not_displayed_env, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_ignore_platform_package_requirement_list, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_from_lock_removes_package); +installer_fixture!(install_funding_notice); +installer_fixture!(install_funding_notice_env); +installer_fixture!(install_funding_notice_not_displayed_env); +installer_fixture!(install_ignore_platform_package_requirement_list); installer_fixture!( install_ignore_platform_package_requirement_wildcard, ignore = "mozart binary cannot yet run this fixture" @@ -287,31 +206,16 @@ installer_fixture!( install_overridden_platform_packages, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - install_package_and_its_provider_skips_original, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_prefers_repos_over_package_versions, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_reference, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_package_and_its_provider_skips_original); +installer_fixture!(install_prefers_repos_over_package_versions); +installer_fixture!(install_reference); installer_fixture!( install_security_advisory_matching_dependency, ignore = "mozart binary cannot yet run this fixture" ); installer_fixture!(install_self_from_root); -installer_fixture!( - install_simple, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - install_without_lock, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(install_simple); +installer_fixture!(install_without_lock); installer_fixture!( load_replaced_package_if_replacer_dropped, ignore = "mozart binary cannot yet run this fixture" @@ -326,22 +230,13 @@ installer_fixture!( partial_update_downgrades_non_allow_listed_unstable, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - partial_update_forces_dev_reference_from_lock_for_non_updated_packages, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(partial_update_forces_dev_reference_from_lock_for_non_updated_packages); installer_fixture!( partial_update_from_lock, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - partial_update_from_lock_with_root_alias, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - partial_update_installs_from_lock_even_missing, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(partial_update_from_lock_with_root_alias); +installer_fixture!(partial_update_installs_from_lock_even_missing); installer_fixture!( partial_update_keeps_older_dep_if_still_required, ignore = "mozart binary cannot yet run this fixture" @@ -374,42 +269,18 @@ installer_fixture!( partial_update_with_deps_warns_root, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - partial_update_with_symlinked_path_repos, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - partial_update_without_lock, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - platform_ext_solver_problems, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - plugins_are_installed_first, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - prefer_lowest_branches, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - problems_reduce_versions, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - provider_can_coexist_with_other_version_of_provided, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(partial_update_with_symlinked_path_repos); +installer_fixture!(partial_update_without_lock); +installer_fixture!(platform_ext_solver_problems); +installer_fixture!(plugins_are_installed_first); +installer_fixture!(prefer_lowest_branches); +installer_fixture!(problems_reduce_versions); +installer_fixture!(provider_can_coexist_with_other_version_of_provided); installer_fixture!( provider_conflicts, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - provider_conflicts2, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(provider_conflicts2); installer_fixture!( provider_conflicts3, ignore = "mozart binary cannot yet run this fixture" @@ -418,22 +289,13 @@ installer_fixture!( provider_dev_require_can_satisfy_require, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - provider_gets_picked_together_with_other_version_of_provided, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(provider_gets_picked_together_with_other_version_of_provided); installer_fixture!( provider_gets_picked_together_with_other_version_of_provided_conflict, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - provider_gets_picked_together_with_other_version_of_provided_indirect, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - provider_packages_can_be_installed_if_selected, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(provider_gets_picked_together_with_other_version_of_provided_indirect); +installer_fixture!(provider_packages_can_be_installed_if_selected); installer_fixture!( provider_packages_can_be_installed_together_with_provided_if_both_installable, ignore = "mozart binary cannot yet run this fixture" @@ -442,10 +304,7 @@ installer_fixture!( provider_packages_can_not_be_installed_unless_selected, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - provider_satisfies_its_own_requirement, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(provider_satisfies_its_own_requirement); installer_fixture!( remove_deletes_unused_deps, ignore = "mozart binary cannot yet run this fixture" @@ -458,18 +317,9 @@ installer_fixture!( replace_alias, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - replace_priorities, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - replace_range_require_single_version, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - replace_root_require, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(replace_priorities); +installer_fixture!(replace_range_require_single_version); +installer_fixture!(replace_root_require); installer_fixture!( replaced_packages_should_not_be_installed, ignore = "mozart binary cannot yet run this fixture" @@ -478,22 +328,13 @@ installer_fixture!( replaced_packages_should_not_be_installed_when_installing_from_lock, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - replacer_satisfies_its_own_requirement, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(replacer_satisfies_its_own_requirement); installer_fixture!( repositories_priorities, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - repositories_priorities2, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - repositories_priorities3, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(repositories_priorities2); +installer_fixture!(repositories_priorities3); installer_fixture!( repositories_priorities4, ignore = "mozart binary cannot yet run this fixture" @@ -506,54 +347,24 @@ installer_fixture!( root_alias_change_with_circular_dep, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - root_alias_gets_loaded_for_locked_pkgs, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - root_requirements_do_not_affect_locked_versions, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(root_alias_gets_loaded_for_locked_pkgs); +installer_fixture!(root_requirements_do_not_affect_locked_versions); installer_fixture!( solver_problem_with_hash_in_branch, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - solver_problems, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - solver_problems_with_disabled_platform, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - suggest_installed, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - suggest_prod, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - suggest_prod_nolock, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - suggest_replaced, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - suggest_uninstalled, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(solver_problems); +installer_fixture!(solver_problems_with_disabled_platform); +installer_fixture!(suggest_installed); +installer_fixture!(suggest_prod); +installer_fixture!(suggest_prod_nolock); +installer_fixture!(suggest_replaced); +installer_fixture!(suggest_uninstalled); installer_fixture!( unbounded_conflict_does_not_match_default_branch_with_branch_alias, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - unbounded_conflict_does_not_match_default_branch_with_numeric_branch, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(unbounded_conflict_does_not_match_default_branch_with_numeric_branch); installer_fixture!( unbounded_conflict_matches_default_branch, ignore = "mozart binary cannot yet run this fixture" @@ -562,26 +373,11 @@ installer_fixture!( update_abandoned_package_required_but_blocked_via_audit_config, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_alias, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_alias_lock, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_alias_lock2, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_all, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_all_dry_run, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_alias); +installer_fixture!(update_alias_lock); +installer_fixture!(update_alias_lock2); +installer_fixture!(update_all); +installer_fixture!(update_all_dry_run); installer_fixture!( update_allow_list, ignore = "mozart binary cannot yet run this fixture" @@ -594,10 +390,7 @@ installer_fixture!( update_allow_list_minimal_changes, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_allow_list_patterns, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_allow_list_patterns); installer_fixture!( update_allow_list_patterns_with_all_dependencies, ignore = "mozart binary cannot yet run this fixture" @@ -618,10 +411,7 @@ installer_fixture!( update_allow_list_reads_lock, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_allow_list_removes_unused, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_allow_list_removes_unused); installer_fixture!( update_allow_list_require_new_replace, ignore = "mozart binary cannot yet run this fixture" @@ -662,30 +452,15 @@ installer_fixture!( update_changes_url, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_dev_ignores_providers, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_dev_packages_updates_repo_url, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_dev_to_new_ref_picks_up_changes, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_dev_ignores_providers); +installer_fixture!(update_dev_packages_updates_repo_url); +installer_fixture!(update_dev_to_new_ref_picks_up_changes); installer_fixture!( update_downgrades_unstable_packages, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_ignore_platform_package_requirement_list, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_ignore_platform_package_requirement_list_upper_bounds, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_ignore_platform_package_requirement_list); +installer_fixture!(update_ignore_platform_package_requirement_list_upper_bounds); installer_fixture!( update_ignore_platform_package_requirement_wildcard, ignore = "mozart binary cannot yet run this fixture" @@ -694,78 +469,27 @@ installer_fixture!( update_ignore_platform_package_requirements, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_installed_alias, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_installed_alias_dry_run, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_installed_reference, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_installed_reference_dry_run, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_mirrors_changes_url, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_mirrors_fails_with_new_req, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_no_dev_still_resolves_dev, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_no_install, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_package_present_in_lock_but_not_at_all_in_remote, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_package_present_in_lock_but_not_in_remote, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_package_present_in_lock_but_not_in_remote_due_to_min_stability, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_installed_alias); +installer_fixture!(update_installed_alias_dry_run); +installer_fixture!(update_installed_reference); +installer_fixture!(update_installed_reference_dry_run); +installer_fixture!(update_mirrors_changes_url); +installer_fixture!(update_mirrors_fails_with_new_req); +installer_fixture!(update_no_dev_still_resolves_dev); +installer_fixture!(update_no_install); +installer_fixture!(update_package_present_in_lock_but_not_at_all_in_remote); +installer_fixture!(update_package_present_in_lock_but_not_in_remote); +installer_fixture!(update_package_present_in_lock_but_not_in_remote_due_to_min_stability); installer_fixture!( update_package_present_in_lower_repo_prio_but_not_main_due_to_min_stability, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_picks_up_change_of_vcs_type, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_prefer_lowest_stable, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_reference, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_reference_picks_latest, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_removes_unused_locked_dep, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_requiring_decision_reverts_and_learning_positive_literals, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_picks_up_change_of_vcs_type); +installer_fixture!(update_prefer_lowest_stable); +installer_fixture!(update_reference); +installer_fixture!(update_reference_picks_latest); +installer_fixture!(update_removes_unused_locked_dep); +installer_fixture!(update_requiring_decision_reverts_and_learning_positive_literals); installer_fixture!( update_security_advisory_matching_direct_dependency, ignore = "mozart binary cannot yet run this fixture" @@ -774,22 +498,10 @@ installer_fixture!( update_security_advisory_matching_indirect_dependency, ignore = "mozart binary cannot yet run this fixture" ); -installer_fixture!( - update_syncs_outdated, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_syncs_outdated); installer_fixture!(update_to_empty_from_blank); installer_fixture!(update_to_empty_from_locked); -installer_fixture!( - update_with_all_dependencies, - ignore = "mozart binary cannot yet run this fixture" -); -installer_fixture!( - update_without_lock, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(update_with_all_dependencies); +installer_fixture!(update_without_lock); installer_fixture!(updating_dev_from_lock_removes_old_deps); -installer_fixture!( - updating_dev_updates_url_and_reference, - ignore = "mozart binary cannot yet run this fixture" -); +installer_fixture!(updating_dev_updates_url_and_reference); |
