mirror of
https://github.com/rust-lang/cargo
synced 2024-10-14 19:52:45 +00:00
Removed extraneous logic that generates [root] in cargo.lock
This commit is contained in:
parent
873a081019
commit
850fbdc0b5
|
@ -40,30 +40,14 @@ pub fn write_pkg_lockfile(ws: &Workspace, resolve: &Resolve) -> CargoResult<()>
|
|||
Ok(s)
|
||||
});
|
||||
|
||||
// Forward compatibility: if `orig` uses rootless format
|
||||
// from the future, do the same.
|
||||
let use_root_key = if let Ok(ref orig) = orig {
|
||||
!orig.starts_with("[[package]]")
|
||||
} else {
|
||||
true
|
||||
};
|
||||
|
||||
let toml = toml::Value::try_from(WorkspaceResolve {
|
||||
ws: ws,
|
||||
resolve: resolve,
|
||||
use_root_key: use_root_key,
|
||||
use_root_key: false,
|
||||
}).unwrap();
|
||||
|
||||
let mut out = String::new();
|
||||
|
||||
// Note that we do not use e.toml.to_string() as we want to control the
|
||||
// exact format the toml is in to ensure pretty diffs between updates to the
|
||||
// lockfile.
|
||||
if let Some(root) = toml.get("root") {
|
||||
out.push_str("[root]\n");
|
||||
emit_package(root.as_table().unwrap(), &mut out);
|
||||
}
|
||||
|
||||
let deps = toml["package"].as_array().unwrap();
|
||||
for dep in deps.iter() {
|
||||
let dep = dep.as_table().unwrap();
|
||||
|
|
|
@ -256,7 +256,7 @@ fn duplicate_packages_in_cargo_lock() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -300,7 +300,7 @@ fn bad_source_in_cargo_lock() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -334,7 +334,7 @@ fn bad_dependency_in_lockfile() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "foo"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
|
|
@ -145,7 +145,7 @@ fn preserve_line_endings_issue_2076() {
|
|||
|
||||
let lock0 = p.read_lockfile();
|
||||
|
||||
assert!(lock0.starts_with("[root]\n"));
|
||||
assert!(lock0.starts_with("[[package]]\n"));
|
||||
|
||||
let lock1 = lock0.replace("\n", "\r\n");
|
||||
{
|
||||
|
@ -157,7 +157,7 @@ fn preserve_line_endings_issue_2076() {
|
|||
|
||||
let lock2 = p.read_lockfile();
|
||||
|
||||
assert!(lock2.starts_with("[root]\r\n"));
|
||||
assert!(lock2.starts_with("[[package]]\r\n"));
|
||||
assert_eq!(lock1, lock2);
|
||||
}
|
||||
|
||||
|
|
|
@ -971,7 +971,7 @@ fn stale_cached_version() {
|
|||
let rev = repo.revparse_single("HEAD").unwrap().id();
|
||||
|
||||
File::create(&foo.root().join("Cargo.lock")).unwrap().write_all(format!(r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "foo"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
|
|
|
@ -829,7 +829,7 @@ fn git_with_lockfile() {
|
|||
"#)
|
||||
.file("bar/src/lib.rs", "fn main() {}")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "foo"
|
||||
version = "0.1.0"
|
||||
dependencies = [ "bar 0.1.0" ]
|
||||
|
|
|
@ -10,6 +10,23 @@ use hamcrest::assert_that;
|
|||
fn oldest_lockfile_still_works() {
|
||||
Package::new("foo", "0.1.0").publish();
|
||||
|
||||
let expected_lock_file =
|
||||
r#"[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foo"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[metadata]
|
||||
"checksum foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "[..]"
|
||||
"#;
|
||||
|
||||
let lockfile = r#"
|
||||
[root]
|
||||
name = "bar"
|
||||
|
@ -42,7 +59,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
execs().with_status(0));
|
||||
|
||||
let lock = p.read_lockfile();
|
||||
assert!(lock.starts_with(lockfile.trim()));
|
||||
for (l, r) in expected_lock_file.lines().zip(lock.lines()) {
|
||||
assert!(lines_match(l, r), "Lines differ:\n{}\n\n{}", l, r);
|
||||
}
|
||||
|
||||
assert_eq!(lock.lines().count(), expected_lock_file.lines().count());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -61,7 +82,7 @@ fn totally_wild_checksums_works() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -85,7 +106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
|
||||
let lock = p.read_lockfile();
|
||||
assert!(lock.starts_with(r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -117,7 +138,7 @@ fn wrong_checksum_is_an_error() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -170,7 +191,7 @@ fn unlisted_checksum_is_bad_if_we_calculate() {
|
|||
"#)
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -230,7 +251,7 @@ fn listed_checksum_bad_if_we_cannot_compute() {
|
|||
"#, git.url()))
|
||||
.file("src/lib.rs", "")
|
||||
.file("Cargo.lock", &format!(r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "bar"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
@ -287,7 +308,7 @@ fn current_lockfile_format() {
|
|||
let actual = p.read_lockfile();
|
||||
|
||||
let expected = "\
|
||||
[root]
|
||||
[[package]]
|
||||
name = \"bar\"
|
||||
version = \"0.0.1\"
|
||||
dependencies = [
|
||||
|
|
|
@ -802,7 +802,7 @@ fn override_an_override() {
|
|||
"serde:0.8.0" = { path = "serde" }
|
||||
"#)
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "local"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
|
|
|
@ -961,7 +961,7 @@ fn lockfile_can_specify_nonexistant_members() {
|
|||
"#)
|
||||
.file("a/src/main.rs", "fn main() {}")
|
||||
.file("Cargo.lock", r#"
|
||||
[root]
|
||||
[[package]]
|
||||
name = "a"
|
||||
version = "0.1.0"
|
||||
|
||||
|
|
Loading…
Reference in a new issue