76 lines
2 KiB
Perl
76 lines
2 KiB
Perl
use strict;
|
|
use warnings FATAL => 'all';
|
|
|
|
use Apache::Test;
|
|
use Apache::TestUtil qw/t_start_file_watch
|
|
t_read_file_watch
|
|
t_finish_file_watch
|
|
t_write_file
|
|
t_append_file
|
|
t_catfile
|
|
t_cmp/;
|
|
|
|
plan tests => 11;
|
|
|
|
my $fn=t_catfile(Apache::Test::vars->{t_logs}, 'watch');
|
|
unlink $fn;
|
|
|
|
t_start_file_watch 'watch';
|
|
|
|
t_write_file $fn, "1\n2\n";
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], ["1\n", "2\n"],
|
|
"t_read_file_watch on previously non-existing file";
|
|
|
|
t_append_file $fn, "3\n4\n";
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], ["3\n", "4\n"],
|
|
"subsequent t_read_file_watch";
|
|
|
|
t_append_file $fn, "5\n6\n";
|
|
|
|
ok t_cmp [t_finish_file_watch 'watch'], ["5\n", "6\n"],
|
|
"subsequent t_finish_file_watch";
|
|
|
|
ok t_cmp [t_finish_file_watch 'watch'], ["1\n","2\n","3\n","4\n","5\n","6\n"],
|
|
"t_finish_file_watch w/o start";
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], ["1\n","2\n","3\n","4\n","5\n","6\n"],
|
|
"t_read_file_watch w/o start";
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], [],
|
|
"subsequent t_read_file_watch";
|
|
|
|
t_append_file $fn, "7\n8\n";
|
|
unlink $fn;
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], ["7\n","8\n"],
|
|
"subsequent t_read_file_watch file unlinked";
|
|
|
|
t_write_file $fn, "1\n2\n3\n4\n5\n6\n7\n8\n";
|
|
|
|
ok t_cmp [t_finish_file_watch 'watch'], [],
|
|
"subsequent t_finish_file_watch - new file exists but fh is cached";
|
|
|
|
t_start_file_watch 'watch';
|
|
|
|
ok t_cmp [t_read_file_watch 'watch'], [],
|
|
"t_read_file_watch at EOF";
|
|
|
|
# Make sure the file is closed before deleting it on Windows.
|
|
t_finish_file_watch 'watch' if $^O eq 'MSWin32';
|
|
|
|
unlink $fn;
|
|
t_start_file_watch 'watch';
|
|
|
|
t_write_file $fn, "1\n2\n3\n4\n5\n6\n7\n8\n";
|
|
|
|
{
|
|
local $/=\4;
|
|
|
|
ok t_cmp [scalar t_read_file_watch 'watch'], ["1\n2\n"],
|
|
"t_read_file_watch fixed record length / scalar context";
|
|
|
|
ok t_cmp [t_finish_file_watch 'watch'], ["3\n4\n","5\n6\n","7\n8\n"],
|
|
"t_finish_file_watch fixed record length";
|
|
}
|