Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support x test --stage 1 ui-fulldeps #110478

Merged
merged 1 commit into from
Apr 18, 2023
Merged

Commits on Apr 18, 2023

  1. 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.
    jyn514 committed Apr 18, 2023
    Configuration menu
    Copy the full SHA
    d6af602 View commit details
    Browse the repository at this point in the history