From f46a79098329b571e94070b4783aeeba5d0c0aa8 Mon Sep 17 00:00:00 2001 From: sumanth-manchala Date: Tue, 26 Dec 2023 19:13:49 +0530 Subject: [PATCH 1/3] Add int test for airflow resolution --- Cargo.toml | 2 +- tests/solver.rs | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 96df522..d5a72b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,4 +23,4 @@ serde = { version = "1.0", features = ["derive"], optional = true } insta = "1.31.0" indexmap = "2.0.0" proptest = "1.2.0" -tracing-test = "0.2.4" +tracing-test = { version = "0.2.4", features = ["no-env-filter"] } diff --git a/tests/solver.rs b/tests/solver.rs index 01a0384..9936d92 100644 --- a/tests/solver.rs +++ b/tests/solver.rs @@ -456,6 +456,38 @@ fn test_resolve_with_nonexisting() { assert_eq!(solvable.inner().0, 3); } +// More on this: https://github.com/prefix-dev/rip/issues/75 +#[test] +#[traced_test] +fn test_resolve_with_nested_deps() { + let provider = BundleBoxProvider::from_packages(&[ + ("apache-airflow", 3, vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"]), + ("apache-airflow", 2, vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"]), + ("apache-airflow", 1, vec![]), + ("opentelemetry-api", 3, vec!["opentelemetry-sdk"]), + ("opentelemetry-api", 2, vec![]), + ("opentelemetry-api", 1, vec![]), + ("opentelemetry-exporter-otlp", 2, vec!["opentelemetry-grpc"]), + ("opentelemetry-exporter-otlp", 1, vec!["opentelemetry-grpc"]), + ("opentelemetry-grpc", 2, vec!["opentelemetry-api 2..4", "opentelemetry-sdk"]), + ("opentelemetry-grpc", 1, vec!["opentelemetry-api 1"]), + + ]); + let requirements = provider.requirements(&["apache-airflow"]); + let mut solver = Solver::new(provider); + let solved = solver.solve(requirements).unwrap(); + + assert_eq!(solved.len(), 1); + + let solvable = solver.pool().resolve_solvable(solved[0]); + + assert_eq!( + solver.pool().resolve_package_name(solvable.name_id()), + "apache-airflow" + ); + assert_eq!(solvable.inner().0, 1); +} + /// Locking a specific package version in this case a lower version namely `3` should result /// in the higher package not being considered #[test] From 41c5bbb7afa6f23a45d63c00f6cd8948c033ed4a Mon Sep 17 00:00:00 2001 From: sumanth-manchala Date: Wed, 10 Jan 2024 12:55:45 +0530 Subject: [PATCH 2/3] Assert panic --- tests/solver.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/solver.rs b/tests/solver.rs index 9936d92..efcc0bc 100644 --- a/tests/solver.rs +++ b/tests/solver.rs @@ -456,9 +456,9 @@ fn test_resolve_with_nonexisting() { assert_eq!(solvable.inner().0, 3); } -// More on this: https://github.com/prefix-dev/rip/issues/75 #[test] #[traced_test] +#[should_panic] // TODO: Should be fixed, https://github.com/prefix-dev/rip/issues/75 fn test_resolve_with_nested_deps() { let provider = BundleBoxProvider::from_packages(&[ ("apache-airflow", 3, vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"]), @@ -467,9 +467,7 @@ fn test_resolve_with_nested_deps() { ("opentelemetry-api", 3, vec!["opentelemetry-sdk"]), ("opentelemetry-api", 2, vec![]), ("opentelemetry-api", 1, vec![]), - ("opentelemetry-exporter-otlp", 2, vec!["opentelemetry-grpc"]), ("opentelemetry-exporter-otlp", 1, vec!["opentelemetry-grpc"]), - ("opentelemetry-grpc", 2, vec!["opentelemetry-api 2..4", "opentelemetry-sdk"]), ("opentelemetry-grpc", 1, vec!["opentelemetry-api 1"]), ]); From 046ad81ebf1102c0bb24a49ab2d47ee8eececc4b Mon Sep 17 00:00:00 2001 From: Bas Zalmstra Date: Wed, 10 Jan 2024 20:23:24 +0100 Subject: [PATCH 3/3] fix: formatting --- tests/solver.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/solver.rs b/tests/solver.rs index efcc0bc..b44a317 100644 --- a/tests/solver.rs +++ b/tests/solver.rs @@ -461,15 +461,22 @@ fn test_resolve_with_nonexisting() { #[should_panic] // TODO: Should be fixed, https://github.com/prefix-dev/rip/issues/75 fn test_resolve_with_nested_deps() { let provider = BundleBoxProvider::from_packages(&[ - ("apache-airflow", 3, vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"]), - ("apache-airflow", 2, vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"]), + ( + "apache-airflow", + 3, + vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"], + ), + ( + "apache-airflow", + 2, + vec!["opentelemetry-api 2..4", "opentelemetry-exporter-otlp"], + ), ("apache-airflow", 1, vec![]), ("opentelemetry-api", 3, vec!["opentelemetry-sdk"]), ("opentelemetry-api", 2, vec![]), ("opentelemetry-api", 1, vec![]), ("opentelemetry-exporter-otlp", 1, vec!["opentelemetry-grpc"]), ("opentelemetry-grpc", 1, vec!["opentelemetry-api 1"]), - ]); let requirements = provider.requirements(&["apache-airflow"]); let mut solver = Solver::new(provider);