So is this done so that prove can damage its internal state while
testing? So that you need to force the tests to reload if you want to
rerun?
If so, can't the same objective be achieved more cleanly by adding a
special method for OPERATION-DONE-P on PROVE's TEST-FILE class?
On 18 Oct 2017, at 8:41, Faré wrote:
On Wed, Oct 18, 2017 at 9:25 AM, Chream iz <chrea...@gmail.com> wrote:
Hi, I am also getting this error when trying to run (asdf:test-system
....).
It is also not finding the test-files but that might be an but in the
prove
package?
:defsystem-depends-on (:prove-asdf)
:perform (test-op :after (op c)
(funcall (intern #.(string :run-test-system)
:prove-asdf) c)
(asdf:clear-system c)))
There is your culprit: clear-system should NEVER be called within
perform. It's removing the rug under ASDF as it's running -- very BAD,
especially if there are many build phases. Unhappily, prove and other
prove-based system skeletons (e.g. from caveman) have made this
pattern popular. I sent patches to prove & al. at least six months
ago, and wrote about this anti-pattern in my "best_practices"
document, but I suppose the message didn't go around yet. Maybe I
should make it an error for clear-system to be called from within an
active asdf-session?
Stas, if you also use clear-system this way, you also lose for that
reason.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
http://fare.tunes.org
Young man, in mathematics you don't understand things,
you just get used to them. — John von Neumann (1903-1957)