Skip to content

Commit 0726a9e

Browse files
committed
add test for bug #15703
1 parent 4ac865d commit 0726a9e

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

src/cargo/util/toml/targets.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ fn infer_any(package_root: &Path, entry: &DirEntry) -> Option<(String, PathBuf)>
752752

753753
fn infer_file(package_root: &Path, entry: &DirEntry) -> Option<(String, PathBuf)> {
754754
let path = entry.path();
755-
let stem = path.file_stem()?.to_str()?.to_owned();
755+
let stem = path.file_name()?.to_str()?.to_owned();
756756
let path = path
757757
.strip_prefix(package_root)
758758
.map(|p| p.to_owned())

tests/testsuite/bench.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,36 @@
33
use crate::prelude::*;
44
use cargo_test_support::{basic_bin_manifest, basic_lib_manifest, basic_manifest, project, str};
55

6+
#[cargo_test]
7+
fn cargo_bench_find_benches() {
8+
let manifest = r#"
9+
[package]
10+
name = "find-benches"
11+
edition = "2024"
12+
13+
[[bench]]
14+
name = "benches.rs"
15+
"#;
16+
17+
let p = project()
18+
.file("Cargo.toml", &manifest)
19+
.file("src/lib.rs", "")
20+
.file("benches/benches.rs", "")
21+
.build();
22+
23+
let stderr_data = str![[r#"
24+
[ERROR] failed to parse manifest at `[ROOT]/foo/Cargo.toml`
25+
26+
Caused by:
27+
can't find `benches.rs` bench at `benches/benches.rs.rs` or `benches/benches.rs/main.rs`. Please specify bench.path if you want to use a non-default path.
28+
29+
"#]];
30+
p.cargo("bench")
31+
.with_status(101)
32+
.with_stderr_data(stderr_data)
33+
.run();
34+
}
35+
636
#[cargo_test(nightly, reason = "bench")]
737
fn cargo_bench_simple() {
838
let p = project()

0 commit comments

Comments
 (0)