From: Eric Wong <e@80x24.org>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: meta@public-inbox.org
Subject: [PATCH] t/pop3d: skip all tests if no certs are found
Date: Wed, 21 Sep 2022 17:02:54 +0000 [thread overview]
Message-ID: <20220921170254.M219817@dcvr> (raw)
In-Reply-To: <20220921154741.siubptwcv4463w5l@pengutronix.de>
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:
> $ prove t/pop3d.t
> t/pop3d.t .. skipped: certs/ missing for t/pop3d.t, run /usr/bin/perl ./create-certs.perl in certs/
> t/pop3d.t (Wstat: 0 Tests: 2 Failed: 0)
> Parse errors: Bad plan. You planned 0 tests but ran 2.
> It looks better after I called the create-certs script, but IMHO it
> should work as is and just skip the two tests as advertised?
Oops, yes, fix at bottom.
> After calling the create-certs script I get:
>
> t/pop3d.t .. 1/? Not enough arguments for PublicInbox::Daemon::run at blib/script/public-inbox-pop3d line 8, near "'pop3://0.0.0.0:110')"
> Execution of blib/script/public-inbox-pop3d aborted due to compilation errors.
You need to use `prove -b' to add blib/{lib,arch} to the search
path. Omitting -b means you're using the system-wide installed
version.
`prove -l' also works for this project for users who don't run
`make' first (uses ./lib instead of blib/...) since this project
has no XS.
> Then it hangs. I'm not fluent enough in Perl to fix that quickly myself
> and my today's time to look into public-inbox is running out, so I
> thought I let you know.
No worries, I should be online more the rest of the year :>
--------8<-------
Subject: [PATCH] t/pop3d: skip all tests if no certs are found
This test could be written with optional OpenSSL dependencies, but
it's probably not worth it since IO::Socket::SSL seems pretty
common.
Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://public-inbox.org/meta/20220921154741.siubptwcv4463w5l@pengutronix.de/
---
t/pop3d.t | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/t/pop3d.t b/t/pop3d.t
index 7248c03f..dc52b0cf 100644
--- a/t/pop3d.t
+++ b/t/pop3d.t
@@ -4,6 +4,13 @@
use v5.12;
use PublicInbox::TestCommon;
use Socket qw(IPPROTO_TCP SOL_SOCKET);
+my $cert = 'certs/server-cert.pem';
+my $key = 'certs/server-key.pem';
+unless (-r $key && -r $cert) {
+ plan skip_all =>
+ "certs/ missing for $0, run $^X ./create-certs.perl in certs/";
+}
+
# Net::POP3 is part of the standard library, but distros may split it off...
require_mods(qw(DBD::SQLite Net::POP3 IO::Socket::SSL));
require_git('2.6'); # for v2
@@ -44,14 +51,6 @@ my $pop3s_addr = tcp_host_port($pop3s);
my $stls_addr = tcp_host_port($stls);
my $plain_addr = tcp_host_port($plain);
my $env = { PI_CONFIG => $pi_config };
-my $cert = 'certs/server-cert.pem';
-my $key = 'certs/server-key.pem';
-
-unless (-r $key && -r $cert) {
- plan skip_all =>
- "certs/ missing for $0, run $^X ./create-certs.perl in certs/";
-}
-
my $old = start_script(['-pop3d', '-W0',
"--stdout=$tmpdir/plain.out", "--stderr=$olderr" ],
$env, { 3 => $plain });
next prev parent reply other threads:[~2022-09-21 17:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-21 15:47 t/pop3d.t failure on 1.9.0 Uwe Kleine-König
2022-09-21 17:02 ` Eric Wong [this message]
2022-09-21 17:46 ` [PATCH] t/pop3d: skip all tests if no certs are found Uwe Kleine-König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://public-inbox.org/README
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220921170254.M219817@dcvr \
--to=e@80x24.org \
--cc=meta@public-inbox.org \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).