mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00
uv-resolver: add some tests for other source types
This adds some coverage for source types that aren't used as much in other tests. For example, a direct URL source with a sub-directory.
This commit is contained in:
parent
870660d8bd
commit
22ce8fdf4b
5 changed files with 284 additions and 0 deletions
|
@ -2372,6 +2372,62 @@ name = "anyio"
|
|||
version = "4.3.0"
|
||||
source = { path = "file:///foo/bar" }
|
||||
wheels = [{ url = "file:///foo/bar/anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8" }]
|
||||
"#;
|
||||
let result: Result<Lock, _> = toml::from_str(data);
|
||||
insta::assert_debug_snapshot!(result);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_direct_no_subdir() {
|
||||
let data = r#"
|
||||
version = 1
|
||||
|
||||
[[distribution]]
|
||||
name = "anyio"
|
||||
version = "4.3.0"
|
||||
source = { url = "https://burntsushi.net" }
|
||||
"#;
|
||||
let result: Result<Lock, _> = toml::from_str(data);
|
||||
insta::assert_debug_snapshot!(result);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_direct_has_subdir() {
|
||||
let data = r#"
|
||||
version = 1
|
||||
|
||||
[[distribution]]
|
||||
name = "anyio"
|
||||
version = "4.3.0"
|
||||
source = { url = "https://burntsushi.net", subdirectory = "wat/foo/bar" }
|
||||
"#;
|
||||
let result: Result<Lock, _> = toml::from_str(data);
|
||||
insta::assert_debug_snapshot!(result);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_directory() {
|
||||
let data = r#"
|
||||
version = 1
|
||||
|
||||
[[distribution]]
|
||||
name = "anyio"
|
||||
version = "4.3.0"
|
||||
source = { directory = "path/to/dir" }
|
||||
"#;
|
||||
let result: Result<Lock, _> = toml::from_str(data);
|
||||
insta::assert_debug_snapshot!(result);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn source_editable() {
|
||||
let data = r#"
|
||||
version = 1
|
||||
|
||||
[[distribution]]
|
||||
name = "anyio"
|
||||
version = "4.3.0"
|
||||
source = { editable = "path/to/dir" }
|
||||
"#;
|
||||
let result: Result<Lock, _> = toml::from_str(data);
|
||||
insta::assert_debug_snapshot!(result);
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
source: crates/uv-resolver/src/lock.rs
|
||||
expression: result
|
||||
---
|
||||
Ok(
|
||||
Lock {
|
||||
version: 1,
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Direct(
|
||||
Url {
|
||||
scheme: "https",
|
||||
cannot_be_a_base: false,
|
||||
username: "",
|
||||
password: None,
|
||||
host: Some(
|
||||
Domain(
|
||||
"burntsushi.net",
|
||||
),
|
||||
),
|
||||
port: None,
|
||||
path: "/",
|
||||
query: None,
|
||||
fragment: None,
|
||||
},
|
||||
DirectSource {
|
||||
subdirectory: Some(
|
||||
"wat/foo/bar",
|
||||
),
|
||||
},
|
||||
),
|
||||
},
|
||||
sdist: None,
|
||||
wheels: [],
|
||||
dependencies: [],
|
||||
optional_dependencies: {},
|
||||
dev_dependencies: {},
|
||||
},
|
||||
],
|
||||
requires_python: None,
|
||||
by_id: {
|
||||
DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Direct(
|
||||
Url {
|
||||
scheme: "https",
|
||||
cannot_be_a_base: false,
|
||||
username: "",
|
||||
password: None,
|
||||
host: Some(
|
||||
Domain(
|
||||
"burntsushi.net",
|
||||
),
|
||||
),
|
||||
port: None,
|
||||
path: "/",
|
||||
query: None,
|
||||
fragment: None,
|
||||
},
|
||||
DirectSource {
|
||||
subdirectory: Some(
|
||||
"wat/foo/bar",
|
||||
),
|
||||
},
|
||||
),
|
||||
}: 0,
|
||||
},
|
||||
},
|
||||
)
|
|
@ -0,0 +1,73 @@
|
|||
---
|
||||
source: crates/uv-resolver/src/lock.rs
|
||||
expression: result
|
||||
---
|
||||
Ok(
|
||||
Lock {
|
||||
version: 1,
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Direct(
|
||||
Url {
|
||||
scheme: "https",
|
||||
cannot_be_a_base: false,
|
||||
username: "",
|
||||
password: None,
|
||||
host: Some(
|
||||
Domain(
|
||||
"burntsushi.net",
|
||||
),
|
||||
),
|
||||
port: None,
|
||||
path: "/",
|
||||
query: None,
|
||||
fragment: None,
|
||||
},
|
||||
DirectSource {
|
||||
subdirectory: None,
|
||||
},
|
||||
),
|
||||
},
|
||||
sdist: None,
|
||||
wheels: [],
|
||||
dependencies: [],
|
||||
optional_dependencies: {},
|
||||
dev_dependencies: {},
|
||||
},
|
||||
],
|
||||
requires_python: None,
|
||||
by_id: {
|
||||
DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Direct(
|
||||
Url {
|
||||
scheme: "https",
|
||||
cannot_be_a_base: false,
|
||||
username: "",
|
||||
password: None,
|
||||
host: Some(
|
||||
Domain(
|
||||
"burntsushi.net",
|
||||
),
|
||||
),
|
||||
port: None,
|
||||
path: "/",
|
||||
query: None,
|
||||
fragment: None,
|
||||
},
|
||||
DirectSource {
|
||||
subdirectory: None,
|
||||
},
|
||||
),
|
||||
}: 0,
|
||||
},
|
||||
},
|
||||
)
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
source: crates/uv-resolver/src/lock.rs
|
||||
expression: result
|
||||
---
|
||||
Ok(
|
||||
Lock {
|
||||
version: 1,
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Directory(
|
||||
"path/to/dir",
|
||||
),
|
||||
},
|
||||
sdist: None,
|
||||
wheels: [],
|
||||
dependencies: [],
|
||||
optional_dependencies: {},
|
||||
dev_dependencies: {},
|
||||
},
|
||||
],
|
||||
requires_python: None,
|
||||
by_id: {
|
||||
DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Directory(
|
||||
"path/to/dir",
|
||||
),
|
||||
}: 0,
|
||||
},
|
||||
},
|
||||
)
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
source: crates/uv-resolver/src/lock.rs
|
||||
expression: result
|
||||
---
|
||||
Ok(
|
||||
Lock {
|
||||
version: 1,
|
||||
distributions: [
|
||||
Distribution {
|
||||
id: DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Editable(
|
||||
"path/to/dir",
|
||||
),
|
||||
},
|
||||
sdist: None,
|
||||
wheels: [],
|
||||
dependencies: [],
|
||||
optional_dependencies: {},
|
||||
dev_dependencies: {},
|
||||
},
|
||||
],
|
||||
requires_python: None,
|
||||
by_id: {
|
||||
DistributionId {
|
||||
name: PackageName(
|
||||
"anyio",
|
||||
),
|
||||
version: "4.3.0",
|
||||
source: Editable(
|
||||
"path/to/dir",
|
||||
),
|
||||
}: 0,
|
||||
},
|
||||
},
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue