On Fri, 2013-07-26 at 17:39 -0400, Faré wrote:
B) your perform methods does a force of swap-bytes/test. Did you try to remove that, and see if the bug still happens? That might help narrow it down. I don't see why you need to force, anyway. (And yes, it looks like a bug.)
When I test stuff I want the entire test suite to be recompiled on-the-fly so as to catch macro redefinitions, etc...
This is ASDF3. Dependencies are propagated correctly, unlike with ASDF 1&2. If you want to catch a macro redefinition, just define a dependency, as you should.
When I develop interactively and change stuff without saving files, perhaps because I'm working in a scratch buffer, I still want the suite to be recompiled.
Actually, it's quite possible that even without that force, this could possibly cause the second load-system to have a confused plan.
This happens when I force-load the test suite from the repl too, not only from within the perform method.
Which files do or don't get compiled twice?
:swap-bytes/test depends on :swap-bytes. When I (asdf:load-system :swap-bytes/test :force '(:swap-bytes/test)), some files from :swap-bytes get recompiled too, namely the last two, network.lisp and endianness.lisp