@@ -486,45 +486,35 @@ fn compare(
486486 }
487487 ( BuildFail ( _) , BuildFail ( FailureReason :: ICE ) ) => Comparison :: Regressed ,
488488
489+ // same
489490 ( BuildFail ( _) , BuildFail ( _) ) => Comparison :: SameBuildFail ,
490491 ( TestFail ( _) , TestFail ( _) ) => Comparison :: SameTestFail ,
491492 ( TestSkipped , TestSkipped ) => Comparison :: SameTestSkipped ,
492493 ( TestPass , TestPass ) => Comparison :: SameTestPass ,
493494
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+ }
515505 }
506+
507+ // (spurious) regressed
516508 ( TestPass , TestFail ( reason) )
517509 | ( TestPass , BuildFail ( reason) )
518510 | ( 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+ }
523517 }
524- ( TestPass , TestFail ( _) )
525- | ( TestPass , BuildFail ( _) )
526- | ( TestSkipped , BuildFail ( _) )
527- | ( TestFail ( _) , BuildFail ( _) ) => Comparison :: Regressed ,
528518
529519 ( Error , _) | ( _, Error ) => Comparison :: Error ,
530520 ( Skipped , _) | ( _, Skipped ) => Comparison :: Skipped ,
@@ -821,6 +811,7 @@ mod tests {
821811
822812 // Non-spurious fixes/regressions
823813 BuildFail ( Unknown ) , TestFail ( Unknown ) => Fixed ;
814+ BuildFail ( Unknown ) , TestFail ( OOM ) => Fixed ;
824815 BuildFail ( Unknown ) , TestSkipped => Fixed ;
825816 BuildFail ( Unknown ) , TestPass => Fixed ;
826817 TestFail ( Unknown ) , TestPass => Fixed ;
@@ -837,7 +828,6 @@ mod tests {
837828
838829 // Spurious fixes/regressions
839830 BuildFail ( OOM ) , TestFail ( Unknown ) => SpuriousFixed ;
840- BuildFail ( Unknown ) , TestFail ( OOM ) => SpuriousFixed ;
841831 BuildFail ( OOM ) , TestSkipped => SpuriousFixed ;
842832 BuildFail ( OOM ) , TestPass => SpuriousFixed ;
843833 TestFail ( OOM ) , TestPass => SpuriousFixed ;
0 commit comments