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::Rustdoc,
54 suite: TestSuite::Ui,
56
57 edition: Default::default(),
59 bless: Default::default(),
60 fail_fast: Default::default(),
61 compile_lib_path: Utf8PathBuf::default(),
62 run_lib_path: Utf8PathBuf::default(),
63 rustc_path: Utf8PathBuf::default(),
64 cargo_path: Default::default(),
65 stage0_rustc_path: Default::default(),
66 query_rustc_path: Default::default(),
67 rustdoc_path: Default::default(),
68 coverage_dump_path: Default::default(),
69 python: Default::default(),
70 jsondocck_path: Default::default(),
71 jsondoclint_path: Default::default(),
72 llvm_filecheck: Default::default(),
73 llvm_bin_dir: Default::default(),
74 run_clang_based_tests_with: Default::default(),
75 src_root: Utf8PathBuf::default(),
76 src_test_suite_root: Utf8PathBuf::default(),
77 build_root: Utf8PathBuf::default(),
78 build_test_suite_root: Utf8PathBuf::default(),
79 sysroot_base: Utf8PathBuf::default(),
80 stage: Default::default(),
81 stage_id: String::default(),
82 debugger: Default::default(),
83 run_ignored: Default::default(),
84 with_rustc_debug_assertions: Default::default(),
85 with_std_debug_assertions: Default::default(),
86 filters: Default::default(),
87 skip: Default::default(),
88 filter_exact: Default::default(),
89 force_pass_mode: Default::default(),
90 run: Default::default(),
91 runner: Default::default(),
92 host_rustcflags: Default::default(),
93 target_rustcflags: Default::default(),
94 rust_randomized_layout: Default::default(),
95 optimize_tests: Default::default(),
96 target: Default::default(),
97 host: Default::default(),
98 cdb: Default::default(),
99 cdb_version: Default::default(),
100 gdb: Default::default(),
101 gdb_version: Default::default(),
102 lldb_version: Default::default(),
103 llvm_version: Default::default(),
104 system_llvm: Default::default(),
105 android_cross_path: Default::default(),
106 adb_path: Default::default(),
107 adb_test_dir: Default::default(),
108 adb_device_status: Default::default(),
109 lldb_python_dir: Default::default(),
110 verbose: Default::default(),
111 color: Default::default(),
112 remote_test_client: Default::default(),
113 compare_mode: Default::default(),
114 rustfix_coverage: Default::default(),
115 has_html_tidy: Default::default(),
116 has_enzyme: Default::default(),
117 channel: Default::default(),
118 git_hash: Default::default(),
119 cc: Default::default(),
120 cxx: Default::default(),
121 cflags: Default::default(),
122 cxxflags: Default::default(),
123 ar: Default::default(),
124 target_linker: Default::default(),
125 host_linker: Default::default(),
126 llvm_components: Default::default(),
127 nodejs: Default::default(),
128 force_rerun: Default::default(),
129 only_modified: Default::default(),
130 target_cfgs: Default::default(),
131 builtin_cfg_names: Default::default(),
132 supported_crate_types: Default::default(),
133 nocapture: Default::default(),
134 nightly_branch: Default::default(),
135 git_merge_commit_email: Default::default(),
136 profiler_runtime: Default::default(),
137 diff_command: Default::default(),
138 minicore_path: Default::default(),
139 default_codegen_backend: CodegenBackend::Llvm,
140 override_codegen_backend: None,
141 }
142}