X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Flei-auto-watch.t;h=f871188d9d8885d4ac51b2dc2a0305bf53fe9ae7;hb=21fcd8a37c82c1ef654d402cf592f0c9d803aa26;hp=146402a6ce9e01e58a0271998b85733c0a1f7d8b;hpb=4166c482b710acea785063de2c69a8a370c6d373;p=public-inbox.git diff --git a/t/lei-auto-watch.t b/t/lei-auto-watch.t index 146402a6..f871188d 100644 --- a/t/lei-auto-watch.t +++ b/t/lei-auto-watch.t @@ -3,15 +3,14 @@ # License: AGPL-3.0+ use strict; use v5.10.1; use PublicInbox::TestCommon; use File::Basename qw(basename); -my ($ro_home, $cfg_path) = setup_public_inboxes; -my $tick = 2.1; -my $have_fast_inotify = eval { require Linux::Inotify2; $tick = 0.1 } || - eval { require IO::KQueue; $tick = 0.5 }; - +plan skip_all => "TEST_FLAKY not enabled for $0" if !$ENV{TEST_FLAKY}; +my $have_fast_inotify = eval { require Linux::Inotify2 } || + eval { require IO::KQueue }; $have_fast_inotify or diag("$0 IO::KQueue or Linux::Inotify2 missing, test will be slow"); test_lei(sub { + my ($ro_home, $cfg_path) = setup_public_inboxes; my $x = "$ENV{HOME}/x"; my $y = "$ENV{HOME}/y"; lei_ok qw(add-external), "$ro_home/t1"; @@ -31,15 +30,20 @@ test_lei(sub { lei_ok qw(add-watch), $x; my $dst = $x[0] . 'S'; rename($x[0], $dst) or xbail "rename($x[0], $dst): $!"; - tick($tick); # wait for inotify or kevent + my $ys = "$y[0]S"; + for (0..50) { + last if -f $ys; + tick; # wait for inotify or kevent + } my @y2 = glob("$y/*/*"); - is_deeply(\@y2, [ "$y[0]S" ], "`seen' kw propagated to `y' dir"); + is_deeply(\@y2, [ $ys ], "`seen' kw propagated to `y' dir"); lei_ok qw(note-event done); lei_ok qw(inspect), "blob:$oid"; $ins = json_utf8->decode($lei_out); $exp = { "maildir:$x" => [ map { basename($_) } glob("$x/*/*") ], "maildir:$y" => [ map { basename($_) } glob("$y/*/*") ] }; - is_deeply($ins->{'mail-sync'}, $exp, 'mail_sync matches FS'); + is_deeply($ins->{'mail-sync'}, $exp, 'mail_sync matches FS') or + diag explain($ins); }); done_testing;