Initial import of LogDarioSeq baseline
Establishes version control for the personal Logseq DB fork before starting the server-client architecture migration and domain features described in docs/agent-guide and the approved implementation plan. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
70
clj-e2e/test/logseq/e2e/custom_report.clj
Normal file
70
clj-e2e/test/logseq/e2e/custom_report.clj
Normal file
@@ -0,0 +1,70 @@
|
||||
(ns logseq.e2e.custom-report
|
||||
(:require [clojure.pprint :as pp]
|
||||
[clojure.stacktrace :as stack]
|
||||
[clojure.string :as string]
|
||||
[clojure.test :as t]
|
||||
[logseq.e2e.playwright-page :as pw-page])
|
||||
(:import (com.microsoft.playwright Page$ScreenshotOptions)))
|
||||
|
||||
(def ^:dynamic *pw-contexts*
|
||||
"Set of pw-contexts.
|
||||
record all playwright contexts in this dynamic var"
|
||||
nil)
|
||||
|
||||
(def ^:dynamic *pw-page->console-logs* nil)
|
||||
|
||||
(def ^:dynamic *preserve-graph* nil)
|
||||
|
||||
(defn screenshot
|
||||
[page test-name]
|
||||
(println :screenshot test-name)
|
||||
(.screenshot
|
||||
page
|
||||
(-> (Page$ScreenshotOptions.)
|
||||
(.setPath (java.nio.file.Paths/get "e2e-dump/"
|
||||
(into-array [(format "./screenshot-%s-%s.png" test-name (System/currentTimeMillis))]))))))
|
||||
|
||||
(defn- collect-info-when-error-or-failed
|
||||
[]
|
||||
;; screenshot for all pw pages when :error
|
||||
(when-let [all-contexts (seq *pw-contexts*)]
|
||||
(doseq [page (mapcat pw-page/get-pages all-contexts)]
|
||||
(screenshot page (string/join "-" (map (comp str :name meta) t/*testing-vars*)))))
|
||||
|
||||
;; dump console logs
|
||||
(when-let [pw-page->console-logs (some-> *pw-page->console-logs* deref)]
|
||||
(doseq [[_pw-page logs] pw-page->console-logs]
|
||||
(spit (format "e2e-dump/console-logs-%s.txt" (System/currentTimeMillis))
|
||||
(with-out-str (pp/pprint logs)))))
|
||||
|
||||
(when (some? *preserve-graph*)
|
||||
(set! *preserve-graph* true)))
|
||||
|
||||
(defmethod t/report :error
|
||||
[m]
|
||||
;; copy from default impl
|
||||
(t/with-test-out
|
||||
(t/inc-report-counter :error)
|
||||
(println "\nERROR in" (t/testing-vars-str m))
|
||||
(when (seq t/*testing-contexts*) (println (t/testing-contexts-str)))
|
||||
(when-let [message (:message m)] (println message))
|
||||
(println "expected:" (pr-str (:expected m)))
|
||||
(print " actual: ")
|
||||
(let [actual (:actual m)]
|
||||
(if (instance? Throwable actual)
|
||||
(stack/print-cause-trace actual t/*stack-trace-depth*)
|
||||
(prn actual))))
|
||||
|
||||
(collect-info-when-error-or-failed))
|
||||
|
||||
(defmethod t/report :fail
|
||||
[m]
|
||||
(t/with-test-out
|
||||
(t/inc-report-counter :fail)
|
||||
(println "\nFAIL in" (t/testing-vars-str m))
|
||||
(when (seq t/*testing-contexts*) (println (t/testing-contexts-str)))
|
||||
(when-let [message (:message m)] (println message))
|
||||
(println "expected:" (pr-str (:expected m)))
|
||||
(println " actual:" (pr-str (:actual m))))
|
||||
|
||||
(collect-info-when-error-or-failed))
|
||||
Reference in New Issue
Block a user