mirror of https://github.com/rust-lang/cargo
test: suggest available packages
This commit is contained in:
parent
60751e4840
commit
4d5a56d7d0
|
@ -1,13 +1,15 @@
|
|||
//! Tests for target filter flags giving suggestions on which targets are available.
|
||||
//! Tests for packages/target filter flags giving suggestions on which
|
||||
//! packages/targets are available.
|
||||
|
||||
use cargo_test_support::project;
|
||||
|
||||
const EXAMPLE: u8 = 0x1;
|
||||
const BIN: u8 = 0x2;
|
||||
const TEST: u8 = 0x4;
|
||||
const BENCH: u8 = 0x8;
|
||||
const EXAMPLE: u8 = 1 << 0;
|
||||
const BIN: u8 = 1 << 1;
|
||||
const TEST: u8 = 1 << 2;
|
||||
const BENCH: u8 = 1 << 3;
|
||||
const PACKAGE: u8 = 1 << 4;
|
||||
|
||||
fn list_targets_test(command: &str, targets: u8) {
|
||||
fn list_availables_test(command: &str, targets: u8) {
|
||||
let full_project = project()
|
||||
.file("examples/a.rs", "fn main() { }")
|
||||
.file("examples/b.rs", "fn main() { }")
|
||||
|
@ -75,6 +77,22 @@ Available tests:
|
|||
test1
|
||||
test2
|
||||
|
||||
",
|
||||
)
|
||||
.with_status(101)
|
||||
.run();
|
||||
}
|
||||
|
||||
if targets & PACKAGE != 0 {
|
||||
full_project
|
||||
.cargo(&format!("{} -p", command))
|
||||
.with_stderr(
|
||||
"\
|
||||
[ERROR] \"--package <SPEC>\" requires a SPEC format value.
|
||||
Run `cargo help pkgid` for more infomation about SPEC format.
|
||||
Available packages:
|
||||
foo
|
||||
|
||||
",
|
||||
)
|
||||
.with_status(101)
|
||||
|
@ -141,51 +159,51 @@ No tests available.
|
|||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn build_list_targets() {
|
||||
list_targets_test("build", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn build_list_availables() {
|
||||
list_availables_test("build", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn check_list_targets() {
|
||||
list_targets_test("check", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn check_list_availables() {
|
||||
list_availables_test("check", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn doc_list_targets() {
|
||||
list_targets_test("doc", BIN);
|
||||
fn doc_list_availables() {
|
||||
list_availables_test("doc", BIN | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn fix_list_targets() {
|
||||
list_targets_test("fix", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn fix_list_availables() {
|
||||
list_availables_test("fix", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn run_list_targets() {
|
||||
list_targets_test("run", EXAMPLE | BIN);
|
||||
fn run_list_availables() {
|
||||
list_availables_test("run", EXAMPLE | BIN);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn test_list_targets() {
|
||||
list_targets_test("test", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn test_list_availables() {
|
||||
list_availables_test("test", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn bench_list_targets() {
|
||||
list_targets_test("bench", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn bench_list_availables() {
|
||||
list_availables_test("bench", EXAMPLE | BIN | TEST | BENCH | PACKAGE);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn install_list_targets() {
|
||||
list_targets_test("install", EXAMPLE | BIN);
|
||||
fn install_list_availables() {
|
||||
list_availables_test("install", EXAMPLE | BIN);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn rustdoc_list_targets() {
|
||||
list_targets_test("rustdoc", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn rustdoc_list_availables() {
|
||||
list_availables_test("rustdoc", EXAMPLE | BIN | TEST | BENCH);
|
||||
}
|
||||
|
||||
#[cargo_test]
|
||||
fn rustc_list_targets() {
|
||||
list_targets_test("rustc", EXAMPLE | BIN | TEST | BENCH);
|
||||
fn rustc_list_availables() {
|
||||
list_availables_test("rustc", EXAMPLE | BIN | TEST | BENCH);
|
||||
}
|
|
@ -58,7 +58,7 @@ mod init;
|
|||
mod install;
|
||||
mod install_upgrade;
|
||||
mod jobserver;
|
||||
mod list_targets;
|
||||
mod list_availables;
|
||||
mod local_registry;
|
||||
mod locate_project;
|
||||
mod lockfile_compat;
|
||||
|
|
Loading…
Reference in New Issue