Add injection-point test for new multixact CV usage
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 20 Aug 2024 18:20:48 +0000 (14:20 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 20 Aug 2024 18:21:34 +0000 (14:21 -0400)
commit768a9fd5535fddb781088b6f83132b9a1b1f5bd3
treedecc4acd5e9c77622b658bd06996ed5813dc0f9d
parent4d93bbd4e0d414a33521f62d6249ac88486c866f
Add injection-point test for new multixact CV usage

Before commit a0e0fb1ba56f, multixact.c contained a case in the
multixact-read path where it would loop sleeping 1ms each time until
another multixact-create path completed, which was uncovered by any
tests.  That commit changed the code to rely on a condition variable
instead.  Add a test now, which relies on injection points and "loading"
thereof (because of it being in a critical section), per commit
4b211003ecc2.

Author: Andrey Borodin <x4mmm@yandex-team.ru>
Reviewed-by: Michaƫl Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/0925F9A9-4D53-4B27-A87E-3D83A757B0E0@yandex-team.ru
src/backend/access/transam/multixact.c
src/test/modules/test_slru/Makefile
src/test/modules/test_slru/meson.build
src/test/modules/test_slru/t/001_multixact.pl [new file with mode: 0644]
src/test/modules/test_slru/test_multixact.c [new file with mode: 0644]
src/test/modules/test_slru/test_slru--1.0.sql