While trying to add a new test to the test suite, I noticed something
disturbing. A test that returns "TRUE" always passes, even if it was
supposed to return "FALSE". Here is the snippet of code from the
function test-batch in mload.lisp:
(cond ((batch-equal-check next-result result)
(format t "~%..Which was correct"))
((eq t next-result)
(format t "~%..Which made the predicate true"))
(t (format t "~%This differed from the expected result:")
(push i all-differences)
(displa next-result)
(cond (*collect-errors*
(mgrind (third expr) error-log)
...etc...
It's the
((eq t next-result)
(format t "~%..Which made the predicate true"))
that causes the bug. I can't imagine why those lines are there at all.
Can anyone else? I'd like to understand before I go and delete them.
--Jim