@@ -486,45 +486,35 @@ fn compare(
486
486
}
487
487
( BuildFail ( _) , BuildFail ( FailureReason :: ICE ) ) => Comparison :: Regressed ,
488
488
489
+ // same
489
490
( BuildFail ( _) , BuildFail ( _) ) => Comparison :: SameBuildFail ,
490
491
( TestFail ( _) , TestFail ( _) ) => Comparison :: SameTestFail ,
491
492
( TestSkipped , TestSkipped ) => Comparison :: SameTestSkipped ,
492
493
( TestPass , TestPass ) => Comparison :: SameTestPass ,
493
494
494
- ( BuildFail ( ref reason1) , TestFail ( ref reason2) )
495
- if reason1. is_spurious ( ) || reason2. is_spurious ( ) =>
496
- {
497
- Comparison :: SpuriousFixed
498
- }
499
- ( BuildFail ( ref reason) , TestSkipped )
500
- | ( BuildFail ( ref reason) , TestPass )
501
- | ( TestFail ( ref reason) , TestPass )
502
- if reason. is_spurious ( ) =>
503
- {
504
- Comparison :: SpuriousFixed
505
- }
506
- ( BuildFail ( _) , TestFail ( _) )
507
- | ( BuildFail ( _) , TestSkipped )
508
- | ( BuildFail ( _) , TestPass )
509
- | ( TestFail ( _) , TestPass ) => Comparison :: Fixed ,
510
- ( TestFail ( _) , BuildFail ( reason) ) if !reason. is_spurious ( ) => Comparison :: Regressed ,
511
- ( TestFail ( reason1) , BuildFail ( reason2) )
512
- if reason1. is_spurious ( ) || reason2. is_spurious ( ) =>
513
- {
514
- Comparison :: SpuriousRegressed
495
+ // (spurious) fixed
496
+ ( BuildFail ( reason) , TestSkipped )
497
+ | ( BuildFail ( reason) , TestPass )
498
+ | ( TestFail ( reason) , TestPass )
499
+ | ( BuildFail ( reason) , TestFail ( _) ) => {
500
+ if reason. is_spurious ( ) {
501
+ Comparison :: SpuriousFixed
502
+ } else {
503
+ Comparison :: Fixed
504
+ }
515
505
}
506
+
507
+ // (spurious) regressed
516
508
( TestPass , TestFail ( reason) )
517
509
| ( TestPass , BuildFail ( reason) )
518
510
| ( TestSkipped , BuildFail ( reason) )
519
- | ( TestFail ( _) , BuildFail ( reason) )
520
- if reason. is_spurious ( ) =>
521
- {
522
- Comparison :: SpuriousRegressed
511
+ | ( TestFail ( _) , BuildFail ( reason) ) => {
512
+ if reason. is_spurious ( ) {
513
+ Comparison :: SpuriousRegressed
514
+ } else {
515
+ Comparison :: Regressed
516
+ }
523
517
}
524
- ( TestPass , TestFail ( _) )
525
- | ( TestPass , BuildFail ( _) )
526
- | ( TestSkipped , BuildFail ( _) )
527
- | ( TestFail ( _) , BuildFail ( _) ) => Comparison :: Regressed ,
528
518
529
519
( Error , _) | ( _, Error ) => Comparison :: Error ,
530
520
( Skipped , _) | ( _, Skipped ) => Comparison :: Skipped ,
@@ -821,6 +811,7 @@ mod tests {
821
811
822
812
// Non-spurious fixes/regressions
823
813
BuildFail ( Unknown ) , TestFail ( Unknown ) => Fixed ;
814
+ BuildFail ( Unknown ) , TestFail ( OOM ) => Fixed ;
824
815
BuildFail ( Unknown ) , TestSkipped => Fixed ;
825
816
BuildFail ( Unknown ) , TestPass => Fixed ;
826
817
TestFail ( Unknown ) , TestPass => Fixed ;
@@ -837,7 +828,6 @@ mod tests {
837
828
838
829
// Spurious fixes/regressions
839
830
BuildFail ( OOM ) , TestFail ( Unknown ) => SpuriousFixed ;
840
- BuildFail ( Unknown ) , TestFail ( OOM ) => SpuriousFixed ;
841
831
BuildFail ( OOM ) , TestSkipped => SpuriousFixed ;
842
832
BuildFail ( OOM ) , TestPass => SpuriousFixed ;
843
833
TestFail ( OOM ) , TestPass => SpuriousFixed ;
0 commit comments