]> Sergey Matveev's repositories - public-inbox.git/blob - t/lei_overview.t
lei: q: lock stdout on overview output
[public-inbox.git] / t / lei_overview.t
1 #!perl -w
2 # Copyright (C) 2021 all contributors <meta@public-inbox.org>
3 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
4 use strict;
5 use v5.10.1;
6 use Test::More;
7 use PublicInbox::TestCommon;
8 use POSIX qw(_exit);
9 require_ok 'PublicInbox::LeiOverview';
10
11 my $ovv = bless {}, 'PublicInbox::LeiOverview';
12 $ovv->ovv_out_lk_init;
13 my $lock_path = $ovv->{lock_path};
14 ok(-f $lock_path, 'lock init');
15 undef $ovv;
16 ok(!-f $lock_path, 'lock DESTROY');
17
18 $ovv = bless {}, 'PublicInbox::LeiOverview';
19 $ovv->ovv_out_lk_init;
20 $lock_path = $ovv->{lock_path};
21 ok(-f $lock_path, 'lock init #2');
22 my $pid = fork // BAIL_OUT "fork $!";
23 if ($pid == 0) {
24         undef $ovv;
25         _exit(0);
26 }
27 is(waitpid($pid, 0), $pid, 'child exited');
28 is($?, 0, 'no error in child process');
29 ok(-f $lock_path, 'lock was not destroyed by child');
30 undef $ovv;
31 ok(!-f $lock_path, 'lock DESTROY #2');
32
33 done_testing;