1. CLUnit TODO
  2. ===========
  3. "There are two ways of constructing a software design.
  4. One way is to make it so simple that there are obviously
  5. no deficiencies. And the other way is to make it so
  6. complicated that there are no obvious deficiencies."
  7. — C.A.R. Hoare.
  8. "Programming is like sex: one mistake and you're providing
  9. support for a lifetime."
  10. — Michael Sinz.
  11. 1. Performance
  12. The library seems to suffer from a serious performance hit.
  13. Try the following piece of code to amuse yourself.
  14. (deftest test-true ()
  15. (assert-true t))
  16. (time
  17. (loop
  18. :for i :from 1 :upto 1000
  19. :do (run-test 'test-true :report-progress nil)))
  20. There are two possible culprits that I suspect:
  21. 1. Inorder to allow you redefine your macros and functions without
  22. having to redefine the tests, the library delays evaluation
  23. of the test forms to runtime. This evalution occurs everytime
  24. you run a test.
  25. I think this is an extremely valuable feature so sacrificing it
  26. in exchange for a little more speed does not really seem like a
  27. sensible thing to do.
  28. Only with feedback from the community can we make a decision whether
  29. this is such a serious shortcoming that needs to be addressed.
  30. The unit test framework provides so much more to make up for its
  31. performance, so maybe its something we might be willing to live with,
  32. at least for now.