1#![warn(unreachable_pub)]
8
9mod command;
10mod macros;
11mod util;
12
13pub mod artifact_names;
14pub mod assertion_helpers;
15pub mod diff;
16pub mod env;
17pub mod external_deps;
18pub mod linker;
19pub mod obj;
20pub mod parallel;
21pub mod path_helpers;
22pub mod run;
23pub mod scoped_run;
24pub mod string;
25pub mod targets;
26pub mod wasm;
27
28mod fs;
31
32pub mod rfs {
35 pub use crate::fs::*;
36}
37
38pub mod symbols {
40 pub use crate::obj::{
41 ContainsAllSymbolSubstringsOutcome, ContainsAllSymbolsOutcome,
42 exported_dynamic_symbol_names, object_contains_all_symbol_substring,
43 object_contains_all_symbols, object_contains_any_symbol,
44 object_contains_any_symbol_substring,
45 };
46}
47
48pub use bstr;
50pub use gimli;
51pub use libc;
52pub use object;
53pub use regex;
54pub use rustdoc_json_types;
55pub use serde_json;
56pub use similar;
57pub use tempfile;
58pub use wasmparser;
59#[cfg(windows)]
60pub use windows;
61
62pub use crate::artifact_names::{
64 bin_name, dynamic_lib_extension, dynamic_lib_name, msvc_import_dynamic_lib_name, rust_lib_name,
65 static_lib_name,
66};
67pub use crate::assertion_helpers::{
68 assert_contains, assert_contains_regex, assert_count_is, assert_dirs_are_equal, assert_equals,
69 assert_not_contains, assert_not_contains_regex,
70};
71pub use crate::command::CompletedProcess;
72pub use crate::diff::{Diff, diff};
76pub use crate::env::{env_var, env_var_os, set_current_dir};
78pub use crate::external_deps::c_build::{
79 build_native_dynamic_lib, build_native_static_lib, build_native_static_lib_cxx,
80 build_native_static_lib_optimized,
81};
82pub use crate::external_deps::c_cxx_compiler::{
84 Cc, Gcc, cc, cxx, extra_c_flags, extra_cxx_flags, extra_linker_flags, gcc,
85};
86pub use crate::external_deps::cargo::cargo;
87pub use crate::external_deps::clang::{Clang, clang};
88pub use crate::external_deps::htmldocck::htmldocck;
89pub use crate::external_deps::llvm::{
90 self, LlvmAr, LlvmBcanalyzer, LlvmDis, LlvmDwarfdump, LlvmFilecheck, LlvmNm, LlvmObjcopy,
91 LlvmObjdump, LlvmProfdata, LlvmReadobj, llvm_ar, llvm_as, llvm_bcanalyzer, llvm_dis,
92 llvm_dwarfdump, llvm_filecheck, llvm_nm, llvm_objcopy, llvm_objdump, llvm_profdata,
93 llvm_readobj,
94};
95pub use crate::external_deps::python::python_command;
96pub use crate::external_deps::rustc::{
97 self, Rustc, bare_rustc, rustc, rustc_minicore, rustc_path, stable_bare_rustc,
98};
99pub use crate::external_deps::rustdoc::{Rustdoc, bare_rustdoc, rustdoc};
100pub use crate::path_helpers::{
102 build_root, cwd, filename_contains, filename_not_in_denylist, has_extension, has_prefix,
103 has_suffix, not_contains, path, recursive_find_files, shallow_find_directories,
104 shallow_find_files, source_root,
105};
106pub use crate::run::{cmd, run, run_fail, run_fail_with_args, run_with_args};
108pub use crate::scoped_run::{run_in_tmpdir, test_while_readonly};
110pub use crate::string::{
111 count_regex_matches_in_files_with_extension, invalid_utf8_contains, invalid_utf8_not_contains,
112};
113pub use crate::targets::{
115 apple_os, is_aix, is_arm64ec, is_darwin, is_win7, is_windows, is_windows_gnu, is_windows_msvc,
116 llvm_components_contain, target, uname,
117};