Simplify tests of postgres_fdw terminating connections
authorMichael Paquier
Wed, 14 Apr 2021 05:23:53 +0000 (14:23 +0900)
committerMichael Paquier
Wed, 14 Apr 2021 05:23:53 +0000 (14:23 +0900)
commit93f41461449f917da20af4fa2973f8afe8e6ea6e
tree9cd29f968ea090b620f62cf1a5cc090c7330ec94
parentcca57c1d9bf7eeba5b81115e0b82651cf3d8e4ea
Simplify tests of postgres_fdw terminating connections

The tests introduced in 32a9c0b for connections broken and
re-established rely on pg_terminate_backend() for their logic.  When
these were introduced, this function simply sent a signal to a backend
without waiting for the operation to complete, and the tests repeatedly
looked at pg_stat_activity to check if the operation was completed or
not.  Since aaf0432, it is possible to define a timeout to make
pg_terminate_backend() wait for a certain duration, so make use of it,
with a timeout reasonably large enough (3min) to give enough room for
the tests to pass even on slow machines.

Some measurements show that the tests of postgres_fdw are much faster
with this change.  For example, on my laptop, they now take 4s instead
of 6s.

Author: Bharath Rupireddy
Discussion: https://postgr.es/m/CALj2ACXGY_EfGrMTjKjHy2zi-u1u9rdeioU_fro0T6Jo8t56KQ@mail.gmail.com
contrib/postgres_fdw/expected/postgres_fdw.out
contrib/postgres_fdw/sql/postgres_fdw.sql