From d1eb014b043d71702bff6d1ba11e90c1e7f0c17a Mon Sep 17 00:00:00 2001 From: Melanie Plageman Date: Tue, 3 Mar 2026 13:27:51 -0500 Subject: [PATCH v4 4/6] test fixes The pump_until change is needed for the test to work reliably on BSD. --- src/test/modules/test_aio/t/004_read_stream.pl | 15 ++++++++------- src/test/modules/test_aio/test_aio--1.0.sql | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/test/modules/test_aio/t/004_read_stream.pl b/src/test/modules/test_aio/t/004_read_stream.pl index 89cfabbb1d3..f3fa018dd1c 100644 --- a/src/test/modules/test_aio/t/004_read_stream.pl +++ b/src/test/modules/test_aio/t/004_read_stream.pl @@ -35,7 +35,7 @@ $node->stop(); foreach my $method (TestAio::supported_io_methods()) { - $node->adjust_conf('postgresql.conf', 'io_method', 'worker'); + $node->adjust_conf('postgresql.conf', 'io_method', $method); $node->start(); test_io_method($method, $node); $node->stop(); @@ -205,15 +205,13 @@ SELECT array_agg(blocknum) FROM read_stream_for_blocks('largeish', ARRAY[0, 2, 5 $psql_a->{run}, $psql_a->{timeout}, \$psql_a->{stdout}, qr/\{0,2,5,7\}/); - $psql_b->{run}->pump_nb(); - like( - $psql_b->{stderr}, - qr/.*ERROR.*could not read blocks 5..5.*$/, - "$io_method: injected error occurred"); + pump_until( + $psql_b->{run}, $psql_b->{timeout}, + \$psql_b->{stderr}, qr/ERROR.*could not read blocks 5\.\.5/); + ok(1, "$io_method: injected error occurred"); $psql_b->{stderr} = ''; $psql_b->query_safe(qq/SELECT inj_io_short_read_detach();/); - ok(1, qq/$io_method: read stream encounters failing IO by another backend/); @@ -271,6 +269,9 @@ sub test_io_method my $io_method = shift; my $node = shift; + is($node->safe_psql('postgres', 'SHOW io_method'), + $io_method, "$io_method: io_method set correctly"); + test_repeated_blocks($io_method, $node); SKIP: diff --git a/src/test/modules/test_aio/test_aio--1.0.sql b/src/test/modules/test_aio/test_aio--1.0.sql index da7cc03829a..1cc4734a746 100644 --- a/src/test/modules/test_aio/test_aio--1.0.sql +++ b/src/test/modules/test_aio/test_aio--1.0.sql @@ -45,7 +45,7 @@ CREATE FUNCTION buffer_create_toy(rel regclass, blockno int4) RETURNS pg_catalog.int4 STRICT AS 'MODULE_PATHNAME' LANGUAGE C; -CREATE FUNCTION buffer_call_start_io(buffer int, for_input bool, nowait bool, assign_io bool DEFAULT false) +CREATE FUNCTION buffer_call_start_io(buffer int, for_input bool, nowait bool) RETURNS pg_catalog.bool STRICT AS 'MODULE_PATHNAME' LANGUAGE C; -- 2.43.0