mirror of https://github.com/logseq/logseq
Print log messages and setup custom test runner
Got tired of getting bit by catch statements and no logging printing. Moved frontend to a custom test runner as we may eventually need the node-test-runner for other apps/buildspull/6336/head
parent
0719163d30
commit
0301fd3173
|
@ -66,7 +66,7 @@
|
|||
:devtools {:enabled false}
|
||||
;; disable :static-fns to allow for with-redefs and repl development
|
||||
:compiler-options {:static-fns false}
|
||||
:main frontend.test.node-test-runner/main}
|
||||
:main frontend.test.frontend-node-test-runner/main}
|
||||
|
||||
:publishing {:target :browser
|
||||
:module-loader true
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
(ns frontend.test.frontend-node-test-runner
|
||||
"This is a custom version of the node-test-runner for the frontend build"
|
||||
{:dev/always true} ;; necessary for test-data freshness
|
||||
(:require [frontend.test.node-test-runner :as node-test-runner]
|
||||
[shadow.test.env :as env]
|
||||
[lambdaisland.glogi.console :as glogi-console]
|
||||
;; activate humane test output for all tests
|
||||
[pjstadig.humane-test-output]))
|
||||
|
||||
;; Needed for new test runners
|
||||
(defn ^:dev/after-load reset-test-data! []
|
||||
(-> (env/get-test-data)
|
||||
(env/reset-test-data!)))
|
||||
|
||||
(defn main [& args]
|
||||
[]
|
||||
(glogi-console/install!) ;; see log messages
|
||||
(reset-test-data!)
|
||||
(node-test-runner/parse-and-run-tests args))
|
|
@ -1,6 +1,6 @@
|
|||
(ns frontend.test.node-test-runner
|
||||
"shadow-cljs test runner for :node-test that provides the same test selection
|
||||
options as
|
||||
"Application agnostic shadow-cljs test runner for :node-test that provides the
|
||||
same test selection options as
|
||||
https://github.com/cognitect-labs/test-runner#invoke-with-clojure--m-clojuremain.
|
||||
This gives the user a fair amount of control over which tests and namespaces
|
||||
to call from the commandline. Once this test runner is stable enough we should
|
||||
|
@ -12,9 +12,7 @@
|
|||
[clojure.set :as set]
|
||||
[shadow.test :as st]
|
||||
[cljs.test :as ct]
|
||||
["util" :as util]
|
||||
;; activate humane test output for all tests
|
||||
[pjstadig.humane-test-output]))
|
||||
[goog.string :as gstring]))
|
||||
|
||||
;; Cljs.test customization
|
||||
;; Inherit behavior from default reporter
|
||||
|
@ -47,10 +45,10 @@
|
|||
(defn- print-summary
|
||||
"Print help summary given args and opts strings"
|
||||
[options-summary additional-msg]
|
||||
(println (util/format "Usage: %s [OPTIONS]\nOptions:\n%s%s"
|
||||
"$0"
|
||||
options-summary
|
||||
additional-msg)))
|
||||
(println (gstring/format "Usage: %s [OPTIONS]\nOptions:\n%s%s"
|
||||
"$0"
|
||||
options-summary
|
||||
additional-msg)))
|
||||
|
||||
(defn- parse-options
|
||||
"Processes a command's functionality given a cli options definition, arguments
|
||||
|
@ -172,9 +170,9 @@ returns selected tests and namespaces to run"
|
|||
(st/run-test-vars test-env test-vars))
|
||||
(st/run-all-tests test-env nil))))
|
||||
|
||||
(defn main [& args]
|
||||
(reset-test-data!)
|
||||
|
||||
(defn parse-and-run-tests
|
||||
"Main entry point for custom test runners"
|
||||
[args]
|
||||
(let [{:keys [options summary]} (parse-options args cli-options)]
|
||||
(if (:help options)
|
||||
(do
|
||||
|
@ -182,3 +180,9 @@ returns selected tests and namespaces to run"
|
|||
"\n\nMultiple options are ANDed. Defaults to running all tests")
|
||||
(js/process.exit 0))
|
||||
(run-tests (keys (env/get-tests)) (env/get-test-vars) options))))
|
||||
|
||||
(defn main
|
||||
"Main entry point if this ns is configured as a test runner"
|
||||
[& args]
|
||||
(reset-test-data!)
|
||||
(parse-and-run-tests args))
|
||||
|
|
Loading…
Reference in New Issue