Keep going deeper until we find a successful reduction. When found, finish tests at current depth and restart from top depth (new iteration). If we reach the bottom (depth with no nodes on it), we're done.
Keep going deeper. If we reach the bottom (depth with no nodes on it), start a new iteration. If we finish an iteration without finding any reductions, we're done.
Look at every entity in the tree. If we can reduce this entity, continue looking at its siblings. Otherwise, recurse and look at its children. End an iteration once we looked at an entire tree. If we finish an iteration without finding any reductions, we're done.
Keep going deeper until we find a successful reduction. When found, go up a depth level. Keep going up while we find new reductions. Repeat topmost depth level as necessary. Once no new reductions are found at higher depths, jump to the next unvisited depth in this iteration. If we reach the bottom (depth with no nodes on it), start a new iteration. If we finish an iteration without finding any reductions, we're done.
Keep going deeper until we find a successful reduction. When found, go up a depth level. Keep going up while we find new reductions. Repeat topmost depth level as necessary. Once no new reductions are found at higher depths, start going downwards again. If we reach the bottom (depth with no nodes on it), start a new iteration. If we finish an iteration without finding any reductions, we're done.
Permanently apply specified reduction to set.
Alternative way to check for file existence Files marked for deletion act as inexistant, but still prevent creation and appear in directory listings
Find the first address at the depth of address.length, and populate address[] accordingly. Return false if no address at that level could be found.
Find the next address, starting from the given one (going depth-first). Update address accordingly. If descend is false, then skip addresses under the given one. Return false if no more addresses could be found.
Find the next address at the depth of address.length, and update address[] accordingly. Return false if no more addresses at that level could be found.
Try specified reduction. If it succeeds, apply it permanently and save intermediate result.
DustMite, a D test case minimization tool Written by Vladimir Panteleev <vladimir@thecybershadow.net> Released into the Public Domain