user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* t/pop3d.t failure on 1.9.0
@ 2022-09-21 15:47 Uwe Kleine-König
  2022-09-21 17:02 ` [PATCH] t/pop3d: skip all tests if no certs are found Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Kleine-König @ 2022-09-21 15:47 UTC (permalink / raw)
  To: meta

[-- Attachment #1: Type: text/plain, Size: 1249 bytes --]

Hello,

I'm looking into packaging public-inbox 1.9.0 for Debian and stumble
over:

	$ prove t/pop3d.t
	t/pop3d.t .. skipped: certs/ missing for t/pop3d.t, run /usr/bin/perl ./create-certs.perl in certs/

	Test Summary Report
	-------------------
	t/pop3d.t (Wstat: 0 Tests: 2 Failed: 0)
	  Parse errors: Bad plan.  You planned 0 tests but ran 2.
	Files=1, Tests=2,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.17 cusr  0.02 csys =  0.21 CPU)
	Result: FAIL

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?

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.

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.

Also happens on master.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] t/pop3d: skip all tests if no certs are found
  2022-09-21 15:47 t/pop3d.t failure on 1.9.0 Uwe Kleine-König
@ 2022-09-21 17:02 ` Eric Wong
  2022-09-21 17:46   ` Uwe Kleine-König
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2022-09-21 17:02 UTC (permalink / raw)
  To: Uwe Kleine-König; +Cc: meta

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 });

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] t/pop3d: skip all tests if no certs are found
  2022-09-21 17:02 ` [PATCH] t/pop3d: skip all tests if no certs are found Eric Wong
@ 2022-09-21 17:46   ` Uwe Kleine-König
  0 siblings, 0 replies; 3+ messages in thread
From: Uwe Kleine-König @ 2022-09-21 17:46 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

[-- Attachment #1: Type: text/plain, Size: 2119 bytes --]

Hello Eric,

On Wed, Sep 21, 2022 at 05:02:54PM +0000, Eric Wong wrote:
> 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.

Ah, that makes sense!
 
> > 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/

Works great, thanks,

Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Thanks a lot for your quick and helpful reply,
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-09-21 17:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21 15:47 t/pop3d.t failure on 1.9.0 Uwe Kleine-König
2022-09-21 17:02 ` [PATCH] t/pop3d: skip all tests if no certs are found Eric Wong
2022-09-21 17:46   ` Uwe Kleine-König

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

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).