use strict;
use warnings;
use PostgresNode;
use TestLib;
use Test::More tests => 1;

my $duration = 60;

# Initialize a node
my $node = get_new_node('node');
$node->init;
$node->start;

my $waldir = $node->data_dir . "/pg_wal";

my ($stdout, $stderr);
my $cdproc = IPC::Run::start(
	[
		'perl', '-e', "for (;;) { my \$filename='$waldir/dummy'; open(\$FH, '>', \$filename); close(\$FH); unlink(\$filename);}"
	],
	'<', \undef, '>', \$stdout, '2>', \$stderr, IPC::Run::timeout($duration));

my $end = time() + $duration;
my $result = 1;
while (time() < $end && $result) {
	$result = $node->safe_psql('postgres',
		"select count(*) > 0 as ok from pg_ls_waldir();"
	);
}
$cdproc->signal('KILL');
sleep(1);
unlink("$waldir/dummy");
ok($result, 'No errors occured');
