1use std::path::Path;
15
16use camino::{Utf8Path, Utf8PathBuf};
17
18use crate::common::{CodegenBackend, Config, TestMode, TestSuite};
19use crate::directives::TestProps;
20
21#[derive(Debug)]
24pub struct RustdocGuiTestProps {
25 pub compile_flags: Vec<String>,
26 pub run_flags: Vec<String>,
27}
28
29impl RustdocGuiTestProps {
30 pub fn from_file(test_file_path: &Path) -> Self {
31 let test_file_path = Utf8Path::from_path(test_file_path).unwrap();
32 let config = incomplete_config_for_rustdoc_gui_test();
33
34 let props = TestProps::from_file(test_file_path, None, &config);
35
36 let TestProps { compile_flags, run_flags, .. } = props;
37 Self { compile_flags, run_flags }
38 }
39}
40
41fn incomplete_config_for_rustdoc_gui_test() -> Config {
49 Config {
53 mode: TestMode::RustdocHtml,
54 suite: TestSuite::Ui,
56
57 edition: Default::default(),
59 bless: Default::default(),
60 fail_fast: Default::default(),
61 host_compile_lib_path: Utf8PathBuf::default(),
62 target_run_lib_path: Utf8PathBuf::default(),
63 rustc_path: Utf8PathBuf::default(),
64 cargo_path: Default::default(),
65 stage0_rustc_path: Default::default(),
66 run_make_support_rlib: Default::default(),
67 run_make_support_rmeta: Default::default(),
68 query_rustc_path: Default::default(),
69 query_rustc_lib_path: Default::default(),
70 rustdoc_path: Default::default(),
71 coverage_dump_path: Default::default(),
72 python: Default::default(),
73 jsondocck_path: Default::default(),
74 jsondoclint_path: Default::default(),
75 llvm_filecheck: Default::default(),
76 llvm_bin_dir: Default::default(),
77 run_clang_based_tests_with: Default::default(),
78 src_root: Utf8PathBuf::default(),
79 src_test_suite_root: Utf8PathBuf::default(),
80 build_root: Utf8PathBuf::default(),
81 build_test_suite_root: Utf8PathBuf::default(),
82 sysroot_base: Utf8PathBuf::default(),
83 stage: Default::default(),
84 stage_id: String::default(),
85 run_ignored: Default::default(),
86 with_rustc_debug_assertions: Default::default(),
87 with_std_debug_assertions: Default::default(),
88 with_std_remap_debuginfo: Default::default(),
89 filters: Default::default(),
90 skip: Default::default(),
91 filter_exact: Default::default(),
92 force_pass_mode: Default::default(),
93 run: Default::default(),
94 runner: Default::default(),
95 host_rustcflags: Default::default(),
96 target_rustcflags: Default::default(),
97 rust_randomized_layout: Default::default(),
98 optimize_tests: Default::default(),
99 disable_minification: Default::default(),
100 target: Default::default(),
101 host: Default::default(),
102 cdb: Default::default(),
103 cdb_version: Default::default(),
104 gdb: Default::default(),
105 gdb_version: Default::default(),
106 lldb: Default::default(),
107 lldb_version: Default::default(),
108 llvm_version: Default::default(),
109 system_llvm: Default::default(),
110 android_cross_path: Default::default(),
111 adb_path: Default::default(),
112 adb_test_dir: Default::default(),
113 adb_device_status: Default::default(),
114 verbose: Default::default(),
115 verbose_run_make_subprocess_output: Default::default(),
116 remote_test_client: Default::default(),
117 compare_mode: Default::default(),
118 rustfix_coverage: Default::default(),
119 has_enzyme: Default::default(),
120 has_offload: Default::default(),
121 channel: Default::default(),
122 git_hash: Default::default(),
123 cc: Default::default(),
124 cxx: Default::default(),
125 cflags: Default::default(),
126 cxxflags: Default::default(),
127 ar: Default::default(),
128 target_linker: Default::default(),
129 host_linker: Default::default(),
130 llvm_components: Default::default(),
131 nodejs: Default::default(),
132 force_rerun: Default::default(),
133 only_modified: Default::default(),
134 target_cfgs: Default::default(),
135 builtin_cfg_names: Default::default(),
136 supported_crate_types: Default::default(),
137 capture: Default::default(),
138 nightly_branch: Default::default(),
139 git_merge_commit_email: Default::default(),
140 profiler_runtime: Default::default(),
141 diff_command: Default::default(),
142 minicore_path: Default::default(),
143 default_codegen_backend: CodegenBackend::Llvm,
144 override_codegen_backend: None,
145 bypass_ignore_backends: Default::default(),
146 jobs: Default::default(),
147 parallel_frontend_threads: Config::DEFAULT_PARALLEL_FRONTEND_THREADS,
148 iteration_count: Config::DEFAULT_ITERATION_COUNT,
149 wasm_proc_macros: false,
150 }
151}