浏览代码

set actuall success state on sauce labs (#8910)

Aleksandr Kuzmenko 5 年之前
父节点
当前提交
8897aa88a9
共有 1 个文件被更改,包括 16 次插入7 次删除
  1. 16 7
      tests/unit/src/unit/TestMain.hx

+ 16 - 7
tests/unit/src/unit/TestMain.hx

@@ -124,13 +124,22 @@ class TestMain {
 		var report = Report.create(runner);
 		var report = Report.create(runner);
 		report.displayHeader = AlwaysShowHeader;
 		report.displayHeader = AlwaysShowHeader;
 		report.displaySuccessResults = NeverShowSuccessResults;
 		report.displaySuccessResults = NeverShowSuccessResults;
-		#if js
-		if (js.Browser.supported) {
-			runner.onComplete.add(function(_) {
-				untyped js.Browser.window.success = true; // TODO: need utest success state for this
-			});
-		};
-		#end
+		var success = true;
+		runner.onProgress.add(function(e) {
+			for(a in e.result.assertations) {
+				switch a {
+					case Success(pos):
+					case Warning(msg):
+					case Ignore(reason):
+					case _: success = false;
+				}
+			}
+			#if js
+			if (js.Browser.supported && e.totals == e.done) {
+				untyped js.Browser.window.success = success;
+			};
+			#end
+		});
 		#if sys
 		#if sys
 		if (verbose)
 		if (verbose)
 			runner.onTestStart.add(function(test) {
 			runner.onTestStart.add(function(test) {