rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME by lolbinarycat · Pull Request #137834 · rust-lang/rust (original) (raw)

@jieyouxu as far as i can tell, ui-fulldeps tests are built directly with rustc, and we specifically need the environment variables that cargo sets.

Right.

will run-make cargo actually default to the global sysroot, and not the one built by bootstrap? if so, that seems like a major hazard, since plenty of other run-make tests use cargo, and some even use rustc_private.

It depends. On --stage=1 or higher, the cargo() from run_make_support will use the rustc from the corresponding staged sysroot. But on --stage=0, it can depend on what initial rustc/cargo you specify.

IOW, the cargo() from run_make_support is used to ensure something can be built. You should not use it to try to build something that depends on artifacts from the bootstrap-built sysroots. The ones that use cargo() typically uses -Zbuild-std=core or otherwise do not depend on bootstrap-built compiler artifacts.

I.e. you use it as a wrapper to test the underlying rustc's behavior but you cannot depend on the rustc-under-test's libraries.

is passing CI good enough for "works locally"? if so i could just rip out the test now that we know it works.

Yes. I think for the purposes of the changes here, building at all is good enough.