Skip to content

Instantly share code, notes, and snippets.

@camsaul
Last active October 7, 2025 20:11
Show Gist options
  • Save camsaul/68cbd3a947fc7ae6032f9d428283d76d to your computer and use it in GitHub Desktop.
Save camsaul/68cbd3a947fc7ae6032f9d428283d76d to your computer and use it in GitHub Desktop.
Parse Test errors and failures from test logs
(ns parse-test-output
(:require
[clojure.string]))
(defn x []
(let [files ["https://productionresultssa12.blob.core.windows.net/actions-results/ff158da9-6207-4ca8-b2ac-bdc5aa49f855/workflow-job-run-991d6487-d703-5cca-92c6-1c67eaf3db9d/logs/job/job-logs.txt?rsct=text%2Fplain&se=2025-10-03T18%3A47%3A21Z&sig=e6iMXbt%2FecC1uhMsSbwk%2BLZO2TpzizqvVxM3fKEfOus%3D&ske=2025-10-04T02%3A42%3A25Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2025-10-03T14%3A42%3A25Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-11-05&sp=r&spr=https&sr=b&st=2025-10-03T18%3A37%3A16Z&sv=2025-11-05"
"/home/cam/x.txt"]]
(into (sorted-set)
(comp (map slurp)
(mapcat clojure.string/split-lines)
(map #(clojure.string/replace % #"\x1B\[[0-9;]*m" ""))
(filter #(or (clojure.string/includes? % "ERROR in")
(clojure.string/includes? % "FAIL in")))
(map #(clojure.string/replace % #"^.*(?:(?:ERROR)|(?:FAIL)) in ([^\s]+).*$" "$1"))
(map symbol))
files)))
(defn test-namespaces [test-symbols]
(into (sorted-set)
(map (comp symbol namespace))
test-symbols))
#! /usr/bin/env bash
set -euo pipefail
tests='[
metabase-enterprise.transforms.api-test/change-target-table-test
metabase-enterprise.transforms.api-test/execute-transform-test
metabase-enterprise.transforms.api-test/get-transform-dependencies-test
metabase-enterprise.transforms.api-test/get-transforms-test
]'
set -x
clj -X:dev:ee:ee-dev:test :only "$tests"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment