@@ -9,10 +9,12 @@ use cargo_test_support::str;
99const ECHO_SCRIPT : & str = r#"#!/usr/bin/env cargo
1010
1111fn main() {
12+ let current_exe = std::env::current_exe().unwrap().to_str().unwrap().to_owned();
1213 let mut args = std::env::args_os();
13- let bin = args.next().unwrap().to_str().unwrap().to_owned();
14+ let arg0 = args.next().unwrap().to_str().unwrap().to_owned();
1415 let args = args.collect::<Vec<_>>();
15- println!("bin: {bin}");
16+ println!("current_exe: {current_exe}");
17+ println!("arg0: {arg0}");
1618 println!("args: {args:?}");
1719}
1820
@@ -34,7 +36,8 @@ fn basic_rs() {
3436 p. cargo ( "-Zscript -v echo.rs" )
3537 . masquerade_as_nightly_cargo ( & [ "script" ] )
3638 . with_stdout_data ( str![ [ r#"
37- bin: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
39+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
40+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
3841args: []
3942
4043"# ] ] )
@@ -57,7 +60,8 @@ fn basic_path() {
5760 p. cargo ( "-Zscript -v ./echo" )
5861 . masquerade_as_nightly_cargo ( & [ "script" ] )
5962 . with_stdout_data ( str![ [ r#"
60- bin: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
63+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
64+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
6165args: []
6266
6367"# ] ] )
@@ -111,7 +115,8 @@ fn manifest_precedence_over_plugins() {
111115 . env ( "PATH" , & path)
112116 . masquerade_as_nightly_cargo ( & [ "script" ] )
113117 . with_stdout_data ( str![ [ r#"
114- bin: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
118+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
119+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
115120args: []
116121
117122"# ] ] )
@@ -361,7 +366,8 @@ rustc = "non-existent-rustc"
361366 p. cargo ( "-Zscript script.rs -NotAnArg" )
362367 . masquerade_as_nightly_cargo ( & [ "script" ] )
363368 . with_stdout_data ( str![ [ r#"
364- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
369+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
370+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
365371args: ["-NotAnArg"]
366372
367373"# ] ] )
@@ -371,7 +377,8 @@ args: ["-NotAnArg"]
371377 p. cargo ( "-Zscript ../script/script.rs -NotAnArg" )
372378 . masquerade_as_nightly_cargo ( & [ "script" ] )
373379 . with_stdout_data ( str![ [ r#"
374- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
380+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
381+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
375382args: ["-NotAnArg"]
376383
377384"# ] ] )
@@ -412,7 +419,8 @@ fn default_programmatic_verbosity() {
412419 p. cargo ( "-Zscript script.rs -NotAnArg" )
413420 . masquerade_as_nightly_cargo ( & [ "script" ] )
414421 . with_stdout_data ( str![ [ r#"
415- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
422+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
423+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
416424args: ["-NotAnArg"]
417425
418426"# ] ] )
@@ -430,7 +438,8 @@ fn quiet() {
430438 p. cargo ( "-Zscript -q script.rs -NotAnArg" )
431439 . masquerade_as_nightly_cargo ( & [ "script" ] )
432440 . with_stdout_data ( str![ [ r#"
433- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
441+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
442+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
434443args: ["-NotAnArg"]
435444
436445"# ] ] )
@@ -476,7 +485,8 @@ fn test_escaped_hyphen_arg() {
476485 p. cargo ( "-Zscript -v -- script.rs -NotAnArg" )
477486 . masquerade_as_nightly_cargo ( & [ "script" ] )
478487 . with_stdout_data ( str![ [ r#"
479- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
488+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
489+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
480490args: ["-NotAnArg"]
481491
482492"# ] ] )
@@ -500,7 +510,8 @@ fn test_unescaped_hyphen_arg() {
500510 p. cargo ( "-Zscript -v script.rs -NotAnArg" )
501511 . masquerade_as_nightly_cargo ( & [ "script" ] )
502512 . with_stdout_data ( str![ [ r#"
503- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
513+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
514+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
504515args: ["-NotAnArg"]
505516
506517"# ] ] )
@@ -524,7 +535,8 @@ fn test_same_flags() {
524535 p. cargo ( "-Zscript -v script.rs --help" )
525536 . masquerade_as_nightly_cargo ( & [ "script" ] )
526537 . with_stdout_data ( str![ [ r#"
527- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
538+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
539+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
528540args: ["--help"]
529541
530542"# ] ] )
@@ -548,7 +560,8 @@ fn test_name_has_weird_chars() {
548560 p. cargo ( "-Zscript -v s-h.w§c!.rs" )
549561 . masquerade_as_nightly_cargo ( & [ "script" ] )
550562 . with_stdout_data ( str![ [ r#"
551- bin: [ROOT]/home/.cargo/target/[HASH]/debug/s-h-w-c-[EXE]
563+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/s-h-w-c-[EXE]
564+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/s-h-w-c-[EXE]
552565args: []
553566
554567"# ] ] )
@@ -572,7 +585,8 @@ fn test_name_has_leading_number() {
572585 p. cargo ( "-Zscript -v 42answer.rs" )
573586 . masquerade_as_nightly_cargo ( & [ "script" ] )
574587 . with_stdout_data ( str![ [ r#"
575- bin: [ROOT]/home/.cargo/target/[HASH]/debug/answer[EXE]
588+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/answer[EXE]
589+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/answer[EXE]
576590args: []
577591
578592"# ] ] )
@@ -594,7 +608,8 @@ fn test_name_is_number() {
594608 p. cargo ( "-Zscript -v 42.rs" )
595609 . masquerade_as_nightly_cargo ( & [ "script" ] )
596610 . with_stdout_data ( str![ [ r#"
597- bin: [ROOT]/home/.cargo/target/[HASH]/debug/package[EXE]
611+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/package[EXE]
612+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/package[EXE]
598613args: []
599614
600615"# ] ] )
@@ -1288,7 +1303,8 @@ fn implicit_target_dir() {
12881303 p. cargo ( "-Zscript -v script.rs" )
12891304 . masquerade_as_nightly_cargo ( & [ "script" ] )
12901305 . with_stdout_data ( str![ [ r#"
1291- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1306+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1307+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
12921308args: []
12931309
12941310"# ] ] )
@@ -1315,7 +1331,8 @@ fn no_local_lockfile() {
13151331 p. cargo ( "-Zscript -v script.rs" )
13161332 . masquerade_as_nightly_cargo ( & [ "script" ] )
13171333 . with_stdout_data ( str![ [ r#"
1318- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1334+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1335+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
13191336args: []
13201337
13211338"# ] ] )
@@ -1661,7 +1678,8 @@ fn cmd_run_with_embedded() {
16611678 p. cargo ( "-Zscript run --manifest-path script.rs" )
16621679 . masquerade_as_nightly_cargo ( & [ "script" ] )
16631680 . with_stdout_data ( str![ [ r#"
1664- bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1681+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
1682+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
16651683args: []
16661684
16671685"# ] ] )
@@ -1961,7 +1979,8 @@ members = [
19611979 p. cargo ( "-Zscript -v script/echo.rs" )
19621980 . masquerade_as_nightly_cargo ( & [ "script" ] )
19631981 . with_stdout_data ( str![ [ r#"
1964- bin: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
1982+ current_exe: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
1983+ arg0: [ROOT]/home/.cargo/target/[HASH]/debug/echo[EXE]
19651984args: []
19661985
19671986"# ] ] )
0 commit comments