aboutsummaryrefslogtreecommitdiff
path: root/modules/trace/src
diff options
context:
space:
mode:
Diffstat (limited to 'modules/trace/src')
-rw-r--r--modules/trace/src/test/clojure/clojure/contrib/test_trace.clj16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/trace/src/test/clojure/clojure/contrib/test_trace.clj b/modules/trace/src/test/clojure/clojure/contrib/test_trace.clj
new file mode 100644
index 00000000..015fff65
--- /dev/null
+++ b/modules/trace/src/test/clojure/clojure/contrib/test_trace.clj
@@ -0,0 +1,16 @@
+(ns clojure.contrib.test-trace
+ (:use clojure.test
+ clojure.contrib.trace))
+
+(deftrace call-myself [n]
+ (when-not (< n 1)
+ (call-myself (dec n))))
+
+(deftest test-tracing-a-function-that-calls-itself
+ (let [output (with-out-str (call-myself 1))]
+ (is (re-find #"^TRACE t\d+: (call-myself 1)\nTRACE t\d+: | (call-myself 0)\nTRACE t\d+: | => nil\nTRACE t\d+: => nil$"
+ output))))
+
+;(deftest dotrace-on-core
+; (let [output (with-out-str (dotrace [mod] (mod 11 5)))]
+; (is (re-find #"\(mod 11 5\)" output))))