Skip the 004_io_direct.pl test if a pre-flight check fails.
authorThomas Munro <[email protected]>
Thu, 13 Apr 2023 01:47:39 +0000 (13:47 +1200)
committerThomas Munro <[email protected]>
Thu, 13 Apr 2023 01:57:46 +0000 (13:57 +1200)
commit6ca8df2d61473327b0e90b9becfe109299f47b8a
treebecc91153fcb065b32cd17550bc9571fcb66ebff
parentb37d051b0e59e4324e346655a27509507813db79
Skip the 004_io_direct.pl test if a pre-flight check fails.

The test previously had a list of OSes that direct I/O was expected to
work on.  That worked well enough for the systems in our build farm, but
didn't survive contact with the Debian build bots running on tmpfs via
overlayfs.  tmpfs does not support O_DIRECT, but we don't want to
exclude Linux generally.

The new approach is to try to create an empty file with O_DIRECT from
Perl first.  If that fails, we'll skip the test and report what the
error was.

Reported-by: Christoph Berg <[email protected]>
Reviewed-by: Dagfinn Ilmari MannsÃ¥ker <[email protected]>
Reviewed-by: Andrew Dunstan <[email protected]>
Discussion: https://postgr.es/m/ZDYd4A78cT2ULxZZ%40msg.df7cb.de
src/test/modules/test_misc/t/004_io_direct.pl