Crate tester[][src]

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.