Skip to content

Commit 20b9f35

Browse files
Move is_multiple_tests argument into RunnableDocTest
1 parent 0e6c0f3 commit 20b9f35

File tree

2 files changed

+12
-20
lines changed

2 files changed

+12
-20
lines changed

src/librustdoc/doctest.rs

+9-13
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,7 @@ struct RunnableDocTest {
447447
line: usize,
448448
edition: Edition,
449449
no_run: bool,
450+
is_multiple_tests: bool,
450451
}
451452

452453
impl RunnableDocTest {
@@ -459,7 +460,6 @@ fn run_test(
459460
doctest: RunnableDocTest,
460461
rustdoc_options: &RustdocOptions,
461462
supports_color: bool,
462-
is_multiple_tests: bool,
463463
report_unused_externs: impl Fn(UnusedExterns),
464464
) -> Result<(), TestFailure> {
465465
let langstr = &doctest.langstr;
@@ -480,7 +480,7 @@ fn run_test(
480480
}
481481

482482
compiler.arg("--edition").arg(&doctest.edition.to_string());
483-
if !is_multiple_tests {
483+
if !doctest.is_multiple_tests {
484484
// Setting these environment variables is unneeded if this is a merged doctest.
485485
compiler.env("UNSTABLE_RUSTDOC_TEST_PATH", &doctest.test_opts.path);
486486
compiler.env(
@@ -532,7 +532,7 @@ fn run_test(
532532

533533
// If this is a merged doctest, we need to write it into a file instead of using stdin
534534
// because if the size of the merged doctests is too big, it'll simply break stdin.
535-
if is_multiple_tests {
535+
if doctest.is_multiple_tests {
536536
// It makes the compilation failure much faster if it is for a combined doctest.
537537
compiler.arg("--error-format=short");
538538
let input_file = doctest.path_for_merged_doctest();
@@ -556,7 +556,7 @@ fn run_test(
556556
debug!("compiler invocation for doctest: {compiler:?}");
557557

558558
let mut child = compiler.spawn().expect("Failed to spawn rustc process");
559-
let output = if is_multiple_tests {
559+
let output = if doctest.is_multiple_tests {
560560
let status = child.wait().expect("Failed to wait");
561561
process::Output { status, stdout: Vec::new(), stderr: Vec::new() }
562562
} else {
@@ -634,7 +634,7 @@ fn run_test(
634634
cmd.arg(&output_file);
635635
} else {
636636
cmd = Command::new(&output_file);
637-
if is_multiple_tests {
637+
if doctest.is_multiple_tests {
638638
cmd.arg("*doctest-bin-path");
639639
cmd.arg(&output_file);
640640
}
@@ -643,7 +643,7 @@ fn run_test(
643643
cmd.current_dir(run_directory);
644644
}
645645

646-
let result = if is_multiple_tests || rustdoc_options.nocapture {
646+
let result = if doctest.is_multiple_tests || rustdoc_options.nocapture {
647647
cmd.status().map(|status| process::Output {
648648
status,
649649
stdout: Vec::new(),
@@ -921,14 +921,10 @@ fn doctest_run_fn(
921921
line: scraped_test.line,
922922
edition: scraped_test.edition(&rustdoc_options),
923923
no_run: scraped_test.no_run(&rustdoc_options),
924+
is_multiple_tests: false,
924925
};
925-
let res = run_test(
926-
runnable_test,
927-
&rustdoc_options,
928-
doctest.supports_color,
929-
false,
930-
report_unused_externs,
931-
);
926+
let res =
927+
run_test(runnable_test, &rustdoc_options, doctest.supports_color, report_unused_externs);
932928

933929
if let Err(err) = res {
934930
match err {

src/librustdoc/doctest/runner.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -184,14 +184,10 @@ std::process::Termination::report(test::test_main(test_args, Vec::from(TESTS), N
184184
line: 0,
185185
edition,
186186
no_run: false,
187+
is_multiple_tests: true,
187188
};
188-
let ret = run_test(
189-
runnable_test,
190-
rustdoc_options,
191-
self.supports_color,
192-
true,
193-
|_: UnusedExterns| {},
194-
);
189+
let ret =
190+
run_test(runnable_test, rustdoc_options, self.supports_color, |_: UnusedExterns| {});
195191
if let Err(TestFailure::CompileError) = ret { Err(()) } else { Ok(ret.is_ok()) }
196192
}
197193
}

0 commit comments

Comments
 (0)