diff options
Diffstat (limited to 't')
-rw-r--r-- | t/lei_overview.t | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/t/lei_overview.t b/t/lei_overview.t new file mode 100644 index 00000000..896cc01a --- /dev/null +++ b/t/lei_overview.t @@ -0,0 +1,33 @@ +#!perl -w +# Copyright (C) 2021 all contributors <meta@public-inbox.org> +# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> +use strict; +use v5.10.1; +use Test::More; +use PublicInbox::TestCommon; +use POSIX qw(_exit); +require_ok 'PublicInbox::LeiOverview'; + +my $ovv = bless {}, 'PublicInbox::LeiOverview'; +$ovv->ovv_out_lk_init; +my $lock_path = $ovv->{lock_path}; +ok(-f $lock_path, 'lock init'); +undef $ovv; +ok(!-f $lock_path, 'lock DESTROY'); + +$ovv = bless {}, 'PublicInbox::LeiOverview'; +$ovv->ovv_out_lk_init; +$lock_path = $ovv->{lock_path}; +ok(-f $lock_path, 'lock init #2'); +my $pid = fork // BAIL_OUT "fork $!"; +if ($pid == 0) { + undef $ovv; + _exit(0); +} +is(waitpid($pid, 0), $pid, 'child exited'); +is($?, 0, 'no error in child process'); +ok(-f $lock_path, 'lock was not destroyed by child'); +undef $ovv; +ok(!-f $lock_path, 'lock DESTROY #2'); + +done_testing; |