aboutsummaryrefslogtreecommitdiffstats
path: root/community/rust/cargo-tests-fix-package-include-exclude.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/rust/cargo-tests-fix-package-include-exclude.patch')
-rw-r--r--community/rust/cargo-tests-fix-package-include-exclude.patch92
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();
+ }