Я пытаюсь проверить модуль журналирования, который асинхронно записывает в файл ... модульный тест пытается прочитать журнал, чтобы убедиться, что записанное сообщение соответствует ожидаемому. Однако я обнаружил, что асинхронные записи модуля не достигают файла до тех пор, пока не завершатся модульные тесты, даже если я сплю, чтобы ждать файл в течение произвольного промежутка времени. Я проверил, что файлы не закрываются до самого конца, добавив оператор печати рядом с aio_close. Что я могу сделать, чтобы проверить это?
#approximately the way this works:
aio_open($pathname,
$flags,
$mode,
sub
{
my $fh = shift;
aio_write($fh,
0,
length($log),
$log,
0,
sub
{
print "here";
aio_close($fh, sub {});
});
});