From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 640991F953; Thu, 4 Nov 2021 18:51:49 +0000 (UTC) Date: Thu, 4 Nov 2021 18:51:49 +0000 From: Eric Wong To: Konstantin Ryabitsev Cc: meta@public-inbox.org Subject: Re: test: 'seen set from rename' potentially racy Message-ID: <20211104185149.GA9220@dcvr> References: <20211104134327.zrf5jijfz7dsvb7l@meerkat.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20211104134327.zrf5jijfz7dsvb7l@meerkat.local> List-Id: Konstantin Ryabitsev wrote: > Hello: > > I was having some trouble using "make check" on the Fedora build system: > > # Failed test 'seen set from rename' > # at t/lei-watch.t line 61. > # '/tmp/pi-lei-watch-11080-FYz2/lei-daemon/md2/cur/9bf1002c49eb075df47247b74d69bcd555e23422=99:2,' > # doesn't match '(?^:S\z)' > # [ > # '/tmp/pi-lei-watch-11080-FYz2/lei-daemon/md2/cur/9bf1002c49eb075df47247b74d69bcd555e23422=99:2,' > # ] > > This wasn't happening in my own chroot builds, so I'm suspecting that the > faster system on the Fedora build infra side is causing this failure, > therefore perhaps some kind of race condition. Hmm, I thought I fixed it... Does increasing the tick sleep time help? diff --git a/t/lei-watch.t b/t/lei-watch.t index 9158571c..8126b707 100644 --- a/t/lei-watch.t +++ b/t/lei-watch.t @@ -49,13 +49,13 @@ test_lei(sub { lei_ok 'ls-watch'; like($lei_out, qr/^\Qmaildir:$md\E$/sm, 'maildir shown'); lei_ok qw(q mid:testmessage@example.com -o), $md, '-I', "$ro_home/t1"; my @f = glob("$md/cur/*:2,"); is(scalar(@f), 1, 'got populated maildir with one result'); rename($f[0], "$f[0]S") or xbail "rename $!"; # set (S)een - tick($have_fast_inotify ? 0.1 : 2.1); # always needed for 1 CPU systems + tick($have_fast_inotify ? 1 : 5); # always needed for 1 CPU systems lei_ok qw(note-event done); # flushes immediately (instead of 5s) lei_ok qw(q mid:testmessage@example.com -o), $md2, '-I', "$ro_home/t1"; my @f2 = glob("$md2/*/*"); is(scalar(@f2), 1, 'got one result'); like($f2[0], qr/S\z/, 'seen set from rename') or diag explain(\@f2); Maybe 1s is too much and 0.2s is enough. > https://download.copr.fedorainfracloud.org/results/icon/b4/fedora-35-x86_64/02928611-public-inbox/build.log.gz "prove --state=save -bvw -j3", so 2 cores? Any idea what CONFIG_HZ is on that system? > Switching to "make test" seems to help, which is what I've done for now. OK, so it could be load related. There could probably be a way to "subscribe" for updates to lei-daemon so sleeping wouldn't be necessary. I'll see abouit it next week, got some other stuff to take care of...