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
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/768a9fd5535fddb781088b6f83132b9a1b1f5bd3
Modified Files
--------------
src/backend/access/transam/multixact.c | 5 ++
src/test/modules/test_slru/Makefile | 7 +-
src/test/modules/test_slru/meson.build | 9 ++
src/test/modules/test_slru/t/001_multixact.pl | 124 ++++++++++++++++++++++++++
src/test/modules/test_slru/test_multixact.c | 57 ++++++++++++
src/test/modules/test_slru/test_slru--1.0.sql | 6 ++
6 files changed, 207 insertions(+), 1 deletion(-)