@@ -150,9 +150,7 @@ impl<T, F: FnOnce(T) + Send + 'static> FnBox<T> for F {
150
150
pub enum TestFn {
151
151
StaticTestFn ( fn ( ) ) ,
152
152
StaticBenchFn ( fn ( & mut Bencher ) ) ,
153
- StaticMetricFn ( fn ( & mut MetricMap ) ) ,
154
153
DynTestFn ( Box < FnBox < ( ) > > ) ,
155
- DynMetricFn ( Box <for <' a > FnBox < & ' a mut MetricMap > >) ,
156
154
DynBenchFn ( Box < TDynBenchFn + ' static > ) ,
157
155
}
158
156
@@ -161,9 +159,7 @@ impl TestFn {
161
159
match * self {
162
160
StaticTestFn ( ..) => PadNone ,
163
161
StaticBenchFn ( ..) => PadOnRight ,
164
- StaticMetricFn ( ..) => PadOnRight ,
165
162
DynTestFn ( ..) => PadNone ,
166
- DynMetricFn ( ..) => PadOnRight ,
167
163
DynBenchFn ( ..) => PadOnRight ,
168
164
}
169
165
}
@@ -174,9 +170,7 @@ impl fmt::Debug for TestFn {
174
170
f. write_str ( match * self {
175
171
StaticTestFn ( ..) => "StaticTestFn(..)" ,
176
172
StaticBenchFn ( ..) => "StaticBenchFn(..)" ,
177
- StaticMetricFn ( ..) => "StaticMetricFn(..)" ,
178
173
DynTestFn ( ..) => "DynTestFn(..)" ,
179
- DynMetricFn ( ..) => "DynMetricFn(..)" ,
180
174
DynBenchFn ( ..) => "DynBenchFn(..)" ,
181
175
} )
182
176
}
@@ -245,16 +239,6 @@ impl Metric {
245
239
}
246
240
}
247
241
248
- #[ derive( PartialEq ) ]
249
- pub struct MetricMap ( BTreeMap < String , Metric > ) ;
250
-
251
- impl Clone for MetricMap {
252
- fn clone ( & self ) -> MetricMap {
253
- let MetricMap ( ref map) = * self ;
254
- MetricMap ( map. clone ( ) )
255
- }
256
- }
257
-
258
242
/// In case we want to add other options as well, just add them in this struct.
259
243
#[ derive( Copy , Clone , Debug ) ]
260
244
pub struct Options {
@@ -528,7 +512,6 @@ pub enum TestResult {
528
512
TrFailedMsg ( String ) ,
529
513
TrIgnored ,
530
514
TrAllowedFail ,
531
- TrMetrics ( MetricMap ) ,
532
515
TrBench ( BenchSamples ) ,
533
516
}
534
517
@@ -605,10 +588,6 @@ impl<T: Write> ConsoleTestState<T> {
605
588
self . write_short_result ( "FAILED (allowed)" , "a" , term:: color:: YELLOW )
606
589
}
607
590
608
- pub fn write_metric ( & mut self ) -> io:: Result < ( ) > {
609
- self . write_pretty ( "metric" , term:: color:: CYAN )
610
- }
611
-
612
591
pub fn write_bench ( & mut self ) -> io:: Result < ( ) > {
613
592
self . write_pretty ( "bench" , term:: color:: CYAN )
614
593
}
@@ -688,10 +667,6 @@ impl<T: Write> ConsoleTestState<T> {
688
667
TrFailed | TrFailedMsg ( _) => self . write_failed ( ) ,
689
668
TrIgnored => self . write_ignored ( ) ,
690
669
TrAllowedFail => self . write_allowed_fail ( ) ,
691
- TrMetrics ( ref mm) => {
692
- self . write_metric ( ) ?;
693
- self . write_plain ( & format ! ( ": {}\n " , mm. fmt_metrics( ) ) )
694
- }
695
670
TrBench ( ref bs) => {
696
671
self . write_bench ( ) ?;
697
672
self . write_plain ( & format ! ( ": {}\n " , fmt_bench_samples( bs) ) )
@@ -722,7 +697,6 @@ impl<T: Write> ConsoleTestState<T> {
722
697
TrFailedMsg ( ref msg) => format!( "failed: {}" , msg) ,
723
698
TrIgnored => "ignored" . to_owned( ) ,
724
699
TrAllowedFail => "failed (allowed)" . to_owned( ) ,
725
- TrMetrics ( ref mm) => mm. fmt_metrics( ) ,
726
700
TrBench ( ref bs) => fmt_bench_samples( bs) ,
727
701
} ,
728
702
test. name) )
@@ -872,7 +846,6 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
872
846
873
847
let mut ntest = 0 ;
874
848
let mut nbench = 0 ;
875
- let mut nmetric = 0 ;
876
849
877
850
for test in filter_tests ( & opts, tests) {
878
851
use TestFn :: * ;
@@ -882,7 +855,6 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
882
855
let fntype = match testfn {
883
856
StaticTestFn ( ..) | DynTestFn ( ..) => { ntest += 1 ; "test" } ,
884
857
StaticBenchFn ( ..) | DynBenchFn ( ..) => { nbench += 1 ; "benchmark" } ,
885
- StaticMetricFn ( ..) | DynMetricFn ( ..) => { nmetric += 1 ; "metric" } ,
886
858
} ;
887
859
888
860
st. write_plain ( format ! ( "{}: {}\n " , name, fntype) ) ?;
@@ -897,13 +869,12 @@ pub fn list_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Res
897
869
}
898
870
899
871
if !opts. quiet {
900
- if ntest != 0 || nbench != 0 || nmetric != 0 {
872
+ if ntest != 0 || nbench != 0 {
901
873
st. write_plain ( "\n " ) ?;
902
874
}
903
- st. write_plain ( format ! ( "{}, {}, {} \n " ,
875
+ st. write_plain ( format ! ( "{}, {}\n " ,
904
876
plural( ntest, "test" ) ,
905
- plural( nbench, "benchmark" ) ,
906
- plural( nmetric, "metric" ) ) ) ?;
877
+ plural( nbench, "benchmark" ) ) ) ?;
907
878
}
908
879
909
880
Ok ( ( ) )
@@ -928,15 +899,6 @@ pub fn run_tests_console(opts: &TestOpts, tests: Vec<TestDescAndFn>) -> io::Resu
928
899
}
929
900
TrIgnored => st. ignored += 1 ,
930
901
TrAllowedFail => st. allowed_fail += 1 ,
931
- TrMetrics ( mm) => {
932
- let tname = test. name ;
933
- let MetricMap ( mm) = mm;
934
- for ( k, v) in & mm {
935
- st. metrics
936
- . insert_metric ( & format ! ( "{}.{}" , tname, k) , v. value , v. noise ) ;
937
- }
938
- st. measured += 1
939
- }
940
902
TrBench ( bs) => {
941
903
st. metrics . insert_metric ( test. name . as_slice ( ) ,
942
904
bs. ns_iter_summ . median ,
@@ -1095,7 +1057,7 @@ pub fn run_tests<F>(opts: &TestOpts, tests: Vec<TestDescAndFn>, mut callback: F)
1095
1057
1096
1058
callback ( TeFiltered ( filtered_descs) ) ?;
1097
1059
1098
- let ( filtered_tests, filtered_benchs_and_metrics ) : ( Vec < _ > , _ ) =
1060
+ let ( filtered_tests, filtered_benchs ) : ( Vec < _ > , _ ) =
1099
1061
filtered_tests. into_iter ( ) . partition ( |e| {
1100
1062
match e. testfn {
1101
1063
StaticTestFn ( _) | DynTestFn ( _) => true ,
@@ -1182,8 +1144,7 @@ pub fn run_tests<F>(opts: &TestOpts, tests: Vec<TestDescAndFn>, mut callback: F)
1182
1144
1183
1145
if opts. bench_benchmarks {
1184
1146
// All benchmarks run at the end, in serial.
1185
- // (this includes metric fns)
1186
- for b in filtered_benchs_and_metrics {
1147
+ for b in filtered_benchs {
1187
1148
callback ( TeWait ( b. desc . clone ( ) , b. testfn . padding ( ) ) ) ?;
1188
1149
run_test ( opts, false , b, tx. clone ( ) ) ;
1189
1150
let ( test, result, stdout) = rx. recv ( ) . unwrap ( ) ;
@@ -1487,18 +1448,6 @@ pub fn run_test(opts: &TestOpts,
1487
1448
monitor_ch. send ( ( desc, TrBench ( bs) , Vec :: new ( ) ) ) . unwrap ( ) ;
1488
1449
return ;
1489
1450
}
1490
- DynMetricFn ( f) => {
1491
- let mut mm = MetricMap :: new ( ) ;
1492
- f. call_box ( & mut mm) ;
1493
- monitor_ch. send ( ( desc, TrMetrics ( mm) , Vec :: new ( ) ) ) . unwrap ( ) ;
1494
- return ;
1495
- }
1496
- StaticMetricFn ( f) => {
1497
- let mut mm = MetricMap :: new ( ) ;
1498
- f ( & mut mm) ;
1499
- monitor_ch. send ( ( desc, TrMetrics ( mm) , Vec :: new ( ) ) ) . unwrap ( ) ;
1500
- return ;
1501
- }
1502
1451
DynTestFn ( f) => {
1503
1452
let cb = move |( ) | {
1504
1453
__rust_begin_short_backtrace ( || f. call_box ( ( ) ) )
@@ -1540,6 +1489,9 @@ fn calc_result(desc: &TestDesc, task_result: Result<(), Box<Any + Send>>) -> Tes
1540
1489
}
1541
1490
}
1542
1491
1492
+ #[ derive( Clone , PartialEq ) ]
1493
+ pub struct MetricMap ( BTreeMap < String , Metric > ) ;
1494
+
1543
1495
impl MetricMap {
1544
1496
pub fn new ( ) -> MetricMap {
1545
1497
MetricMap ( BTreeMap :: new ( ) )
@@ -1563,15 +1515,14 @@ impl MetricMap {
1563
1515
value,
1564
1516
noise,
1565
1517
} ;
1566
- let MetricMap ( ref mut map) = * self ;
1567
- map. insert ( name. to_owned ( ) , m) ;
1518
+ self . 0 . insert ( name. to_owned ( ) , m) ;
1568
1519
}
1569
1520
1570
1521
pub fn fmt_metrics ( & self ) -> String {
1571
- let MetricMap ( ref mm ) = * self ;
1572
- let v : Vec < String > = mm . iter ( )
1573
- . map ( |( k, v) | format ! ( "{}: {} (+/- {})" , * k, v. value, v. noise) )
1574
- . collect ( ) ;
1522
+ let v = self . 0
1523
+ . iter ( )
1524
+ . map ( |( k, v) | format ! ( "{}: {} (+/- {})" , * k, v. value, v. noise) )
1525
+ . collect :: < Vec < _ > > ( ) ;
1575
1526
v. join ( ", " )
1576
1527
}
1577
1528
}
0 commit comments