psql: Make cancel test more timing robust
authorPeter Eisentraut <[email protected]>
Wed, 25 Aug 2021 09:54:58 +0000 (11:54 +0200)
committerPeter Eisentraut <[email protected]>
Wed, 25 Aug 2021 10:02:08 +0000 (12:02 +0200)
commit43d4dd87977d5ed66961605649d61973caf80f40
tree27822bf86b9d7ac1f2a3e1f155d05e3c7c269226
parentbb9ff46bc4e659a865deaeb1b9aeac8d1ff4d36f
psql: Make cancel test more timing robust

The previous coding relied on the PID file appearing and the query
starting "fast enough", which can fail on slow machines.  Also, there
might have been an undocumented interference between alarm and
IPC::Run.  This new coding doesn't rely on any of these concurrency
mechanisms.  Instead, we wait unitl the PID file is complete before
proceeding, and then also wait until the sleep query is registered by
the server.

Discussion: https://www.postgresql.org/message-id/flat/E1mH14Q-0002gh-HS%40gemulon.postgresql.org
src/bin/psql/t/020_cancel.pl