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