Crate tester

Source
Expand description

Support code for rustc’s built in unit-test and micro-benchmarking framework.

Almost all user code will only be interested in Bencher and black_box. All other interactions (such as writing tests and benchmarks themselves) should be done via the #[test] and #[bench] attributes.

See the Testing Chapter of the book for more details.

Re-exports§

pub use self::bench::black_box;
pub use self::bench::Bencher;
pub use self::types::TestName::*;
pub use NamePadding::*;
pub use TestFn::*;
pub use TestName::*;
pub use self::ColorConfig::*;

Modules§

bench
Benchmarking module.
stats
test

Structs§

Options
Options for the test run defined by the caller (instead of CLI arguments). In case we want to add other options as well, just add them in this struct.
TestDesc
TestDescAndFn
TestOpts

Enums§

ColorConfig
Whether should console output be colored or not
NamePadding
OutputFormat
Format of the test results output
RunIgnored
Whether ignored test should be run or not
ShouldPanic
Whether test is expected to panic or not
TestFn
TestName
TestType
Type of the test according to the rust book conventions.

Traits§

TDynBenchFn
Represents a benchmark function.
Termination
Invoked when unit tests terminate. Should panic if the unit Tests is considered a failure. By default, invokes report() and checks for a 0 result.

Functions§

assert_test_result
Invoked when unit tests terminate. Should panic if the unit Tests is considered a failure. By default, invokes report() and checks for a 0 result.
convert_benchmarks_to_tests
filter_tests
run_test
run_tests
run_tests_console
A simple console test runner. Runs provided tests reporting process and results to the stdout.
test_main
test_main_static
A variant optimized for invocation with a static test vector. This will panic (intentionally) when fed any dynamic tests.
test_main_static_abort
A variant optimized for invocation with a static test vector. This will panic (intentionally) when fed any dynamic tests.