Fix ASSERTIONS test in FIASCO-BASIC-SELF-TESTS
Don't modify the suite's CHILDREN-OF hash-table while (potentially) traversing it. Adding elements to the hash-table while traversing it is undefined behavior according to the spec (3.6 Traversal Rules and Side Effects). On recent versions of SBCL on my macbook, this was signaling the following error due to hash-table corruption if a single new DEFTEST form was added in test/basic.lisp.
UNEXPECTED-ERROR when running FIASCO-SUITES::FIASCO-BASIC-SELF-TESTS
There is no applicable method for the generic function
#<STANDARD-GENERIC-FUNCTION FIASCO::AUTO-CALL? (1)>
when called with arguments
(0).
See also:
The ANSI Standard, Section 7.6.6
The call to AUTO-CALL? that was failing occurs in one of the LOOP clauses in the DEFTEST form in the macro-expansion of DEFSUITE in src/suite.lisp while iterating over the HASH-VALUES of the CHILDREN-OF of the current suite.
Saving and restoring the CHILDREN-OF the current suite in the body of the ASSERTIONS test fixes the issue.