Fix ASSERTIONS test in FIASCO-BASIC-SELF-TESTS #35
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
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.