Change config paths to only check CARGO_HOME for cargo-script · rust-lang/cargo@bd47da1 (original) (raw)
``
1
`+
use std::fs;
`
``
2
+
1
3
`use cargo_test_support::basic_manifest;
`
``
4
`+
use cargo_test_support::paths::cargo_home;
`
2
5
`use cargo_test_support::prelude::*;
`
3
6
`use cargo_test_support::registry::Package;
`
4
7
`use cargo_test_support::str;
`
`@@ -300,7 +303,7 @@ msg = hello
`
300
303
`}
`
301
304
``
302
305
`#[cargo_test]
`
303
``
`-
fn use_script_config() {
`
``
306
`+
fn use_cargo_home_config() {
`
304
307
`let script = ECHO_SCRIPT;
`
305
308
`let _ = cargo_test_support::project()
`
306
309
`.at("script")
`
`@@ -318,26 +321,47 @@ rustc = "non-existent-rustc"
`
318
321
`.file("script.rs", script)
`
319
322
`.build();
`
320
323
``
321
``
`-
// Verify the config is bad
`
``
324
`+
// Verify that the config from the current directory is used
`
322
325
` p.cargo("-Zscript script.rs -NotAnArg")
`
323
326
`.masquerade_as_nightly_cargo(&["script"])
`
324
``
`-
.with_status(101)
`
325
``
`-
.with_stderr_data(str![[r#"
`
326
``
`` -
[ERROR] could not execute process non-existent-rustc -vV (never executed)
``
327
``
-
328
``
`-
Caused by:
`
329
``
`-
[NOT_FOUND]
`
``
327
`+
.with_stdout_data(str![[r#"
`
``
328
`+
bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
`
``
329
`+
args: ["-NotAnArg"]
`
330
330
``
331
331
`"#]])
`
332
332
`.run();
`
333
333
``
334
``
`-
// Verify that the config isn't used
`
``
334
`+
// Verify that the config from the parent directory is not used
`
335
335
` p.cargo("-Zscript ../script/script.rs -NotAnArg")
`
336
336
`.masquerade_as_nightly_cargo(&["script"])
`
337
337
`.with_stdout_data(str![[r#"
`
338
338
`bin: [ROOT]/home/.cargo/target/[HASH]/debug/script[EXE]
`
339
339
`args: ["-NotAnArg"]
`
340
340
``
``
341
`+
"#]])
`
``
342
`+
.run();
`
``
343
+
``
344
`+
// Write a global config.toml in the cargo home directory
`
``
345
`+
let cargo_home = cargo_home();
`
``
346
`+
fs::write(
`
``
347
`+
&cargo_home.join("config.toml"),
`
``
348
`+
r#"
`
``
349
`+
[build]
`
``
350
`+
rustc = "non-existent-rustc"
`
``
351
`+
"#,
`
``
352
`+
)
`
``
353
`+
.unwrap();
`
``
354
+
``
355
`+
// Verify the global config is used
`
``
356
`+
p.cargo("-Zscript script.rs -NotAnArg")
`
``
357
`+
.masquerade_as_nightly_cargo(&["script"])
`
``
358
`+
.with_status(101)
`
``
359
`+
.with_stderr_data(str![[r#"
`
``
360
`` +
[ERROR] could not execute process non-existent-rustc -vV (never executed)
``
``
361
+
``
362
`+
Caused by:
`
``
363
`+
[NOT_FOUND]
`
``
364
+
341
365
`"#]])
`
342
366
`.run();
`
343
367
`}
`