@@ -30,6 +30,7 @@ use rustc_span::symbol::sym;
3030use rustc_span:: { FileName , Span } ;
3131use rustc_target:: spec:: { Target , TargetTuple } ;
3232use tempfile:: { Builder as TempFileBuilder , TempDir } ;
33+ #[ cfg( not( bootstrap) ) ]
3334use test:: test:: { RustdocResult , get_rustdoc_result} ;
3435use tracing:: debug;
3536
@@ -38,6 +39,30 @@ use crate::config::{Options as RustdocOptions, OutputFormat};
3839use crate :: html:: markdown:: { ErrorCodes , Ignore , LangString , MdRelLine } ;
3940use crate :: lint:: init_lints;
4041
42+ #[ cfg( bootstrap) ]
43+ pub enum RustdocResult {
44+ /// The test failed to compile.
45+ CompileError ,
46+ /// The test is marked `compile_fail` but compiled successfully.
47+ UnexpectedCompilePass ,
48+ /// The test failed to compile (as expected) but the compiler output did not contain all
49+ /// expected error codes.
50+ MissingErrorCodes ( Vec < String > ) ,
51+ /// The test binary was unable to be executed.
52+ ExecutionError ( io:: Error ) ,
53+ /// The test binary exited with a non-zero exit code.
54+ ///
55+ /// This typically means an assertion in the test failed or another form of panic occurred.
56+ ExecutionFailure ( Output ) ,
57+ /// The test is marked `should_panic` but the test binary executed successfully.
58+ NoPanic ( Option < String > ) ,
59+ }
60+
61+ #[ cfg( bootstrap) ]
62+ fn get_rustdoc_result ( _: process:: Output , _: bool ) -> Result < ( ) , RustdocResult > {
63+ Ok ( ( ) )
64+ }
65+
4166/// Type used to display times (compilation and total) information for merged doctests.
4267struct MergedDoctestTimes {
4368 total_time : Instant ,
0 commit comments