Skip to content

Commit

Permalink
Fixed report issue
Browse files Browse the repository at this point in the history
  • Loading branch information
connor-kilgore committed Jul 22, 2024
1 parent 5cc4435 commit e0c375f
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 21 deletions.
2 changes: 0 additions & 2 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
org.clojure/clojure {:mvn/version "1.11.3"}
trptcolin/versioneer {:mvn/version "0.1.1"}
org.clojure/tools.namespace {:mvn/version "1.5.0"}
clj-commons/pomegranate {:mvn/version "1.2.24"}
leiningen-core/leiningen-core {:mvn/version "2.9.6"}
}
:aliases {
:test {:extra-deps {
Expand Down
24 changes: 16 additions & 8 deletions src/speclj/freshener.clj
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
(ns speclj.freshener
(:use
[clojure.java.io :only (file)])
(:require
[clojure.tools.namespace.dir :as dir]
[clojure.tools.namespace.file :as file]
[clojure.tools.namespace.reload :as reload]
[clojure.tools.namespace.repl :as repl]
[clojure.tools.namespace.track :as track]
[clojure.tools.namespace.reload :as reload]
[clojure.tools.namespace.file :as file]))
[speclj.config]
[speclj.reporting])
(:use
[clojure.java.io :only [file]]))

(defn find-files-in
"Returns a seq of all files (matching the regex) contained in the given directories."
Expand Down Expand Up @@ -35,14 +37,20 @@
::file/filemap (dissoc (::file/filemap tracker) file)
::dir/files (set (remove-value file (::dir/files tracker))))))))

(defn find-key-by-value [m val]
(some (fn [[k v]] (when (= v val) k)) m))

(def ignored-namespaces ['speclj.config 'speclj.run.vigilant
'speclj.results 'speclj.core
'speclj.reporting 'speclj.running])

(defn freshen []
(repl/scan)
(doseq [namespace ignored-namespaces]
(remove-ignore repl/refresh-tracker namespace)
)
(alter-var-root #'repl/refresh-tracker reload/track-reload)
(repl/set-refresh-dirs))
(remove-ignore repl/refresh-tracker namespace))
(let [reloaded-files
(for [ns (::track/load repl/refresh-tracker)]
(find-key-by-value (::file/filemap repl/refresh-tracker) ns))]
(alter-var-root #'repl/refresh-tracker reload/track-reload)
(repl/set-refresh-dirs)
reloaded-files))
34 changes: 23 additions & 11 deletions src/speclj/run/vigilant.clj
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
(ns speclj.run.vigilant
(:require [clojure.java.io :as io]
[clojure.tools.namespace.reload :as reload]
[clojure.tools.namespace.repl :as repl]
[speclj.freshener :refer [freshen]]
[clojure.tools.namespace.dir :as dir]
[clojure.tools.namespace.file :as file]
[clojure.tools.namespace.track :as track]
[speclj.config :as config]
[speclj.platform :refer [current-time endl enter-pressed? format-seconds secs-since]]
[speclj.freshener :refer [freshen]]
[speclj.platform :refer [current-time enter-pressed? endl format-seconds secs-since]]
[speclj.reporting :as reporting]
[speclj.results :as results]
[speclj.running :as running]
[clojure.tools.namespace.repl :as repl]
[clojure.tools.namespace.track :as track]
[clojure.tools.namespace.reload :as reload])
[speclj.running :as running])
(:import (java.util.concurrent ScheduledThreadPoolExecutor TimeUnit)))

(def start-time (atom 0))
Expand All @@ -18,19 +19,31 @@
(defn get-error-data [e]
(:data (first (:via (Throwable->map e)))))

(defn- report-update [files start-time]
(let [reporters (config/active-reporters)]
(when (seq files)
(reporting/report-message* reporters (str endl "----- " (str (java.util.Date.) " -----")))
(reporting/report-message* reporters (str "took " (format-seconds (secs-since start-time)) " to determine file statuses."))
(reporting/report-message* reporters "reloading files:")
(doseq [file files]
(do
(reporting/report-message* reporters (str " " (.getCanonicalPath file))))
)))
true)

(defn- tick [configuration]
(with-bindings configuration
(let [runner (config/active-runner)
reporters (config/active-reporters)]
reporters (config/active-reporters)
reloaded-files (freshen)]
(try
(reset! start-time (current-time))
(freshen)
;(prn repl/refresh-tracker)
(cond
(::reload/error repl/refresh-tracker)
(throw (::reload/error repl/refresh-tracker))
(seq @(.descriptions runner))
(do
(report-update reloaded-files @start-time)
(reset! current-error-data nil)
(reset! (.previous-failed runner) (:fail (results/categorize (seq @(.results runner)))))
(running/run-and-report runner reporters)))
Expand All @@ -40,8 +53,7 @@
(constantly (assoc repl/refresh-tracker ::track/load [])))
(running/process-compile-error runner e)
(reporting/report-runs* reporters @(.results runner))
(reset! current-error-data error-data))
))
(reset! current-error-data error-data))))
(reset! (.descriptions runner) [])
(reset! (.results runner) []))))

Expand Down

0 comments on commit e0c375f

Please sign in to comment.