@@ -149,9 +149,7 @@ impl<T, F: FnOnce(T) + Send + 'static> FnBox<T> for F {
149
149
pub enum TestFn {
150
150
StaticTestFn ( fn ( ) ) ,
151
151
StaticBenchFn ( fn ( & mut Bencher ) ) ,
152
- StaticMetricFn ( fn ( & mut MetricMap ) ) ,
153
152
DynTestFn ( Box < FnBox < ( ) > > ) ,
154
- DynMetricFn ( Box <for <' a > FnBox < & ' a mut MetricMap > >) ,
155
153
DynBenchFn ( Box < TDynBenchFn + ' static > ) ,
156
154
}
157
155
@@ -160,9 +158,7 @@ impl TestFn {
160
158
match * self {
161
159
StaticTestFn ( ..) => PadNone ,
162
160
StaticBenchFn ( ..) => PadOnRight ,
163
- StaticMetricFn ( ..) => PadOnRight ,
164
161
DynTestFn ( ..) => PadNone ,
165
- DynMetricFn ( ..) => PadOnRight ,
166
162
DynBenchFn ( ..) => PadOnRight ,
167
163
}
168
164
}
@@ -173,9 +169,7 @@ impl fmt::Debug for TestFn {
173
169
f. write_str ( match * self {
174
170
StaticTestFn ( ..) => "StaticTestFn(..)" ,
175
171
StaticBenchFn ( ..) => "StaticBenchFn(..)" ,
176
- StaticMetricFn ( ..) => "StaticMetricFn(..)" ,
177
172
DynTestFn ( ..) => "DynTestFn(..)" ,
178
- DynMetricFn ( ..) => "DynMetricFn(..)" ,
179
173
DynBenchFn ( ..) => "DynBenchFn(..)" ,
180
174
} )
181
175
}
@@ -244,16 +238,6 @@ impl Metric {
244
238
}
245
239
}
246
240
247
- #[ derive( PartialEq ) ]
248
- pub struct MetricMap ( BTreeMap < String , Metric > ) ;
249
-
250
- impl Clone for MetricMap {
251
- fn clone ( & self ) -> MetricMap {
252
- let MetricMap ( ref map) = * self ;
253
- MetricMap ( map. clone ( ) )
254
- }
255
- }
256
-
257
241
/// In case we want to add other options as well, just add them in this struct.
258
242
#[ derive( Copy , Clone , Debug ) ]
259
243
pub struct Options {
@@ -526,7 +510,6 @@ pub enum TestResult {
526
510
TrFailedMsg ( String ) ,
527
511
TrIgnored ,
528
512
TrAllowedFail ,
529
- TrMetrics ( MetricMap ) ,
530
513
TrBench ( BenchSamples ) ,
531
514
}
532
515
@@ -603,10 +586,6 @@ impl<T: Write> ConsoleTestState<T> {
603
586
self . write_short_result ( "FAILED (allowed)" , "a" , term:: color:: YELLOW )
604
587
}
605
588
606
- pub fn write_metric ( & mut self ) -> io:: Result < ( ) > {
607
- self . write_pretty ( "metric" , term:: color:: CYAN )
608
- }
609
-
610
589
pub fn write_bench ( & mut self ) -> io:: Result < ( ) > {
611
590
self . write_pretty ( "bench" , term:: color:: CYAN )
612
591
}
@@ -679,10 +658,6 @@ impl<T: Write> ConsoleTestState<T> {
679
658
TrFailed | TrFailedMsg ( _) => self . write_failed ( ) ,
680
659
TrIgnored => self . write_ignored ( ) ,
681
660
TrAllowedFail => self . write_allowed_fail ( ) ,
682
- TrMetrics ( ref mm) => {
683
- self . write_metric ( ) ?;
684
- self . write_plain ( & format ! ( ": {}\n " , mm. fmt_metrics( ) ) )
685
- }
686
661
TrBench ( ref bs) => {
687
662
self . write_bench ( ) ?;
688
663
self . write_plain ( & format ! ( ": {}\n " , fmt_bench_samples( bs) ) )
@@ -713,7 +688,6 @@ impl<T: Write> ConsoleTestState<T> {
713
688
TrFailedMsg ( ref msg) => format!( "failed: {}" , msg) ,
714
689
TrIgnored => "ignored" . to_owned( ) ,
715
690
TrAllowedFail => "failed (allowed)" . to_owned( ) ,
716
- TrMetrics ( ref mm) => mm. fmt_metrics( ) ,
717
691
TrBench ( ref bs) => fmt_bench_samples( bs) ,
718
692
} ,
719
693
test. name) )
@@ -860,7 +834,6 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
860
834
861
835
let mut ntest = 0 ;
862
836
let mut nbench = 0 ;
863
- let mut nmetric = 0 ;
864
837
865
838
for test in filter_tests ( & opts, tests) {
866
839
use TestFn :: * ;
@@ -870,7 +843,6 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
870
843
let fntype = match testfn {
871
844
StaticTestFn ( ..) | DynTestFn ( ..) => { ntest += 1 ; "test" } ,
872
845
StaticBenchFn ( ..) | DynBenchFn ( ..) => { nbench += 1 ; "benchmark" } ,
873
- StaticMetricFn ( ..) | DynMetricFn ( ..) => { nmetric += 1 ; "metric" } ,
874
846
} ;
875
847
876
848
st. write_plain ( format ! ( "{}: {}\n " , name, fntype) ) ?;
@@ -885,13 +857,12 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
885
857
}
886
858
887
859
if !opts. quiet {
888
- if ntest != 0 || nbench != 0 || nmetric != 0 {
860
+ if ntest != 0 || nbench != 0 {
889
861
st. write_plain ( "\n " ) ?;
890
862
}
891
- st. write_plain ( format ! ( "{}, {}, {} \n " ,
863
+ st. write_plain ( format ! ( "{}, {}\n " ,
892
864
plural( ntest, "test" ) ,
893
- plural( nbench, "benchmark" ) ,
894
- plural( nmetric, "metric" ) ) ) ?;
865
+ plural( nbench, "benchmark" ) ) ) ?;
895
866
}
896
867
897
868
Ok ( ( ) )
@@ -916,15 +887,6 @@ pub fn run_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Resu
916
887
}
917
888
TrIgnored => st. ignored += 1 ,
918
889
TrAllowedFail => st. allowed_fail += 1 ,
919
- TrMetrics ( mm) => {
920
- let tname = test. name ;
921
- let MetricMap ( mm) = mm;
922
- for ( k, v) in & mm {
923
- st. metrics
924
- . insert_metric ( & format ! ( "{}.{}" , tname, k) , v. value , v. noise ) ;
925
- }
926
- st. measured += 1
927
- }
928
890
TrBench ( bs) => {
929
891
st. metrics . insert_metric ( test. name . as_slice ( ) ,
930
892
bs. ns_iter_summ . median ,
@@ -1079,7 +1041,7 @@ pub fn run_tests<F>(opts: &TestOpts, tests: Vec<TestDescAndFn>, mut callback: F)
1079
1041
1080
1042
callback ( TeFiltered ( filtered_descs) ) ?;
1081
1043
1082
- let ( filtered_tests, filtered_benchs_and_metrics ) : ( Vec < _ > , _ ) =
1044
+ let ( filtered_tests, filtered_benchs ) : ( Vec < _ > , _ ) =
1083
1045
filtered_tests. into_iter ( ) . partition ( |e| {
1084
1046
match e. testfn {
1085
1047
StaticTestFn ( _) | DynTestFn ( _) => true ,
@@ -1164,8 +1126,7 @@ pub fn run_tests<F>(opts: &TestOpts, tests: Vec<TestDescAndFn>, mut callback: F)
1164
1126
1165
1127
if opts. bench_benchmarks {
1166
1128
// All benchmarks run at the end, in serial.
1167
- // (this includes metric fns)
1168
- for b in filtered_benchs_and_metrics {
1129
+ for b in filtered_benchs {
1169
1130
callback ( TeWait ( b. desc . clone ( ) , b. testfn . padding ( ) ) ) ?;
1170
1131
run_test ( opts, false , b, tx. clone ( ) ) ;
1171
1132
let ( test, result, stdout) = rx. recv ( ) . unwrap ( ) ;
@@ -1457,18 +1418,6 @@ pub fn run_test(opts: &TestOpts,
1457
1418
monitor_ch. send ( ( desc, TrBench ( bs) , Vec :: new ( ) ) ) . unwrap ( ) ;
1458
1419
return ;
1459
1420
}
1460
- DynMetricFn ( f) => {
1461
- let mut mm = MetricMap :: new ( ) ;
1462
- f. call_box ( & mut mm) ;
1463
- monitor_ch. send ( ( desc, TrMetrics ( mm) , Vec :: new ( ) ) ) . unwrap ( ) ;
1464
- return ;
1465
- }
1466
- StaticMetricFn ( f) => {
1467
- let mut mm = MetricMap :: new ( ) ;
1468
- f ( & mut mm) ;
1469
- monitor_ch. send ( ( desc, TrMetrics ( mm) , Vec :: new ( ) ) ) . unwrap ( ) ;
1470
- return ;
1471
- }
1472
1421
DynTestFn ( f) => {
1473
1422
let cb = move |( ) | {
1474
1423
__rust_begin_short_backtrace ( || f. call_box ( ( ) ) )
@@ -1510,6 +1459,9 @@ fn calc_result(desc: &TestDesc, task_result: Result<(), Box<Any + Send>>) -> Tes
1510
1459
}
1511
1460
}
1512
1461
1462
+ #[ derive( Clone , PartialEq ) ]
1463
+ pub struct MetricMap ( BTreeMap < String , Metric > ) ;
1464
+
1513
1465
impl MetricMap {
1514
1466
pub fn new ( ) -> MetricMap {
1515
1467
MetricMap ( BTreeMap :: new ( ) )
@@ -1533,15 +1485,14 @@ impl MetricMap {
1533
1485
value,
1534
1486
noise,
1535
1487
} ;
1536
- let MetricMap ( ref mut map) = * self ;
1537
- map. insert ( name. to_owned ( ) , m) ;
1488
+ self . 0 . insert ( name. to_owned ( ) , m) ;
1538
1489
}
1539
1490
1540
1491
pub fn fmt_metrics ( & self ) -> String {
1541
- let MetricMap ( ref mm ) = * self ;
1542
- let v : Vec < String > = mm . iter ( )
1543
- . map ( |( k, v) | format ! ( "{}: {} (+/- {})" , * k, v. value, v. noise) )
1544
- . collect ( ) ;
1492
+ let v = self . 0
1493
+ . iter ( )
1494
+ . map ( |( k, v) | format ! ( "{}: {} (+/- {})" , * k, v. value, v. noise) )
1495
+ . collect :: < Vec < _ > > ( ) ;
1545
1496
v. join ( ", " )
1546
1497
}
1547
1498
}
0 commit comments