        (test/test-vars test-vars))))
 
 (defn -filter [this desc-filter]
-  (println "In filter method...")
   (letfn [(run? [test] (->> test :description (.shouldRun desc-filter)))
           (trim [tests] (filter run? tests))]
     (swap! (.tests this) trim)))

  :state tests)

(defn -init [_]
  (println (seq (.getURLs (ClassLoader/getSystemClassLoader))))
  (println "In init method...")
  [[] (atom (scan-tests))])

(defn -getDescription [this]
  (println "In getDescription method...")
  (let [suite (describe-suite "GracljFakeSuite")]
    (doseq [test @(.tests this)]
      (.addChild (:description test)))
    (println suite)
    suite))

(defn -run [this notifier]
  (println "In run method....")
  (println @(.tests this))
  (let [test-vars (map :var @(.tests this))]
    (println test-vars)

(ns org.graclj.tools.test.clojure-test
  (:require [clojure.test :as test])
  (:import (java.lang.annotation Annotation)
           (org.junit.runner Description)
           (org.junit.runner.notification Failure)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; JUnit helpers
