summary refs log tree commit diff stats
path: root/tools/ci_testresults.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ci_testresults.nim')
-rw-r--r--tools/ci_testresults.nim24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/ci_testresults.nim b/tools/ci_testresults.nim
new file mode 100644
index 000000000..3201606d7
--- /dev/null
+++ b/tools/ci_testresults.nim
@@ -0,0 +1,24 @@
+## Print summary of failed tests for CI
+
+import os, json, sets, strformat
+
+const skip = toSet(["reDisabled", "reIgnored", "reSuccess", "reJoined"])
+
+when isMainModule:
+  for fn in walkFiles("testresults/*.json"):
+    let entries = fn.readFile().parseJson()
+    for j in entries:
+      let res = j["result"].getStr()
+      if skip.contains(res):
+        continue
+      echo fmt """
+Category: {j["category"].getStr()}
+Name: {j["name"].getStr()}
+Action: {j["action"].getStr()}
+Result: {res}
+-------- Expected -------
+{j["expected"].getStr()}
+--------- Given  --------
+{j["given"].getStr()}
+-------------------------
+"""