test(seed): pin the two unguarded terms of the torn-clone condition #9
@@ -414,9 +414,10 @@ Where more than one guard could catch a fault, a scenario should assert
|
|||||||
green because a sibling fires in its place. Scenarios 8a to 8d and 10 of the
|
green because a sibling fires in its place. Scenarios 8a to 8d and 10 of the
|
||||||
seed suite do, and each is reddened by exactly one mutation of the clone's
|
seed suite do, and each is reddened by exactly one mutation of the clone's
|
||||||
checks. Scenario 9 does not, and a mutation still survives it: with its source
|
checks. Scenario 9 does not, and a mutation still survives it: with its source
|
||||||
unreadable, `cp -al` leaves the staging directory at mode `000`, so the
|
unreadable, `cp -al` leaves the staging directory at mode `000`, so deleting
|
||||||
unshare pass aborts the clone before the copy's own exit status is ever
|
the exit-status check does not change the outcome — the unshare pass aborts
|
||||||
consulted, and the assertion is satisfied down a path it was not written for.
|
the clone instead, and the assertion is satisfied down a path it was not
|
||||||
|
written for.
|
||||||
|
|
||||||
That is the standing hazard here, and it is not hypothetical. Two guards that
|
That is the standing hazard here, and it is not hypothetical. Two guards that
|
||||||
can each catch the same fault mask each other, so **neither** is individually
|
can each catch the same fault mask each other, so **neither** is individually
|
||||||
|
|||||||
Reference in New Issue
Block a user