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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en