meson: Adjust test timeout for Valgrind builds - Mailing list pgsql-hackers

From Bertrand Drouvot
Subject meson: Adjust test timeout for Valgrind builds
Date
Msg-id ac/UW28t39GolvPB@ip-10-97-1-34.eu-west-3.compute.internal
Whole thread Raw
Responses Re: meson: Adjust test timeout for Valgrind builds
List pgsql-hackers
Hi hackers,

When building with -DUSE_VALGRIND, tests run significantly slower due
to Valgrind's instrumentation overhead, causing the default 1000s test's timeout
to be exceeded. Example when running the regress test suite:

"
$ meson test -C build -q --print-errorlogs --setup running --suite regress-running
regress-running - postgresql:regress-running/regress time out (After 1000 seconds)

Summary of Failures:

1/1 regress-running - postgresql:regress-running/regress TIMEOUT        1000.01s

Ok:                0
Fail:              0
Timeout:           1
"

PFA a patch that detects Valgrind builds using a compiler check, which correctly
handles USE_VALGRIND being passed via -Dc_args, CPPFLAGS or CFLAGS and increases
the test timeout to 10000s in that case.

I don't have a strong opinion on the new value. In practice, the regress
suite runs in about 30 seconds without Valgrind and in about 46 minutes with
Valgrind on my setup. Note that the timeout is per test, not for the entire
suite so that 10000s looks large enough (I tested to run the entire suite with
the patch and it did not produce any timeout).

Another option could be to disable the timeout on a Valgrind build (set timeout
to 0) but then a test could block forever.

Note that there are no changes needed for autoconf as it does not set a timeout
for the tests.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Bertrand Drouvot
Date:
Subject: Re: Silence -Wmaybe-uninitialized warnings
Next
From: Alvaro Herrera
Date:
Subject: Re: Adding REPACK [concurrently]