X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=xt%2Fmem-imapd-tls.t;h=75f2911f635530944473139e5fef69852acb4017;hp=660fdc77a2b740b5db8d085561dbaae52e73efd2;hb=2f8d15b1170b137a0512a4f3163b236a5dcbf0b8;hpb=94096cab6cd5e00c8a36a4a2667bdb9acf43d01f diff --git a/xt/mem-imapd-tls.t b/xt/mem-imapd-tls.t index 660fdc77..75f2911f 100644 --- a/xt/mem-imapd-tls.t +++ b/xt/mem-imapd-tls.t @@ -1,16 +1,15 @@ #!perl -w -# Copyright (C) 2020 all contributors +# Copyright (C) all contributors # License: AGPL-3.0+ # Idle client memory usage test, particularly after EXAMINE when # Message Sequence Numbers are loaded use strict; -use Test::More; +use v5.10.1; use Socket qw(SOCK_STREAM IPPROTO_TCP SOL_SOCKET); use PublicInbox::TestCommon; use PublicInbox::Syscall qw(:epoll); use PublicInbox::DS; -require_mods(qw(DBD::SQLite Email::Address::XS||Mail::Address - Parse::RecDescent)); +require_mods(qw(-imapd)); my $inboxdir = $ENV{GIANT_INBOX_DIR}; my $TEST_TLS; SKIP: { @@ -45,11 +44,13 @@ my $imaps = tcp_server(); EOF close $fh or die "close: $!\n"; } -my $imaps_addr = $imaps->sockhost . ':' . $imaps->sockport; +my $imaps_addr = tcp_host_port($imaps); my $env = { PI_CONFIG => $pi_config }; my $arg = $TEST_TLS ? [ "-limaps://$imaps_addr/?cert=$cert,key=$key" ] : []; my $cmd = [ '-imapd', '-W0', @$arg, "--stdout=$out", "--stderr=$err" ]; -my $td = start_script($cmd, $env, { 3 => $imaps }); + +# run_mode=0 ensures Test::More FDs don't get shared +my $td = start_script($cmd, $env, { 3 => $imaps, run_mode => 0 }); my %ssl_opt; if ($TEST_TLS) { %ssl_opt = ( @@ -94,7 +95,7 @@ foreach my $n (1..$nfd) { # one step through the event loop # do a little work as we connect: - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); # try not to overflow the listen() backlog: if (!($n % 128) && $DONE != $n) { @@ -103,7 +104,7 @@ foreach my $n (1..$nfd) { PublicInbox::DS->SetPostLoopCallback(sub { $DONE != $n }); # clear the backlog: - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); # resume looping PublicInbox::DS->SetLoopTimeout(0); @@ -116,7 +117,7 @@ diag "done?: @".time." $DONE/$nfd"; if ($DONE != $nfd) { PublicInbox::DS->SetLoopTimeout(-1); PublicInbox::DS->SetPostLoopCallback(sub { $DONE != $nfd }); - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); } is($nfd, $DONE, "$nfd/$DONE done"); if ($^O eq 'linux' && open(my $f, '<', "/proc/$pid/status")) { @@ -220,13 +221,13 @@ package IMAPCdeflate; use strict; our @ISA; use Compress::Raw::Zlib; -use PublicInbox::IMAPdeflate; +use PublicInbox::IMAP; my %ZIN_OPT; BEGIN { @ISA = qw(IMAPC); %ZIN_OPT = ( -WindowBits => -15, -AppendOutput => 1 ); - *write = \&PublicInbox::IMAPdeflate::write; - *do_read = \&PublicInbox::IMAPdeflate::do_read; + *write = \&PublicInbox::DSdeflate::write; + *do_read = \&PublicInbox::DSdeflate::do_read; }; sub enable {