diff options
Diffstat (limited to 'community/rust/cargo-tests-fix-package-include-exclude.patch')
-rw-r--r-- | community/rust/cargo-tests-fix-package-include-exclude.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/community/rust/cargo-tests-fix-package-include-exclude.patch b/community/rust/cargo-tests-fix-package-include-exclude.patch new file mode 100644 index 0000000000..4cdf21314b --- /dev/null +++ b/community/rust/cargo-tests-fix-package-include-exclude.patch @@ -0,0 +1,92 @@ +From dd998a096b0e04bea7d84a8e975d84d820b725f0 Mon Sep 17 00:00:00 2001 +From: Ximin Luo <infinity0@pwned.gg> +Date: Sun, 4 Nov 2018 08:59:20 -0800 +Subject: [PATCH] Fix package::include/exclude tests so they work even if + running them not in cargo.git + +--- + src/tools/cargo/tests/testsuite/package.rs | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/src/tools/cargo/tests/testsuite/package.rs b/src/tools/cargo/tests/testsuite/package.rs +index b9c1cae045..d34951f89b 100644 +--- a/src/tools/cargo/tests/testsuite/package.rs ++++ b/src/tools/cargo/tests/testsuite/package.rs +@@ -285,7 +285,8 @@ dependency `bar` does not specify a version. + + #[test] + fn exclude() { +- let p = project() ++ let root = paths::root().join("exclude"); ++ let repo = git::repo(&root) + .file("Cargo.toml", r#" + [project] + name = "foo" +@@ -348,7 +349,8 @@ fn exclude() { + .file("some_dir/dir_deep_5/some_dir/file", "") + .build(); + +- p.cargo("package --no-verify -v") ++ cargo_process("package --no-verify -v") ++ .cwd(repo.root()) + .with_stdout("") + .with_stderr( + "\ +@@ -366,7 +368,6 @@ See [..] + See [..] + [WARNING] [..] file `some_dir/file_deep_1` WILL be excluded [..] + See [..] +-[WARNING] No (git) Cargo.toml found at `[..]` in workdir `[..]` + [PACKAGING] foo v0.0.1 ([..]) + [ARCHIVING] [..] + [ARCHIVING] [..] +@@ -386,14 +387,17 @@ See [..] + [ARCHIVING] [..] + [ARCHIVING] [..] + [ARCHIVING] [..] ++[ARCHIVING] .cargo_vcs_info.json + ", + ).run(); + +- assert!(p.root().join("target/package/foo-0.0.1.crate").is_file()); ++ assert!(repo.root().join("target/package/foo-0.0.1.crate").is_file()); + +- p.cargo("package -l") ++ cargo_process("package -l") ++ .cwd(repo.root()) + .with_stdout( + "\ ++.cargo_vcs_info.json + Cargo.toml + dir_root_1/some_dir/file + dir_root_2/some_dir/file +@@ -418,7 +422,8 @@ src/main.rs + + #[test] + fn include() { +- let p = project() ++ let root = paths::root().join("include"); ++ let repo = git::repo(&root) + .file("Cargo.toml", r#" + [project] + name = "foo" +@@ -432,16 +437,17 @@ fn include() { + .file("src/bar.txt", "") // should be ignored when packaging + .build(); + +- p.cargo("package --no-verify -v") ++ cargo_process("package --no-verify -v") ++ .cwd(repo.root()) + .with_stderr( + "\ + [WARNING] manifest has no description[..] + See http://doc.crates.io/manifest.html#package-metadata for more info. +-[WARNING] No (git) Cargo.toml found at `[..]` in workdir `[..]` + [PACKAGING] foo v0.0.1 ([..]) + [ARCHIVING] [..] + [ARCHIVING] [..] + [ARCHIVING] [..] ++[ARCHIVING] .cargo_vcs_info.json + ", + ).run(); + } |