On 2025-02-21 Fr 3:58 AM, Zharkov Roman wrote:
Hello,
We running TAP tests which operates with a lot of instances. And some
of these tests randomly fail due "address already in use". It turned
out that the meson does not set environment variable MESON_BUILD_ROOT
when running the test() function [0]. As a result each test uses its
own "portlock" directory [1]. The small TAP test
001_portlock_env_test.pl shows the test environment variables. As we
can see MESON_BUILD_ROOT is really undefined.
Argh!! Meson strikes again. Apparently this is only set ... sometimes.
Can we explicitly set the MESON_BUILD_ROOT environment variable when
running a test? With included patch for the src/tools/testwrap file,
each instance gets an unique TCP port.
Seems reasonable. In the meantime you can do what the buildfarm client
does and explicitly set PG_TEST_PORT_DIR.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com