diff options
Diffstat (limited to 'tests/testsuite/cargo_targets.rs')
-rw-r--r-- | tests/testsuite/cargo_targets.rs | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/testsuite/cargo_targets.rs b/tests/testsuite/cargo_targets.rs new file mode 100644 index 0000000..fcf2930 --- /dev/null +++ b/tests/testsuite/cargo_targets.rs @@ -0,0 +1,68 @@ +//! Tests specifically related to target handling (lib, bins, examples, tests, benches). + +use cargo_test_support::project; + +#[cargo_test] +fn warn_unmatched_target_filters() { + let p = project() + .file( + "Cargo.toml", + r#" + [package] + name = "foo" + version = "0.1.0" + + [lib] + test = false + bench = false + "#, + ) + .file("src/lib.rs", r#"fn main() {}"#) + .build(); + + p.cargo("check --tests --bins --examples --benches") + .with_stderr( + "\ +[WARNING] Target filters `bins`, `tests`, `examples`, `benches` specified, \ +but no targets matched. This is a no-op +[FINISHED][..] +", + ) + .run(); +} + +#[cargo_test] +fn reserved_windows_target_name() { + let p = project() + .file( + "Cargo.toml", + r#" + [package] + name = "foo" + version = "0.1.0" + + [[bin]] + name = "con" + path = "src/main.rs" + "#, + ) + .file("src/main.rs", "fn main() {}") + .build(); + + if cfg!(windows) { + p.cargo("check") + .with_stderr( + "\ +[WARNING] binary target `con` is a reserved Windows filename, \ +this target will not work on Windows platforms +[CHECKING] foo[..] +[FINISHED][..] +", + ) + .run(); + } else { + p.cargo("check") + .with_stderr("[CHECKING] foo[..]\n[FINISHED][..]") + .run(); + } +} |