mirror of https://github.com/astral-sh/uv
uv/tests: add regression test for `echo pendulum | uv pip compile -` (#2693)
I stumbled across this when writing tests for
`--emit-marker-expressions`. Namely, I observed that in CI, the `tzdata`
dependency of `pendulum` wasn't included in the `requirements.txt`
output on Windows.
@konstin [suggested] that this was a bug, so I've created a test for it.
In particular, it looks like [`tzdata` is an unconditional dependency of
`pendulum`][tzdata-unconditional].
[suggested]:
https://github.com/astral-sh/uv/pull/2651#discussion_r1539722464
[tzdata-unconditional]:
e646afbd165e58327bc5c698731107/pendulum-3.0.0-cp310-none-win_amd64.whl/pendulum-3.0.0.dist-info/METADATA#line.12
This commit is contained in:
parent
dc957d7322
commit
d41ab0ef4d
|
|
@ -417,6 +417,10 @@ pub fn run_and_format<'a>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is a heuristic filter meant to try and make *most* of our tests
|
||||||
|
// pass whether it's on Windows or Unix. In particular, there are some very
|
||||||
|
// common Windows-only dependencies that, when removed from a resolution,
|
||||||
|
// cause the set of dependencies to be the same across platforms.
|
||||||
if cfg!(windows) && windows_filters {
|
if cfg!(windows) && windows_filters {
|
||||||
// The optional leading +/- is for install logs, the optional next line is for lock files
|
// The optional leading +/- is for install logs, the optional next line is for lock files
|
||||||
let windows_only_deps = [
|
let windows_only_deps = [
|
||||||
|
|
|
||||||
|
|
@ -6294,3 +6294,37 @@ fn emit_marker_expression_pypy() -> Result<()> {
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn pendulum_no_tzdata_on_windows() -> Result<()> {
|
||||||
|
let context = TestContext::new("3.12");
|
||||||
|
let requirements_in = context.temp_dir.child("requirements.in");
|
||||||
|
requirements_in.write_str("pendulum")?;
|
||||||
|
|
||||||
|
uv_snapshot!(
|
||||||
|
context.filters(),
|
||||||
|
windows_filters=false,
|
||||||
|
context.compile().arg("requirements.in"), @r###"
|
||||||
|
success: true
|
||||||
|
exit_code: 0
|
||||||
|
----- stdout -----
|
||||||
|
# This file was autogenerated by uv via the following command:
|
||||||
|
# uv pip compile --cache-dir [CACHE_DIR] --exclude-newer 2024-03-25T00:00:00Z requirements.in
|
||||||
|
pendulum==3.0.0
|
||||||
|
python-dateutil==2.9.0.post0
|
||||||
|
# via
|
||||||
|
# pendulum
|
||||||
|
# time-machine
|
||||||
|
six==1.16.0
|
||||||
|
# via python-dateutil
|
||||||
|
time-machine==2.14.1
|
||||||
|
# via pendulum
|
||||||
|
tzdata==2024.1
|
||||||
|
# via pendulum
|
||||||
|
|
||||||
|
----- stderr -----
|
||||||
|
Resolved 5 packages in [TIME]
|
||||||
|
"###);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue