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.
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?
I can't use :in-order-to because it doesn't allow me to specify :force
You shouldn't need force. It's a bug if you do (either in your code or in ASDF).
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Be wiser than other people if you can; but do not tell them so. — Chesterfield