Skip to content

Commit aa5a18d

Browse files
committed
Add test case for redundant enumeration of no versions
1 parent 4bce1a3 commit aa5a18d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

crates/uv/tests/it/pip_compile.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13108,6 +13108,39 @@ fn universal_constrained_environment() -> Result<()> {
1310813108
Ok(())
1310913109
}
1311013110

13111+
/// Resolve a package that has no versions that satisfy the current Python version.
13112+
#[test]
13113+
fn compile_enumerate_no_versions() -> Result<()> {
13114+
let context = TestContext::new("3.10");
13115+
let requirements_in = context.temp_dir.child("requirements.in");
13116+
requirements_in.write_str("rooster-blue")?;
13117+
13118+
uv_snapshot!(context.filters(), context.pip_compile()
13119+
.arg("requirements.in")
13120+
.env(EnvVars::UV_EXCLUDE_NEWER, "2024-12-01"),
13121+
@r###"
13122+
success: false
13123+
exit_code: 1
13124+
----- stdout -----
13125+
13126+
----- stderr -----
13127+
× No solution found when resolving dependencies:
13128+
╰─▶ Because the current Python version (3.10.[X]) does not satisfy Python>=3.11,<4.0 and all versions of rooster-blue depend on Python>=3.11,<4.0, we can conclude that all versions of rooster-blue cannot be used.
13129+
And because only the following versions of rooster-blue are available:
13130+
rooster-blue==0.0.1
13131+
rooster-blue==0.0.2
13132+
rooster-blue==0.0.3
13133+
rooster-blue==0.0.4
13134+
rooster-blue==0.0.5
13135+
rooster-blue==0.0.6
13136+
rooster-blue==0.0.7
13137+
rooster-blue==0.0.8
13138+
and you require rooster-blue, we can conclude that your requirements are unsatisfiable.
13139+
"###);
13140+
13141+
Ok(())
13142+
}
13143+
1311113144
/// Resolve a version of Flask that ships a `requires.txt` file in an `egg-info` directory, but
1311213145
/// otherwise doesn't include static metadata.
1311313146
#[test]

0 commit comments

Comments
 (0)