aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib/test_trace.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/test_contrib/test_trace.clj')
-rw-r--r--src/clojure/contrib/test_contrib/test_trace.clj12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/clojure/contrib/test_contrib/test_trace.clj b/src/clojure/contrib/test_contrib/test_trace.clj
new file mode 100644
index 00000000..4b283056
--- /dev/null
+++ b/src/clojure/contrib/test_contrib/test_trace.clj
@@ -0,0 +1,12 @@
+(ns clojure.contrib.test-contrib.test-trace
+ (:use clojure.test
+ [clojure.contrib trace str-utils]))
+
+(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)))) \ No newline at end of file