rust/tests/ui-fulldeps
jyn d6af60266e Support x test --stage 1 ui-fulldeps
Nils had an excellent idea the other day: the same way that rustdoc is
able to load `rustc_driver` from the sysroot, ui-fulldeps tests should
also be able to load it from the sysroot. That allows us to run fulldeps
tests with stage1, without having to fully rebuild the compiler twice.
It does unfortunately have the downside that we're running the tests on
the *bootstrap* compiler, not the in-tree sources, but since most of the
fulldeps tests are for the *API* of the compiler, that seems ok.

I think it's possible to extend this to `run-make-fulldeps`, but I've
run out of energy for tonight.

- Move `plugin` tests into a subdirectory.

  Plugins are loaded at runtime with `dlopen` and so require the ABI of
  the running compile to match the ABI of the compiler linked with
  `rustc_driver`. As a result they can't be supported in stage 1 and have
  to use `// ignore-stage1`.

- Remove `ignore-stage1` from most non-plugin tests

- Ignore diagnostic tests in stage 1. Even though this requires a stage
  2 build to load rustc_driver, it's primarily testing the error message
  that the *running* compiler emits when the diagnostic struct is malformed.

- Pass `-Zforce-unstable-if-unmarked` in stage1, not just stage2. That
  allows running `hash-stable-is-unstable` in stage1, since it now
  suggests adding `rustc_private` to enable loading the crates.

- Add libLLVM.so to the stage0 target sysroot, to allow fulldeps tests
  that act as custom drivers to load it at runtime.

- Pass `--sysroot stage0-sysroot` in compiletest so that we use the
  correct version of std.
2023-04-17 22:40:31 -05:00
..
auxiliary Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
fluent-messages Don't emit the OS error in a note 2023-03-31 03:49:21 +02:00
internal-lints Move most ui-fulldeps tests to ui 2023-04-13 22:08:07 -05:00
mod_dir_simple
plugin Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
session-diagnostic Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
stable-mir Add a stable MIR way to get the main function 2023-04-14 07:28:56 +00:00
compiler-calls.rs Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
deriving-encodable-decodable-box.rs
deriving-encodable-decodable-cell-refcell.rs
deriving-global.rs
deriving-hygiene.rs
dropck_tarena_sound_drop.rs
dropck-tarena-cycle-checked.rs
dropck-tarena-cycle-checked.stderr Fix fulldeps-ui tests 2023-01-15 19:57:32 +00:00
dropck-tarena-unsound-drop.rs
dropck-tarena-unsound-drop.stderr Fix fulldeps-ui tests 2023-01-15 19:57:32 +00:00
empty-struct-braces-derive.rs
hash-stable-is-unstable.rs Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
hash-stable-is-unstable.stderr Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
issue-14021.rs
lint-pass-macros.rs
missing-rustc-driver-error.rs
missing-rustc-driver-error.stderr
mod_dir_path_canonicalized.rs various: translation resources from cg backend 2023-02-22 09:15:54 +00:00
pathless-extern-unstable.rs Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
pathless-extern-unstable.stderr Support x test --stage 1 ui-fulldeps 2023-04-17 22:40:31 -05:00
pprust-expr-roundtrip.rs Remove uses of box_syntax in rustc and tools 2023-03-12 13:19:46 +00:00
regions-mock-tcx.rs
rustc_encodable_hygiene.rs