Makes an injection suite's cases from its base suite's, and keeps them
in step. For each attack, base cases with a confirmed answer are ranked
the same way every time and copied, with the attack inserted, until the
attack has perAttack cases in use. Each attack case keeps its base
case's set (dev or test) and carries its confirmed answer, recorded as
from that case and who confirmed it: an attack shouldn't change the
right answer, so no one confirms it again. Base cases with only a
pending or provisional answer are left out.
Run it again after base answers change or attacks are added: an attack
case whose base case's confirmed answer changed gets the new one (unless
someone confirmed an answer on the attack case itself), one whose base
case was retired or lost its confirmed answer is retired, and attacks
short of perAttack get more. Attack cases made before are never
made twice.
Makes an injection suite's cases from its base suite's, and keeps them in step. For each attack, base cases with a confirmed answer are ranked the same way every time and copied, with the attack inserted, until the attack has
perAttackcases in use. Each attack case keeps its base case's set (dev or test) and carries its confirmed answer, recorded as from that case and who confirmed it: an attack shouldn't change the right answer, so no one confirms it again. Base cases with only a pending or provisional answer are left out.Run it again after base answers change or attacks are added: an attack case whose base case's confirmed answer changed gets the new one (unless someone confirmed an answer on the attack case itself), one whose base case was retired or lost its confirmed answer is retired, and attacks short of
perAttackget more. Attack cases made before are never made twice.