A Rust programozási nyelv

Helyesség

Unit tesztek

A tesztnek jelölt részeket (#[test]) csak a --test flag esetén fordítja le

fn return_two() ­> int {     2 } #[test] fn return_two_test() {     let x = return_two();     assert!(x == 2); }
$ rustc ­­test foo.rs; ./foo running 1 test test return_two_test ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

Bencmark-ok

Lehetőség van teljesítmény mérésre A megjelölt (#[bench]) függvényeket a --test flag esetén is fordítja de nem futtatja. Futtatni csak a --bench flag esetén fogja őket. Kötött szignatúra: mutable BencHarness referenciát kell átvenni paraméterként.

extern mod extra; use std::vec; #[bench] fn bench_sum_1024_ints(b: &mut  extra::test::BenchHarness) {     let v = vec::from_fn(1024, |n| n);     b.iter(|| {v.iter().fold(0, |old, new| old + *new);} ); } #[bench] fn initialise_a_vector(b: &mut  extra::test::BenchHarness) {     b.iter(|| {vec::from_elem(1024, 0u64);} );     b.bytes = 1024 * 8; }
> mytests ­­bench running 2 tests test bench_sum_1024_ints ... bench:    709 ns/iter (+/­ 82) test initialise_a_vector ... bench:    424 ns/iter (+/­ 99) = 19320 MB/s test result: ok.    0 passed; 0 failed; 0 ignored; 2 measured