Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> Neil Conway <neilc@samurai.com> writes:
> I've been seeing some intermittent failures in the 'rules' regression
> tests. I believe this patch should fix that, by moving rules out of
> the parallel group it is currently in.
>>
>> What intermittent failure? The only failure I'm currently aware of
>> is the hard failure from not having updated the expected output for
>> your pg_locks change.
> Already done.
Yes, I saw your commit, but haven't done cvs update since about noon.
This brings up something I'd had as a mental TODO for awhile: how can we
verify that the parallel regression test sets are actually safe
(noninterfering)? One fairly simple check would be a brute-force one:
for each test in a parallel set, try it before and after the set.
For example, with a set
test: a b c
try all the cases
test: a
test: b c
test: b c
test: a
test: b
test: a c
test: a c
test: b
test: c
test: a b
test: a b
test: c
to see if any fail. This would catch any places where there are
unexpected sequential dependencies between tests.
This would *not* catch problems created by transient states within a
test. For example, if some test running parallel with the rules test
were to create a temp table and put a rule on the temp table, then the
rules test's display of all rules might show that rule when run in
parallel ... but there's no bug in either sequential order.
I think it'd be worth trying the cross-check sketched above, if anyone
has the patience, but beyond that I'm not sure how we might rule out
problems.
But in reality, if there were such problems I'd be inclined to think
we'd have heard about them before now.
regards, tom lane