Skip to content

Commit 4d5a56d

Browse files
committed
test: suggest available packages
1 parent 60751e4 commit 4d5a56d

File tree

2 files changed

+45
-27
lines changed

2 files changed

+45
-27
lines changed

tests/testsuite/list_targets.rs renamed to tests/testsuite/list_availables.rs

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
//! Tests for target filter flags giving suggestions on which targets are available.
1+
//! Tests for packages/target filter flags giving suggestions on which
2+
//! packages/targets are available.
23
34
use cargo_test_support::project;
45

5-
const EXAMPLE: u8 = 0x1;
6-
const BIN: u8 = 0x2;
7-
const TEST: u8 = 0x4;
8-
const BENCH: u8 = 0x8;
6+
const EXAMPLE: u8 = 1 << 0;
7+
const BIN: u8 = 1 << 1;
8+
const TEST: u8 = 1 << 2;
9+
const BENCH: u8 = 1 << 3;
10+
const PACKAGE: u8 = 1 << 4;
911

10-
fn list_targets_test(command: &str, targets: u8) {
12+
fn list_availables_test(command: &str, targets: u8) {
1113
let full_project = project()
1214
.file("examples/a.rs", "fn main() { }")
1315
.file("examples/b.rs", "fn main() { }")
@@ -75,6 +77,22 @@ Available tests:
7577
test1
7678
test2
7779
80+
",
81+
)
82+
.with_status(101)
83+
.run();
84+
}
85+
86+
if targets & PACKAGE != 0 {
87+
full_project
88+
.cargo(&format!("{} -p", command))
89+
.with_stderr(
90+
"\
91+
[ERROR] \"--package <SPEC>\" requires a SPEC format value.
92+
Run `cargo help pkgid` for more infomation about SPEC format.
93+
Available packages:
94+
foo
95+
7896
",
7997
)
8098
.with_status(101)
@@ -141,51 +159,51 @@ No tests available.
141159
}
142160

143161
#[cargo_test]
144-
fn build_list_targets() {
145-
list_targets_test("build", EXAMPLE | BIN | TEST | BENCH);
162+
fn build_list_availables() {
163+
list_availables_test("build", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
146164
}
147165

148166
#[cargo_test]
149-
fn check_list_targets() {
150-
list_targets_test("check", EXAMPLE | BIN | TEST | BENCH);
167+
fn check_list_availables() {
168+
list_availables_test("check", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
151169
}
152170

153171
#[cargo_test]
154-
fn doc_list_targets() {
155-
list_targets_test("doc", BIN);
172+
fn doc_list_availables() {
173+
list_availables_test("doc", BIN | PACKAGE);
156174
}
157175

158176
#[cargo_test]
159-
fn fix_list_targets() {
160-
list_targets_test("fix", EXAMPLE | BIN | TEST | BENCH);
177+
fn fix_list_availables() {
178+
list_availables_test("fix", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
161179
}
162180

163181
#[cargo_test]
164-
fn run_list_targets() {
165-
list_targets_test("run", EXAMPLE | BIN);
182+
fn run_list_availables() {
183+
list_availables_test("run", EXAMPLE | BIN);
166184
}
167185

168186
#[cargo_test]
169-
fn test_list_targets() {
170-
list_targets_test("test", EXAMPLE | BIN | TEST | BENCH);
187+
fn test_list_availables() {
188+
list_availables_test("test", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
171189
}
172190

173191
#[cargo_test]
174-
fn bench_list_targets() {
175-
list_targets_test("bench", EXAMPLE | BIN | TEST | BENCH);
192+
fn bench_list_availables() {
193+
list_availables_test("bench", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
176194
}
177195

178196
#[cargo_test]
179-
fn install_list_targets() {
180-
list_targets_test("install", EXAMPLE | BIN);
197+
fn install_list_availables() {
198+
list_availables_test("install", EXAMPLE | BIN);
181199
}
182200

183201
#[cargo_test]
184-
fn rustdoc_list_targets() {
185-
list_targets_test("rustdoc", EXAMPLE | BIN | TEST | BENCH);
202+
fn rustdoc_list_availables() {
203+
list_availables_test("rustdoc", EXAMPLE | BIN | TEST | BENCH);
186204
}
187205

188206
#[cargo_test]
189-
fn rustc_list_targets() {
190-
list_targets_test("rustc", EXAMPLE | BIN | TEST | BENCH);
207+
fn rustc_list_availables() {
208+
list_availables_test("rustc", EXAMPLE | BIN | TEST | BENCH);
191209
}

tests/testsuite/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ mod init;
5858
mod install;
5959
mod install_upgrade;
6060
mod jobserver;
61-
mod list_targets;
61+
mod list_availables;
6262
mod local_registry;
6363
mod locate_project;
6464
mod lockfile_compat;

0 commit comments

Comments
 (0)