@@ -1012,6 +1012,192 @@ failures:
10121012test result: FAILED. 2 passed; 1 failed; 5 ignored; 0 filtered out; finished in [..]s
10131013
10141014
1015+ "# ] ] ,
1016+ ) ;
1017+ }
1018+
1019+ #[ test]
1020+ fn fail_fast ( ) {
1021+ check (
1022+ & [ ] ,
1023+ 101 ,
1024+ str![ [ r#"
1025+
1026+ running 8 tests
1027+ test bear ... ignored
1028+ test bunny ... ignored
1029+ test cat ... ok
1030+ test dog ... FAILED
1031+ test fly ... ignored
1032+ test fox ... ok
1033+ test frog ... ignored
1034+ test owl ... ignored
1035+
1036+ failures:
1037+
1038+ ---- dog ----
1039+ was not a good boy
1040+
1041+
1042+ failures:
1043+ dog
1044+
1045+ test result: FAILED. 2 passed; 1 failed; 5 ignored; 0 filtered out; finished in [..]s
1046+
1047+
1048+ "# ] ] ,
1049+ str![ [ r#"
1050+ ...
1051+
1052+ "# ] ] ,
1053+ ) ;
1054+ }
1055+
1056+ #[ test]
1057+ #[ cfg( feature = "json" ) ]
1058+ fn fail_fast_json ( ) {
1059+ check (
1060+ & [ "-Zunstable-options" , "--format=json" ] ,
1061+ 101 ,
1062+ str![ [ r#"
1063+ [
1064+ {
1065+ "event": "discover_start"
1066+ },
1067+ {
1068+ "event": "discover_case",
1069+ "name": "bear"
1070+ },
1071+ {
1072+ "event": "discover_case",
1073+ "name": "bunny"
1074+ },
1075+ {
1076+ "event": "discover_case",
1077+ "name": "cat"
1078+ },
1079+ {
1080+ "event": "discover_case",
1081+ "name": "dog"
1082+ },
1083+ {
1084+ "event": "discover_case",
1085+ "name": "fly"
1086+ },
1087+ {
1088+ "event": "discover_case",
1089+ "name": "fox"
1090+ },
1091+ {
1092+ "event": "discover_case",
1093+ "name": "frog"
1094+ },
1095+ {
1096+ "event": "discover_case",
1097+ "name": "owl"
1098+ },
1099+ {
1100+ "elapsed_s": "[..]",
1101+ "event": "discover_complete"
1102+ },
1103+ {
1104+ "event": "suite_start"
1105+ },
1106+ {
1107+ "event": "case_start",
1108+ "name": "bear"
1109+ },
1110+ {
1111+ "elapsed_s": "[..]",
1112+ "event": "case_complete",
1113+ "message": "fails",
1114+ "name": "bear",
1115+ "status": "ignored"
1116+ },
1117+ {
1118+ "event": "case_start",
1119+ "name": "bunny"
1120+ },
1121+ {
1122+ "elapsed_s": "[..]",
1123+ "event": "case_complete",
1124+ "message": "fails",
1125+ "name": "bunny",
1126+ "status": "ignored"
1127+ },
1128+ {
1129+ "event": "case_start",
1130+ "name": "cat"
1131+ },
1132+ {
1133+ "elapsed_s": "[..]",
1134+ "event": "case_complete",
1135+ "name": "cat"
1136+ },
1137+ {
1138+ "event": "case_start",
1139+ "name": "dog"
1140+ },
1141+ {
1142+ "elapsed_s": "[..]",
1143+ "event": "case_complete",
1144+ "message": "was not a good boy",
1145+ "name": "dog",
1146+ "status": "failed"
1147+ },
1148+ {
1149+ "event": "case_start",
1150+ "name": "fly"
1151+ },
1152+ {
1153+ "elapsed_s": "[..]",
1154+ "event": "case_complete",
1155+ "message": "fails",
1156+ "name": "fly",
1157+ "status": "ignored"
1158+ },
1159+ {
1160+ "event": "case_start",
1161+ "name": "fox"
1162+ },
1163+ {
1164+ "elapsed_s": "[..]",
1165+ "event": "case_complete",
1166+ "name": "fox"
1167+ },
1168+ {
1169+ "event": "case_start",
1170+ "name": "frog"
1171+ },
1172+ {
1173+ "elapsed_s": "[..]",
1174+ "event": "case_complete",
1175+ "message": "slow",
1176+ "name": "frog",
1177+ "status": "ignored"
1178+ },
1179+ {
1180+ "event": "case_start",
1181+ "name": "owl"
1182+ },
1183+ {
1184+ "elapsed_s": "[..]",
1185+ "event": "case_complete",
1186+ "message": "fails",
1187+ "name": "owl",
1188+ "status": "ignored"
1189+ },
1190+ {
1191+ "elapsed_s": "[..]",
1192+ "event": "suite_complete"
1193+ }
1194+ ]
1195+ "# ] ]
1196+ . is_json ( )
1197+ . against_jsonlines ( ) ,
1198+ str![ [ r#"
1199+ ...
1200+
10151201"# ] ] ,
10161202 ) ;
10171203}
0 commit comments