test: add #![warn(unreachable_pub)]
This commit is contained in:
parent
bf5e634b68
commit
939b7047a0
16 changed files with 80 additions and 79 deletions
|
@ -44,7 +44,7 @@ impl TestOpts {
|
|||
}
|
||||
|
||||
/// Result of parsing the options.
|
||||
pub type OptRes = Result<TestOpts, String>;
|
||||
pub(crate) type OptRes = Result<TestOpts, String>;
|
||||
/// Result of parsing the option part.
|
||||
type OptPartRes<T> = Result<T, String>;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ use super::types::{NamePadding, TestDesc, TestDescAndFn};
|
|||
use super::{filter_tests, run_tests, term};
|
||||
|
||||
/// Generic wrapper over stdout.
|
||||
pub enum OutputLocation<T> {
|
||||
pub(crate) enum OutputLocation<T> {
|
||||
Pretty(Box<term::StdoutTerminal>),
|
||||
Raw(T),
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ impl<T: Write> Write for OutputLocation<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub struct ConsoleTestDiscoveryState {
|
||||
pub(crate) struct ConsoleTestDiscoveryState {
|
||||
pub log_out: Option<File>,
|
||||
pub tests: usize,
|
||||
pub benchmarks: usize,
|
||||
|
@ -49,7 +49,7 @@ pub struct ConsoleTestDiscoveryState {
|
|||
}
|
||||
|
||||
impl ConsoleTestDiscoveryState {
|
||||
pub fn new(opts: &TestOpts) -> io::Result<ConsoleTestDiscoveryState> {
|
||||
pub(crate) fn new(opts: &TestOpts) -> io::Result<ConsoleTestDiscoveryState> {
|
||||
let log_out = match opts.logfile {
|
||||
Some(ref path) => Some(File::create(path)?),
|
||||
None => None,
|
||||
|
@ -58,7 +58,7 @@ impl ConsoleTestDiscoveryState {
|
|||
Ok(ConsoleTestDiscoveryState { log_out, tests: 0, benchmarks: 0, ignored: 0 })
|
||||
}
|
||||
|
||||
pub fn write_log<F, S>(&mut self, msg: F) -> io::Result<()>
|
||||
pub(crate) fn write_log<F, S>(&mut self, msg: F) -> io::Result<()>
|
||||
where
|
||||
S: AsRef<str>,
|
||||
F: FnOnce() -> S,
|
||||
|
@ -74,7 +74,7 @@ impl ConsoleTestDiscoveryState {
|
|||
}
|
||||
}
|
||||
|
||||
pub struct ConsoleTestState {
|
||||
pub(crate) struct ConsoleTestState {
|
||||
pub log_out: Option<File>,
|
||||
pub total: usize,
|
||||
pub passed: usize,
|
||||
|
@ -92,7 +92,7 @@ pub struct ConsoleTestState {
|
|||
}
|
||||
|
||||
impl ConsoleTestState {
|
||||
pub fn new(opts: &TestOpts) -> io::Result<ConsoleTestState> {
|
||||
pub(crate) fn new(opts: &TestOpts) -> io::Result<ConsoleTestState> {
|
||||
let log_out = match opts.logfile {
|
||||
Some(ref path) => Some(File::create(path)?),
|
||||
None => None,
|
||||
|
@ -116,7 +116,7 @@ impl ConsoleTestState {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn write_log<F, S>(&mut self, msg: F) -> io::Result<()>
|
||||
pub(crate) fn write_log<F, S>(&mut self, msg: F) -> io::Result<()>
|
||||
where
|
||||
S: AsRef<str>,
|
||||
F: FnOnce() -> S,
|
||||
|
@ -131,7 +131,7 @@ impl ConsoleTestState {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn write_log_result(
|
||||
pub(crate) fn write_log_result(
|
||||
&mut self,
|
||||
test: &TestDesc,
|
||||
result: &TestResult,
|
||||
|
@ -170,7 +170,7 @@ impl ConsoleTestState {
|
|||
}
|
||||
|
||||
// List the tests to console, and optionally to logfile. Filters are honored.
|
||||
pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Result<()> {
|
||||
pub(crate) fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Result<()> {
|
||||
let output = match term::stdout() {
|
||||
None => OutputLocation::Raw(io::stdout().lock()),
|
||||
Some(t) => OutputLocation::Pretty(t),
|
||||
|
|
|
@ -13,7 +13,7 @@ pub(crate) struct JsonFormatter<T> {
|
|||
}
|
||||
|
||||
impl<T: Write> JsonFormatter<T> {
|
||||
pub fn new(out: OutputLocation<T>) -> Self {
|
||||
pub(crate) fn new(out: OutputLocation<T>) -> Self {
|
||||
Self { out }
|
||||
}
|
||||
|
||||
|
|
|
@ -8,13 +8,13 @@ use crate::test_result::TestResult;
|
|||
use crate::time;
|
||||
use crate::types::{TestDesc, TestType};
|
||||
|
||||
pub struct JunitFormatter<T> {
|
||||
pub(crate) struct JunitFormatter<T> {
|
||||
out: OutputLocation<T>,
|
||||
results: Vec<(TestDesc, TestResult, Duration, Vec<u8>)>,
|
||||
}
|
||||
|
||||
impl<T: Write> JunitFormatter<T> {
|
||||
pub fn new(out: OutputLocation<T>) -> Self {
|
||||
pub(crate) fn new(out: OutputLocation<T>) -> Self {
|
||||
Self { out, results: Vec::new() }
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ pub(crate) struct PrettyFormatter<T> {
|
|||
}
|
||||
|
||||
impl<T: Write> PrettyFormatter<T> {
|
||||
pub fn new(
|
||||
pub(crate) fn new(
|
||||
out: OutputLocation<T>,
|
||||
use_color: bool,
|
||||
max_name_len: usize,
|
||||
|
@ -31,19 +31,19 @@ impl<T: Write> PrettyFormatter<T> {
|
|||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub fn output_location(&self) -> &OutputLocation<T> {
|
||||
pub(crate) fn output_location(&self) -> &OutputLocation<T> {
|
||||
&self.out
|
||||
}
|
||||
|
||||
pub fn write_ok(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_ok(&mut self) -> io::Result<()> {
|
||||
self.write_short_result("ok", term::color::GREEN)
|
||||
}
|
||||
|
||||
pub fn write_failed(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_failed(&mut self) -> io::Result<()> {
|
||||
self.write_short_result("FAILED", term::color::RED)
|
||||
}
|
||||
|
||||
pub fn write_ignored(&mut self, message: Option<&'static str>) -> io::Result<()> {
|
||||
pub(crate) fn write_ignored(&mut self, message: Option<&'static str>) -> io::Result<()> {
|
||||
if let Some(message) = message {
|
||||
self.write_short_result(&format!("ignored, {message}"), term::color::YELLOW)
|
||||
} else {
|
||||
|
@ -51,15 +51,15 @@ impl<T: Write> PrettyFormatter<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn write_time_failed(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_time_failed(&mut self) -> io::Result<()> {
|
||||
self.write_short_result("FAILED (time limit exceeded)", term::color::RED)
|
||||
}
|
||||
|
||||
pub fn write_bench(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_bench(&mut self) -> io::Result<()> {
|
||||
self.write_pretty("bench", term::color::CYAN)
|
||||
}
|
||||
|
||||
pub fn write_short_result(
|
||||
pub(crate) fn write_short_result(
|
||||
&mut self,
|
||||
result: &str,
|
||||
color: term::color::Color,
|
||||
|
@ -67,7 +67,7 @@ impl<T: Write> PrettyFormatter<T> {
|
|||
self.write_pretty(result, color)
|
||||
}
|
||||
|
||||
pub fn write_pretty(&mut self, word: &str, color: term::color::Color) -> io::Result<()> {
|
||||
pub(crate) fn write_pretty(&mut self, word: &str, color: term::color::Color) -> io::Result<()> {
|
||||
match self.out {
|
||||
OutputLocation::Pretty(ref mut term) => {
|
||||
if self.use_color {
|
||||
|
@ -86,7 +86,7 @@ impl<T: Write> PrettyFormatter<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn write_plain<S: AsRef<str>>(&mut self, s: S) -> io::Result<()> {
|
||||
pub(crate) fn write_plain<S: AsRef<str>>(&mut self, s: S) -> io::Result<()> {
|
||||
let s = s.as_ref();
|
||||
self.out.write_all(s.as_bytes())?;
|
||||
self.out.flush()
|
||||
|
@ -154,15 +154,15 @@ impl<T: Write> PrettyFormatter<T> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub fn write_successes(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
pub(crate) fn write_successes(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
self.write_results(&state.not_failures, "successes")
|
||||
}
|
||||
|
||||
pub fn write_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
pub(crate) fn write_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
self.write_results(&state.failures, "failures")
|
||||
}
|
||||
|
||||
pub fn write_time_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
pub(crate) fn write_time_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
self.write_results(&state.time_failures, "failures (time limit exceeded)")
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ pub(crate) struct TerseFormatter<T> {
|
|||
}
|
||||
|
||||
impl<T: Write> TerseFormatter<T> {
|
||||
pub fn new(
|
||||
pub(crate) fn new(
|
||||
out: OutputLocation<T>,
|
||||
use_color: bool,
|
||||
max_name_len: usize,
|
||||
|
@ -42,11 +42,11 @@ impl<T: Write> TerseFormatter<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn write_ok(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_ok(&mut self) -> io::Result<()> {
|
||||
self.write_short_result(".", term::color::GREEN)
|
||||
}
|
||||
|
||||
pub fn write_failed(&mut self, name: &str) -> io::Result<()> {
|
||||
pub(crate) fn write_failed(&mut self, name: &str) -> io::Result<()> {
|
||||
// Put failed tests on their own line and include the test name, so that it's faster
|
||||
// to see which test failed without having to wait for them all to run.
|
||||
|
||||
|
@ -62,15 +62,15 @@ impl<T: Write> TerseFormatter<T> {
|
|||
self.write_plain("\n")
|
||||
}
|
||||
|
||||
pub fn write_ignored(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_ignored(&mut self) -> io::Result<()> {
|
||||
self.write_short_result("i", term::color::YELLOW)
|
||||
}
|
||||
|
||||
pub fn write_bench(&mut self) -> io::Result<()> {
|
||||
pub(crate) fn write_bench(&mut self) -> io::Result<()> {
|
||||
self.write_pretty("bench", term::color::CYAN)
|
||||
}
|
||||
|
||||
pub fn write_short_result(
|
||||
pub(crate) fn write_short_result(
|
||||
&mut self,
|
||||
result: &str,
|
||||
color: term::color::Color,
|
||||
|
@ -95,7 +95,7 @@ impl<T: Write> TerseFormatter<T> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub fn write_pretty(&mut self, word: &str, color: term::color::Color) -> io::Result<()> {
|
||||
pub(crate) fn write_pretty(&mut self, word: &str, color: term::color::Color) -> io::Result<()> {
|
||||
match self.out {
|
||||
OutputLocation::Pretty(ref mut term) => {
|
||||
if self.use_color {
|
||||
|
@ -114,13 +114,13 @@ impl<T: Write> TerseFormatter<T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn write_plain<S: AsRef<str>>(&mut self, s: S) -> io::Result<()> {
|
||||
pub(crate) fn write_plain<S: AsRef<str>>(&mut self, s: S) -> io::Result<()> {
|
||||
let s = s.as_ref();
|
||||
self.out.write_all(s.as_bytes())?;
|
||||
self.out.flush()
|
||||
}
|
||||
|
||||
pub fn write_outputs(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
pub(crate) fn write_outputs(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
self.write_plain("\nsuccesses:\n")?;
|
||||
let mut successes = Vec::new();
|
||||
let mut stdouts = String::new();
|
||||
|
@ -146,7 +146,7 @@ impl<T: Write> TerseFormatter<T> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
pub fn write_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
pub(crate) fn write_failures(&mut self, state: &ConsoleTestState) -> io::Result<()> {
|
||||
self.write_plain("\nfailures:\n")?;
|
||||
let mut failures = Vec::new();
|
||||
let mut fail_out = String::new();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
use std::num::NonZero;
|
||||
use std::{env, thread};
|
||||
|
||||
pub fn get_concurrency() -> usize {
|
||||
pub(crate) fn get_concurrency() -> usize {
|
||||
if let Ok(value) = env::var("RUST_TEST_THREADS") {
|
||||
match value.parse::<NonZero<usize>>().ok() {
|
||||
Some(n) => n.get(),
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! Module with common helpers not directly related to tests
|
||||
//! but used in `libtest`.
|
||||
|
||||
pub mod concurrency;
|
||||
pub mod metrics;
|
||||
pub mod shuffle;
|
||||
pub(crate) mod concurrency;
|
||||
pub(crate) mod metrics;
|
||||
pub(crate) mod shuffle;
|
||||
|
|
|
@ -4,7 +4,7 @@ use std::time::{SystemTime, UNIX_EPOCH};
|
|||
use crate::cli::TestOpts;
|
||||
use crate::types::{TestDescAndFn, TestId, TestName};
|
||||
|
||||
pub fn get_shuffle_seed(opts: &TestOpts) -> Option<u64> {
|
||||
pub(crate) fn get_shuffle_seed(opts: &TestOpts) -> Option<u64> {
|
||||
opts.shuffle_seed.or_else(|| {
|
||||
if opts.shuffle {
|
||||
Some(
|
||||
|
@ -19,7 +19,7 @@ pub fn get_shuffle_seed(opts: &TestOpts) -> Option<u64> {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn shuffle_tests(shuffle_seed: u64, tests: &mut [(TestId, TestDescAndFn)]) {
|
||||
pub(crate) fn shuffle_tests(shuffle_seed: u64, tests: &mut [(TestId, TestDescAndFn)]) {
|
||||
let test_names: Vec<&TestName> = tests.iter().map(|test| &test.1.desc.name).collect();
|
||||
let test_names_hash = calculate_hash(&test_names);
|
||||
let mut rng = Rng::new(shuffle_seed, test_names_hash);
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#![feature(thread_spawn_hook)]
|
||||
#![allow(internal_features)]
|
||||
#![warn(rustdoc::unescaped_backticks)]
|
||||
#![warn(unreachable_pub)]
|
||||
|
||||
pub use cli::TestOpts;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
/// Number of times to run a benchmarked function
|
||||
#[derive(Clone, PartialEq, Eq)]
|
||||
pub enum BenchMode {
|
||||
pub(crate) enum BenchMode {
|
||||
Auto,
|
||||
Single,
|
||||
}
|
||||
|
|
|
@ -573,13 +573,13 @@ fn test_sum_f64_between_ints_that_sum_to_0() {
|
|||
}
|
||||
|
||||
#[bench]
|
||||
pub fn sum_three_items(b: &mut Bencher) {
|
||||
fn sum_three_items(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
[1e20f64, 1.5f64, -1e20f64].sum();
|
||||
})
|
||||
}
|
||||
#[bench]
|
||||
pub fn sum_many_f64(b: &mut Bencher) {
|
||||
fn sum_many_f64(b: &mut Bencher) {
|
||||
let nums = [-1e30f64, 1e60, 1e30, 1.0, -1e60];
|
||||
let v = (0..500).map(|i| nums[i % 5]).collect::<Vec<_>>();
|
||||
|
||||
|
@ -589,4 +589,4 @@ pub fn sum_many_f64(b: &mut Bencher) {
|
|||
}
|
||||
|
||||
#[bench]
|
||||
pub fn no_iter(_: &mut Bencher) {}
|
||||
fn no_iter(_: &mut Bencher) {}
|
||||
|
|
|
@ -62,7 +62,7 @@ pub(crate) mod color {
|
|||
|
||||
/// A terminal with similar capabilities to an ANSI Terminal
|
||||
/// (foreground/background colors etc).
|
||||
pub trait Terminal: Write {
|
||||
pub(crate) trait Terminal: Write {
|
||||
/// Sets the foreground color to the given color.
|
||||
///
|
||||
/// If the color is a bright color, but the terminal only supports 8 colors,
|
||||
|
|
|
@ -12,7 +12,7 @@ use super::types::TestDesc;
|
|||
// Return code for secondary process.
|
||||
// Start somewhere other than 0 so we know the return code means what we think
|
||||
// it means.
|
||||
pub const TR_OK: i32 = 50;
|
||||
pub(crate) const TR_OK: i32 = 50;
|
||||
|
||||
// On Windows we use __fastfail to abort, which is documented to use this
|
||||
// exception code.
|
||||
|
@ -39,7 +39,7 @@ pub enum TestResult {
|
|||
|
||||
/// Creates a `TestResult` depending on the raw result of test execution
|
||||
/// and associated data.
|
||||
pub fn calc_result<'a>(
|
||||
pub(crate) fn calc_result<'a>(
|
||||
desc: &TestDesc,
|
||||
task_result: Result<(), &'a (dyn Any + 'static + Send)>,
|
||||
time_opts: Option<&time::TestTimeOptions>,
|
||||
|
@ -93,7 +93,7 @@ pub fn calc_result<'a>(
|
|||
}
|
||||
|
||||
/// Creates a `TestResult` depending on the exit code of test subprocess.
|
||||
pub fn get_result_from_exit_code(
|
||||
pub(crate) fn get_result_from_exit_code(
|
||||
desc: &TestDesc,
|
||||
status: ExitStatus,
|
||||
time_opts: Option<&time::TestTimeOptions>,
|
||||
|
|
|
@ -78,7 +78,7 @@ fn one_ignored_one_unignored_test() -> Vec<TestDescAndFn> {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn do_not_run_ignored_tests() {
|
||||
fn do_not_run_ignored_tests() {
|
||||
fn f() -> Result<(), String> {
|
||||
panic!();
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ pub fn do_not_run_ignored_tests() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn ignored_tests_result_in_ignored() {
|
||||
fn ignored_tests_result_in_ignored() {
|
||||
fn f() -> Result<(), String> {
|
||||
Ok(())
|
||||
}
|
||||
|
@ -479,7 +479,7 @@ fn parse_include_ignored_flag() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn filter_for_ignored_option() {
|
||||
fn filter_for_ignored_option() {
|
||||
// When we run ignored tests the test filter should filter out all the
|
||||
// unignored tests and flip the ignore flag on the rest to false
|
||||
|
||||
|
@ -496,7 +496,7 @@ pub fn filter_for_ignored_option() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn run_include_ignored_option() {
|
||||
fn run_include_ignored_option() {
|
||||
// When we "--include-ignored" tests, the ignore flag should be set to false on
|
||||
// all tests and no test filtered out
|
||||
|
||||
|
@ -513,7 +513,7 @@ pub fn run_include_ignored_option() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn exclude_should_panic_option() {
|
||||
fn exclude_should_panic_option() {
|
||||
let mut opts = TestOpts::new();
|
||||
opts.run_tests = true;
|
||||
opts.exclude_should_panic = true;
|
||||
|
@ -544,7 +544,7 @@ pub fn exclude_should_panic_option() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn exact_filter_match() {
|
||||
fn exact_filter_match() {
|
||||
fn tests() -> Vec<TestDescAndFn> {
|
||||
["base", "base::test", "base::test1", "base::test2"]
|
||||
.into_iter()
|
||||
|
@ -667,7 +667,7 @@ fn sample_tests() -> Vec<TestDescAndFn> {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn shuffle_tests() {
|
||||
fn shuffle_tests() {
|
||||
let mut opts = TestOpts::new();
|
||||
opts.shuffle = true;
|
||||
|
||||
|
@ -686,7 +686,7 @@ pub fn shuffle_tests() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn shuffle_tests_with_seed() {
|
||||
fn shuffle_tests_with_seed() {
|
||||
let mut opts = TestOpts::new();
|
||||
opts.shuffle = true;
|
||||
|
||||
|
@ -704,7 +704,7 @@ pub fn shuffle_tests_with_seed() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn order_depends_on_more_than_seed() {
|
||||
fn order_depends_on_more_than_seed() {
|
||||
let mut opts = TestOpts::new();
|
||||
opts.shuffle = true;
|
||||
|
||||
|
@ -732,7 +732,7 @@ pub fn order_depends_on_more_than_seed() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_metricmap_compare() {
|
||||
fn test_metricmap_compare() {
|
||||
let mut m1 = MetricMap::new();
|
||||
let mut m2 = MetricMap::new();
|
||||
m1.insert_metric("in-both-noise", 1000.0, 200.0);
|
||||
|
@ -755,7 +755,7 @@ pub fn test_metricmap_compare() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_bench_once_no_iter() {
|
||||
fn test_bench_once_no_iter() {
|
||||
fn f(_: &mut Bencher) -> Result<(), String> {
|
||||
Ok(())
|
||||
}
|
||||
|
@ -763,7 +763,7 @@ pub fn test_bench_once_no_iter() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_bench_once_iter() {
|
||||
fn test_bench_once_iter() {
|
||||
fn f(b: &mut Bencher) -> Result<(), String> {
|
||||
b.iter(|| {});
|
||||
Ok(())
|
||||
|
@ -772,7 +772,7 @@ pub fn test_bench_once_iter() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_bench_no_iter() {
|
||||
fn test_bench_no_iter() {
|
||||
fn f(_: &mut Bencher) -> Result<(), String> {
|
||||
Ok(())
|
||||
}
|
||||
|
@ -799,7 +799,7 @@ pub fn test_bench_no_iter() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
pub fn test_bench_iter() {
|
||||
fn test_bench_iter() {
|
||||
fn f(b: &mut Bencher) -> Result<(), String> {
|
||||
b.iter(|| {});
|
||||
Ok(())
|
||||
|
|
|
@ -11,7 +11,7 @@ use std::{env, fmt};
|
|||
|
||||
use super::types::{TestDesc, TestType};
|
||||
|
||||
pub const TEST_WARN_TIMEOUT_S: u64 = 60;
|
||||
pub(crate) const TEST_WARN_TIMEOUT_S: u64 = 60;
|
||||
|
||||
/// This small module contains constants used by `report-time` option.
|
||||
/// Those constants values will be used if corresponding environment variables are not set.
|
||||
|
@ -22,42 +22,42 @@ pub const TEST_WARN_TIMEOUT_S: u64 = 60;
|
|||
///
|
||||
/// Example of the expected format is `RUST_TEST_TIME_xxx=100,200`, where 100 means
|
||||
/// warn time, and 200 means critical time.
|
||||
pub mod time_constants {
|
||||
pub(crate) mod time_constants {
|
||||
use std::time::Duration;
|
||||
|
||||
use super::TEST_WARN_TIMEOUT_S;
|
||||
|
||||
/// Environment variable for overriding default threshold for unit-tests.
|
||||
pub const UNIT_ENV_NAME: &str = "RUST_TEST_TIME_UNIT";
|
||||
pub(crate) const UNIT_ENV_NAME: &str = "RUST_TEST_TIME_UNIT";
|
||||
|
||||
// Unit tests are supposed to be really quick.
|
||||
pub const UNIT_WARN: Duration = Duration::from_millis(50);
|
||||
pub const UNIT_CRITICAL: Duration = Duration::from_millis(100);
|
||||
pub(crate) const UNIT_WARN: Duration = Duration::from_millis(50);
|
||||
pub(crate) const UNIT_CRITICAL: Duration = Duration::from_millis(100);
|
||||
|
||||
/// Environment variable for overriding default threshold for unit-tests.
|
||||
pub const INTEGRATION_ENV_NAME: &str = "RUST_TEST_TIME_INTEGRATION";
|
||||
pub(crate) const INTEGRATION_ENV_NAME: &str = "RUST_TEST_TIME_INTEGRATION";
|
||||
|
||||
// Integration tests may have a lot of work, so they can take longer to execute.
|
||||
pub const INTEGRATION_WARN: Duration = Duration::from_millis(500);
|
||||
pub const INTEGRATION_CRITICAL: Duration = Duration::from_millis(1000);
|
||||
pub(crate) const INTEGRATION_WARN: Duration = Duration::from_millis(500);
|
||||
pub(crate) const INTEGRATION_CRITICAL: Duration = Duration::from_millis(1000);
|
||||
|
||||
/// Environment variable for overriding default threshold for unit-tests.
|
||||
pub const DOCTEST_ENV_NAME: &str = "RUST_TEST_TIME_DOCTEST";
|
||||
pub(crate) const DOCTEST_ENV_NAME: &str = "RUST_TEST_TIME_DOCTEST";
|
||||
|
||||
// Doctests are similar to integration tests, because they can include a lot of
|
||||
// initialization code.
|
||||
pub const DOCTEST_WARN: Duration = INTEGRATION_WARN;
|
||||
pub const DOCTEST_CRITICAL: Duration = INTEGRATION_CRITICAL;
|
||||
pub(crate) const DOCTEST_WARN: Duration = INTEGRATION_WARN;
|
||||
pub(crate) const DOCTEST_CRITICAL: Duration = INTEGRATION_CRITICAL;
|
||||
|
||||
// Do not suppose anything about unknown tests, base limits on the
|
||||
// `TEST_WARN_TIMEOUT_S` constant.
|
||||
pub const UNKNOWN_WARN: Duration = Duration::from_secs(TEST_WARN_TIMEOUT_S);
|
||||
pub const UNKNOWN_CRITICAL: Duration = Duration::from_secs(TEST_WARN_TIMEOUT_S * 2);
|
||||
pub(crate) const UNKNOWN_WARN: Duration = Duration::from_secs(TEST_WARN_TIMEOUT_S);
|
||||
pub(crate) const UNKNOWN_CRITICAL: Duration = Duration::from_secs(TEST_WARN_TIMEOUT_S * 2);
|
||||
}
|
||||
|
||||
/// Returns an `Instance` object denoting when the test should be considered
|
||||
/// timed out.
|
||||
pub fn get_default_test_timeout() -> Instant {
|
||||
pub(crate) fn get_default_test_timeout() -> Instant {
|
||||
Instant::now() + Duration::from_secs(TEST_WARN_TIMEOUT_S)
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ impl fmt::Display for TestExecTime {
|
|||
|
||||
/// The measured execution time of the whole test suite.
|
||||
#[derive(Debug, Clone, Default, PartialEq)]
|
||||
pub struct TestSuiteExecTime(pub Duration);
|
||||
pub(crate) struct TestSuiteExecTime(pub Duration);
|
||||
|
||||
impl fmt::Display for TestSuiteExecTime {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue