]> Sergey Matveev's repositories - public-inbox.git/blob - t/lei_overview.t
xt/mem-imapd-tls: update aliases to DSdeflate subs
[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_mods(qw(Search::Xapian DBD::SQLite));
10 require_ok 'PublicInbox::LeiOverview';
11
12 my $ovv = bless {}, 'PublicInbox::LeiOverview';
13 $ovv->ovv_out_lk_init;
14 my $lock_path = $ovv->{lock_path};
15 ok(-f $lock_path, 'lock init');
16 undef $ovv;
17 ok(!-f $lock_path, 'lock DESTROY');
18
19 $ovv = bless {}, 'PublicInbox::LeiOverview';
20 $ovv->ovv_out_lk_init;
21 $lock_path = $ovv->{lock_path};
22 ok(-f $lock_path, 'lock init #2');
23 my $pid = fork // BAIL_OUT "fork $!";
24 if ($pid == 0) {
25         undef $ovv;
26         _exit(0);
27 }
28 is(waitpid($pid, 0), $pid, 'child exited');
29 is($?, 0, 'no error in child process');
30 ok(-f $lock_path, 'lock was not destroyed by child');
31 undef $ovv;
32 ok(!-f $lock_path, 'lock DESTROY #2');
33
34 done_testing;