Skip to content

Commit 6f8a7f0

Browse files
committed
Make rustdoc-gui-test dummy compiletest config purpose explicit
1 parent b9ae117 commit 6f8a7f0

File tree

2 files changed

+102
-5
lines changed

2 files changed

+102
-5
lines changed

src/tools/compiletest/src/common.rs

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,107 @@ pub struct Config {
604604
}
605605

606606
impl Config {
607+
/// Incomplete config intended for `src/tools/rustdoc-gui-test` **only** as
608+
/// `src/tools/rustdoc-gui-test` wants to reuse `compiletest`'s directive -> test property
609+
/// handling for `//@ {compile,run}-flags`, do not use for any other purpose.
610+
///
611+
/// FIXME(#143827): this setup feels very hacky. It so happens that `tests/rustdoc-gui/`
612+
/// **only** uses `//@ {compile,run}-flags` for now and not any directives that actually rely on
613+
/// info that is assumed available in a fully populated [`Config`].
614+
pub fn incomplete_for_rustdoc_gui_test() -> Config {
615+
// FIXME(#143827): spelling this out intentionally, because this is questionable.
616+
//
617+
// For instance, `//@ ignore-stage1` will not work at all.
618+
Config {
619+
mode: TestMode::Rustdoc,
620+
621+
// Dummy values.
622+
edition: Default::default(),
623+
bless: Default::default(),
624+
fail_fast: Default::default(),
625+
compile_lib_path: Utf8PathBuf::default(),
626+
run_lib_path: Utf8PathBuf::default(),
627+
rustc_path: Utf8PathBuf::default(),
628+
cargo_path: Default::default(),
629+
stage0_rustc_path: Default::default(),
630+
rustdoc_path: Default::default(),
631+
coverage_dump_path: Default::default(),
632+
python: Default::default(),
633+
jsondocck_path: Default::default(),
634+
jsondoclint_path: Default::default(),
635+
llvm_filecheck: Default::default(),
636+
llvm_bin_dir: Default::default(),
637+
run_clang_based_tests_with: Default::default(),
638+
src_root: Utf8PathBuf::default(),
639+
src_test_suite_root: Utf8PathBuf::default(),
640+
build_root: Utf8PathBuf::default(),
641+
build_test_suite_root: Utf8PathBuf::default(),
642+
sysroot_base: Utf8PathBuf::default(),
643+
stage: Default::default(),
644+
stage_id: String::default(),
645+
suite: Default::default(),
646+
debugger: Default::default(),
647+
run_ignored: Default::default(),
648+
with_rustc_debug_assertions: Default::default(),
649+
with_std_debug_assertions: Default::default(),
650+
filters: Default::default(),
651+
skip: Default::default(),
652+
filter_exact: Default::default(),
653+
force_pass_mode: Default::default(),
654+
run: Default::default(),
655+
runner: Default::default(),
656+
host_rustcflags: Default::default(),
657+
target_rustcflags: Default::default(),
658+
rust_randomized_layout: Default::default(),
659+
optimize_tests: Default::default(),
660+
target: Default::default(),
661+
host: Default::default(),
662+
cdb: Default::default(),
663+
cdb_version: Default::default(),
664+
gdb: Default::default(),
665+
gdb_version: Default::default(),
666+
lldb_version: Default::default(),
667+
llvm_version: Default::default(),
668+
system_llvm: Default::default(),
669+
android_cross_path: Default::default(),
670+
adb_path: Default::default(),
671+
adb_test_dir: Default::default(),
672+
adb_device_status: Default::default(),
673+
lldb_python_dir: Default::default(),
674+
verbose: Default::default(),
675+
format: Default::default(),
676+
color: Default::default(),
677+
remote_test_client: Default::default(),
678+
compare_mode: Default::default(),
679+
rustfix_coverage: Default::default(),
680+
has_html_tidy: Default::default(),
681+
has_enzyme: Default::default(),
682+
channel: Default::default(),
683+
git_hash: Default::default(),
684+
cc: Default::default(),
685+
cxx: Default::default(),
686+
cflags: Default::default(),
687+
cxxflags: Default::default(),
688+
ar: Default::default(),
689+
target_linker: Default::default(),
690+
host_linker: Default::default(),
691+
llvm_components: Default::default(),
692+
nodejs: Default::default(),
693+
npm: Default::default(),
694+
force_rerun: Default::default(),
695+
only_modified: Default::default(),
696+
target_cfgs: Default::default(),
697+
builtin_cfg_names: Default::default(),
698+
supported_crate_types: Default::default(),
699+
nocapture: Default::default(),
700+
nightly_branch: Default::default(),
701+
git_merge_commit_email: Default::default(),
702+
profiler_runtime: Default::default(),
703+
diff_command: Default::default(),
704+
minicore_path: Default::default(),
705+
}
706+
}
707+
607708
/// FIXME: this run scheme is... confusing.
608709
pub fn run_enabled(&self) -> bool {
609710
self.run.unwrap_or_else(|| {

src/tools/rustdoc-gui-test/src/main.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,7 @@ If you want to install the `browser-ui-test` dependency, run `npm install browse
112112
.current_dir(path);
113113

114114
if let Some(librs) = find_librs(entry.path()) {
115-
let compiletest_c = compiletest::common::Config {
116-
edition: None,
117-
mode: compiletest::common::TestMode::Rustdoc,
118-
..Default::default()
119-
};
115+
let compiletest_c = compiletest::common::Config::incomplete_for_rustdoc_gui_test();
120116

121117
let test_props = TestProps::from_file(
122118
&camino::Utf8PathBuf::try_from(librs).unwrap(),

0 commit comments

Comments
 (0)