On 2019-Aug-20, Tom Lane wrote: > If you can warn in both cases, that'd be OK perhaps. But Alvaro's > description of the intended use of dry-run makes it sound like > it would be expected for there to be unreferenced steps, since there'd > be no permutations yet in the input.
Well, Heikki/Kevin's original intention was that if no permutations are specified, then all possible permutations are generated internally and the spec is run with that. The intended use of dry-run was to do just that (generate all possible permutations) and print that list, so that it could be trimmed down by the test author. In this mode of operation, all steps are always used, so there'd be no warning printed. However, when a test file has a largish number of steps then the list is, um, a bit long. Before the deadlock-test hacking, you could run with such a list anyway and any permutations that caused a blockage would be reported right away as an invalid permutation -- quick enough. Currently it sleeps for absurdly long on those cases, so this is no longer feasible. This is why I say that the current dry-run mode could be removed with no loss of useful functionality. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services