I am using clojure for functional testing ('functional' as opposed to unit 
testing, I don't mean in the FP sense).

My tests write a clojure-formatted file containing all the test results. 
 Each result may include:

1) The code of the test
2) Parameters of a data-driven test
3) Trace of a failed test

The problem I'm having is when I go to analyze the results, I cannot simply 
call read on the file, because it's full of 
non-serializable #< ... > values, and also #'s and "..."s for print-level 
and print-length being exceeded.  Usually those are nested deep in the 
parameters or the trace.

In every case, I don't *need* the missing data, it doesn't need to be truly 
serializable.  An informative placeholder would do fine.  I'm not doing 
computations on the trace, I just like it to be there so I can read it 
myself to see what what happening.

So how do I solve this?  I know I can replace the defmethod print-method 
for java.lang.Object to just print a readable string.  That would solve the 
#< ... >.  What about the #'s from the nesting level being exceeded?  Or 
"..." from print-length being exceeded?  (I cannot turn off the limits for 
print-length, since I trace functions that return infinite seq's).

Or should I approach it from the other direction, and modify the reader to 
accept this input somehow?  And I suppose on another level I should ask, 
why isn't a readable placeholder the default behavior?

Any suggestions appreciated, 

Jeff






-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to