Add retest, sorta.
This commit is contained in:
parent
668919b15d
commit
aba61b862a
3 changed files with 25 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ leiningen*.jar
|
||||||
lein-swank/lein-swank*.jar
|
lein-swank/lein-swank*.jar
|
||||||
autodoc/
|
autodoc/
|
||||||
bin/nom
|
bin/nom
|
||||||
|
.lein-failures
|
||||||
|
|
13
src/leiningen/retest.clj
Normal file
13
src/leiningen/retest.clj
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
(ns leiningen.retest
|
||||||
|
"Run only the test namespaces which failed last time around."
|
||||||
|
(:require [leiningen.test]))
|
||||||
|
|
||||||
|
(defn retest
|
||||||
|
"Run only the test namespaces which failed last time around.
|
||||||
|
Requires loading leiningen.hooks.retest to :hooks in project.clj."
|
||||||
|
[project]
|
||||||
|
;; TODO: detect branch change; clear failure list
|
||||||
|
(if (.exists (java.io.File. ".lein-failures"))
|
||||||
|
(apply leiningen.test/test project (->> (slurp ".lein-failures")
|
||||||
|
read-string sort (map name)))
|
||||||
|
(leiningen.test/test project)))
|
|
@ -25,8 +25,18 @@ each namespace and print an overall summary."
|
||||||
(doseq [n# '~namespaces]
|
(doseq [n# '~namespaces]
|
||||||
(require n# :reload))
|
(require n# :reload))
|
||||||
~(form-for-hook-selectors selectors)
|
~(form-for-hook-selectors selectors)
|
||||||
(let [summary# (binding [clojure.test/*test-out* *out*]
|
(let [failures# (atom #{})
|
||||||
|
;; _# (robert.hooke/add-hook
|
||||||
|
;; #'clojure.test/report
|
||||||
|
;; (fn report-with-failures [report# m# & args#]
|
||||||
|
;; (when (#{:error :fail} (:type m#))
|
||||||
|
;; (swap! failures# conj
|
||||||
|
;; (-> clojure.test/*testing-vars*
|
||||||
|
;; first meta :ns ns-name)))
|
||||||
|
;; (apply report# m# args#)))
|
||||||
|
summary# (binding [clojure.test/*test-out* *out*]
|
||||||
(apply ~'clojure.test/run-tests '~namespaces))]
|
(apply ~'clojure.test/run-tests '~namespaces))]
|
||||||
|
(spit ".lein-failures" (pr-str @failures#))
|
||||||
(when-not (= "1.5" (System/getProperty "java.specification.version"))
|
(when-not (= "1.5" (System/getProperty "java.specification.version"))
|
||||||
(shutdown-agents))
|
(shutdown-agents))
|
||||||
;; Stupid ant won't let us return anything, so write results to disk
|
;; Stupid ant won't let us return anything, so write results to disk
|
||||||
|
|
Loading…
Reference in a new issue