Cutting test runtime for src/test/modules/snapshot_too_old

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Cutting test runtime for src/test/modules/snapshot_too_old
Date: 2022-08-02 15:38:22
Message-ID: 2515192.1659454702@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've complained before that the snapshot_too_old TAP tests seem
ridiculously slow --- close to a minute of runtime even on very fast
machines. Today I happened to look closer and realized that there's
an absolutely trivial way to cut that. The core of the slow runtime
is that there's a "pg_sleep(6)" in the test case; which perhaps could
be trimmed, but I'm not on about that right now. What I'm on about
is that two of the three isolation tests allow the isolationtester to
default to running every possible permutation of steps, one of which
doesn't even generate the "snapshot too old" failure. IMV it's
sufficient to run just one permutation. That opinion was shared by
whoever wrote sto_using_hash_index.spec, but they didn't propagate
the idea into the other two tests.

The attached cuts the test runtime (exclusive of setup) from
approximately 30+24+6 seconds to 6+6+6 seconds, and I don't see
that it loses us one iota of coverage.

I cleaned up some unused tables and bad comment grammar, too.

regards, tom lane

Attachment Content-Type Size
remove-useless-test-permutations.patch text/x-diff 6.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2022-08-02 16:53:48 Re: support for SSE2 intrinsics
Previous Message Andres Freund 2022-08-02 15:37:04 Re: Pluggable toaster