Maybe it's an artefact of SBCL using too much memory *while compiling* and would go away if you used e.g. POIU to compile inside forks.
How?
"Just" load POIU right after you load ASDF, and before you load anything else. https://gitlab.common-lisp.net/qitab/poiu
The test order is alphabetical (by projects, and then inside a project its ASDF systems are sorted alphabetically too).
Fasls compiled by previous tests are reused by next tests.
OK, this *might* explain some cases of "succeeds the second time around". I suggest always making a second try after a timeout or out-of-memory error.
Yes, I plan to start syntax-control testing soon.
Thanks!
You might be interested to know that ACL binds *readtable* on startup to an unmodifieble readtable (which is a violation of CLHS http://clhs.lisp.se/Body/02_aac.htm : "The initial readtable is distinct from the standard readtable. It is permissible for a conforming program to modify the initial readtable.")
The most visible result of this is puri and more than 150 other systems in Quicklisp depending on it, failing to load.
Well, that's a good argument for fixing puri & al, regardless of what option ASDF picks in the future. And maybe a good argument for making ASDF strict all the time on all implementations that allow it.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Death is only a milestone — albeit one that is dropped on you from a very great height — Terry Pratchett.