Skip to content

Commit dc13c89

Browse files
committed
fix(embedded): Be consistent with existing style when sanitizing
1 parent fdc2904 commit dc13c89

File tree

2 files changed

+33
-21
lines changed

2 files changed

+33
-21
lines changed

src/cargo/util/toml/embedded.rs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,13 @@ fn write(
7979
.file_stem()
8080
.ok_or_else(|| anyhow::format_err!("no file name"))?
8181
.to_string_lossy();
82-
let separator = '_';
82+
let separator = if file_name.contains('_') {
83+
'_'
84+
} else {
85+
// Since embedded manifests only support `[[bin]]`s, prefer arrow-case as that is the
86+
// more common convention for CLIs
87+
'-'
88+
};
8389
let name = sanitize_package_name(file_name.as_ref(), separator);
8490

8591
let mut workspace_root = target_dir.to_owned();
@@ -140,7 +146,13 @@ fn expand_manifest_(script: &RawScript, config: &Config) -> CargoResult<toml::Ta
140146
.file_stem()
141147
.ok_or_else(|| anyhow::format_err!("no file name"))?
142148
.to_string_lossy();
143-
let separator = '_';
149+
let separator = if file_name.contains('_') {
150+
'_'
151+
} else {
152+
// Since embedded manifests only support `[[bin]]`s, prefer arrow-case as that is the
153+
// more common convention for CLIs
154+
'-'
155+
};
144156
let name = sanitize_package_name(file_name.as_ref(), separator);
145157
let hash = hash(script);
146158
let bin_name = format!("{name}{separator}{hash}");
@@ -449,7 +461,7 @@ mod test_expand {
449461
fn test_default() {
450462
snapbox::assert_eq(
451463
r#"[[bin]]
452-
name = "test_a472c7a31645d310613df407eab80844346938a3b8fe4f392cae059cb181aa85"
464+
name = "test-a472c7a31645d310613df407eab80844346938a3b8fe4f392cae059cb181aa85"
453465
path = "/home/me/test.rs"
454466
455467
[package]
@@ -471,7 +483,7 @@ strip = true
471483
fn test_dependencies() {
472484
snapbox::assert_eq(
473485
r#"[[bin]]
474-
name = "test_3a1fa07700654ea2e893f70bb422efa7884eb1021ccacabc5466efe545da8a0b"
486+
name = "test-3a1fa07700654ea2e893f70bb422efa7884eb1021ccacabc5466efe545da8a0b"
475487
path = "/home/me/test.rs"
476488
477489
[dependencies]

tests/testsuite/script.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ args: []
3535
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
3636
[COMPILING] echo v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/echo)
3737
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
38-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo_[..]`
38+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo-[..]`
3939
",
4040
)
4141
.run();
@@ -59,7 +59,7 @@ args: []
5959
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
6060
[COMPILING] echo v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/echo)
6161
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
62-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo_[..]`
62+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo-[..]`
6363
",
6464
)
6565
.run();
@@ -113,7 +113,7 @@ args: []
113113
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
114114
[COMPILING] echo v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/echo)
115115
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
116-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo_[..]`
116+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/echo/target/debug/echo-[..]`
117117
",
118118
)
119119
.run();
@@ -205,7 +205,7 @@ fn main() {
205205
"\
206206
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
207207
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
208-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
208+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
209209
",
210210
)
211211
.run();
@@ -237,7 +237,7 @@ fn main() {
237237
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
238238
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
239239
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
240-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
240+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
241241
",
242242
)
243243
.run();
@@ -266,7 +266,7 @@ fn main() {
266266
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
267267
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
268268
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
269-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
269+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
270270
",
271271
)
272272
.run();
@@ -282,7 +282,7 @@ fn main() {
282282
"\
283283
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
284284
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
285-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
285+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
286286
",
287287
)
288288
.run();
@@ -300,7 +300,7 @@ fn main() {
300300
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
301301
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
302302
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
303-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
303+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
304304
",
305305
)
306306
.run();
@@ -329,7 +329,7 @@ fn main() {
329329
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
330330
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
331331
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
332-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..]`
332+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..]`
333333
",
334334
)
335335
.run();
@@ -354,7 +354,7 @@ args: ["-NotAnArg"]
354354
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
355355
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
356356
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
357-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..] -NotAnArg`
357+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..] -NotAnArg`
358358
",
359359
)
360360
.run();
@@ -379,7 +379,7 @@ args: ["-NotAnArg"]
379379
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
380380
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
381381
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
382-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..] -NotAnArg`
382+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..] -NotAnArg`
383383
",
384384
)
385385
.run();
@@ -404,7 +404,7 @@ args: ["--help"]
404404
[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
405405
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
406406
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
407-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..] --help`
407+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..] --help`
408408
",
409409
)
410410
.run();
@@ -426,15 +426,15 @@ args: []
426426
)
427427
.with_stderr(
428428
r#"[WARNING] `package.edition` is unspecifiead, defaulting to `2021`
429-
[COMPILING] s-h_w_c_ v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/s-h_w_c_)
429+
[COMPILING] s-h-w-c- v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/s-h-w-c-)
430430
[WARNING] crate `s_h_w_c__[..]` should have a snake case name
431431
|
432432
= help: convert the identifier to snake case: `s_h_w_c_[..]`
433433
= note: `#[warn(non_snake_case)]` on by default
434434
435-
[WARNING] `s-h_w_c_` (bin "s-h_w_c__[..]") generated 1 warning
435+
[WARNING] `s-h-w-c-` (bin "s-h-w-c--[..]") generated 1 warning
436436
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
437-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/s-h_w_c_/target/debug/s-h_w_c__[..]`
437+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/s-h-w-c-/target/debug/s-h-w-c--[..]`
438438
"#,
439439
)
440440
.run();
@@ -472,7 +472,7 @@ fn main() {
472472
[COMPILING] script v1.0.0
473473
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
474474
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
475-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..] --help`
475+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..] --help`
476476
",
477477
)
478478
.run();
@@ -509,7 +509,7 @@ fn main() {
509509
[COMPILING] bar v0.0.1 ([ROOT]/foo/bar)
510510
[COMPILING] script v0.0.0 ([ROOT]/home/.cargo/eval/target/eval/[..]/script)
511511
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]s
512-
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script_[..] --help`
512+
[RUNNING] `[ROOT]/home/.cargo/eval/target/eval/[..]/script/target/debug/script-[..] --help`
513513
",
514514
)
515515
.run();

0 commit comments

Comments
 (0)