Revert compiletest new-executor, to re-land without download-rustc

Revert <https://github.com/rust-lang/rust/pull/139998> because the original
merge triggered download-rustc, which messes with test metrics and prevents us
from properly comparing them before/after the change.

The plan is to re-land this PR as-is, combined with a trivial compiler change
to avoid download-rustc and get proper test metrics for comparison.

This reverts commit be181dd75c, reversing
changes made to 645d0ad2a4.
This commit is contained in:
Zalathar 2025-04-24 11:10:34 +10:00
parent fa58ce343a
commit d0a458040c
2 changed files with 7 additions and 11 deletions

View file

@ -415,13 +415,10 @@ pub struct Config {
/// ABI tests.
pub minicore_path: Utf8PathBuf,
/// If true, disable the "new" executor, and use the older libtest-based
/// executor to run tests instead. This is a temporary fallback, to make
/// manual comparative testing easier if bugs are found in the new executor.
///
/// FIXME(Zalathar): Eventually remove this flag and remove the libtest
/// dependency.
pub no_new_executor: bool,
/// If true, run tests with the "new" executor that was written to replace
/// compiletest's dependency on libtest. Eventually this will become the
/// default, and the libtest dependency will be removed.
pub new_executor: bool,
}
impl Config {

View file

@ -203,7 +203,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
"COMMAND",
)
.reqopt("", "minicore-path", "path to minicore aux library", "PATH")
.optflag("N", "no-new-executor", "disables the new test executor, and uses libtest instead")
.optflag("n", "new-executor", "enables the new test executor instead of using libtest")
.optopt(
"",
"debugger",
@ -450,7 +450,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
minicore_path: opt_path(matches, "minicore-path"),
no_new_executor: matches.opt_present("no-new-executor"),
new_executor: matches.opt_present("new-executor"),
}
}
@ -577,10 +577,9 @@ pub fn run_tests(config: Arc<Config>) {
// Delegate to the executor to filter and run the big list of test structures
// created during test discovery. When the executor decides to run a test,
// it will return control to the rest of compiletest by calling `runtest::run`.
let res = if !config.no_new_executor {
let res = if config.new_executor {
Ok(executor::run_tests(&config, tests))
} else {
// FIXME(Zalathar): Eventually remove the libtest executor entirely.
crate::executor::libtest::execute_tests(&config, tests)
};