aboutsummaryrefslogtreecommitdiffstats
path: root/community/rust/cargo-tests-fix-package-include-exclude.patch
blob: 4cdf21314b89716de37dbbecc505daafbc8a4878 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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();
 }