X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fnntpd.t;h=30233ce0c3b186ba8dd4d813183d8d81e874584a;hb=6e9397d12635eae55c9114ed9689413154fed8ce;hp=67205fe5e27006d1d6460ea18b13a8d9590a81bf;hpb=08b14e417843557ec6a42fd9e5f0cedbd81832e8;p=public-inbox.git
diff --git a/t/nntpd.t b/t/nntpd.t
index 67205fe5..30233ce0 100644
--- a/t/nntpd.t
+++ b/t/nntpd.t
@@ -1,14 +1,10 @@
#!perl -w
-# Copyright (C) 2015-2021 all contributors
+# Copyright (C) all contributors
# License: AGPL-3.0+
-use strict;
-use v5.10.1;
-use PublicInbox::TestCommon;
-use PublicInbox::Spawn qw(which);
-require_mods(qw(DBD::SQLite));
+use strict; use v5.10.1; use PublicInbox::TestCommon;
+require_mods(qw(DBD::SQLite Net::NNTP));
use PublicInbox::Eml;
use Socket qw(IPPROTO_TCP TCP_NODELAY);
-use Net::NNTP;
use Sys::Hostname;
use POSIX qw(_exit);
use Digest::SHA;
@@ -17,7 +13,7 @@ use Digest::SHA;
my $version = $ENV{PI_TEST_VERSION} || 1;
require_git('2.6') if $version == 2;
use_ok 'PublicInbox::Msgmap';
-my $lsof = which('lsof');
+my $lsof = require_cmd('lsof', 1);
my $fast_idle = eval { require Linux::Inotify2; 1 } //
eval { require IO::KQueue; 1 };
@@ -97,6 +93,13 @@ close $cfgfh or BAIL_OUT;
is_deeply([$n->group($group)], [ qw(0 1 1), $group ], 'GROUP works');
is_deeply($n->listgroup($group), [1], 'listgroup OK');
# TODO: Net::NNTP::listgroup does not support range at the moment
+ my $s = tcp_connect($sock);
+ sysread($s, my $buf, 4096);
+ is($buf, "201 " . hostname . " ready - post via email\r\n",
+ 'got greeting');
+ syswrite($s, "LISTGROUP $group 1-1\r\n");
+ $buf = read_til_dot($s);
+ like($buf, qr/\r\n1\r\n/s, 'LISTGROUP with range works');
{
my $expect = [ qw(Subject: From: Date: Message-ID:
@@ -124,8 +127,8 @@ close $cfgfh or BAIL_OUT;
'references' => '',
);
- my $s = tcp_connect($sock);
- sysread($s, my $buf, 4096);
+ $s = tcp_connect($sock);
+ sysread($s, $buf, 4096);
is($buf, "201 " . hostname . " ready - post via email\r\n",
'got greeting');
@@ -355,7 +358,7 @@ Date: Fri, 02 Oct 1993 00:00:00 +0000
}
ok(run_script([qw(-index -c -j0 --reindex), $ibx->{inboxdir}],
undef, $noerr), '-compacted');
- select(undef, undef, undef, $fast_idle ? 0.1 : 2.1);
+ tick($fast_idle ? 0.1 : 2.1);
$art = $n->article($ex->header('Message-ID'));
ok($art, 'new article retrieved after compact');
$lsof or skip 'lsof missing', 1;
@@ -369,9 +372,9 @@ Date: Fri, 02 Oct 1993 00:00:00 +0000
{
setsockopt($s, IPPROTO_TCP, TCP_NODELAY, 1);
syswrite($s, 'HDR List-id 1-');
- select(undef, undef, undef, 0.15);
+ tick(0.15);
ok($td->kill, 'killed nntpd');
- select(undef, undef, undef, 0.15);
+ tick(0.15);
syswrite($s, "\r\n");
$buf = '';
do {
@@ -442,7 +445,7 @@ sub test_watch {
my $w = start_script(['-watch'], undef, { 2 => $err_wr });
diag 'waiting for initial fetch...';
- PublicInbox::DS->EventLoop;
+ PublicInbox::DS::event_loop();
diag 'inbox unlocked on initial fetch';
$w->kill;
$w->join;