user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: lei-q-remote-import failures [was: [PATCH] t/index-git-times: support non-master default branch]
  @ 2021-10-27 21:24  3%           ` Thomas Weißschuh
  0 siblings, 0 replies; 3+ results
From: Thomas Weißschuh @ 2021-10-27 21:24 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

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

On 2021-10-27 21:15+0000, Eric Wong wrote:
> Thomas Weißschuh <thomas@t-8ch.de> wrote:
> > On 2021-10-26 05:28+0000, Eric Wong wrote:
> > > Thomas Weißschuh <thomas@t-8ch.de> wrote:
> > > > The only failures I still see are in t/lei-q-remote-import.t which is unrelated
> > > > to the git branch and some more that fail only during parallel test execution.
> > > > 
> > > > In t/lei-q-remote-import.t it seems the search results are not memoized to the
> > > > local store. (See attachment)
> > > 
> > > Thanks, I'll check out lei-q-remote-import.t separately.
> > > That could be related to SMP or slow/fast storage.
> > > Any details you can share about CPU core count, speeds
> > > or storage speeds, or CPU scheduler, CONFIG_HZ?
> > 
> > CPU:
> > 
> >   Model name:            11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
> >     CPU family:          6
> >     Model:               140
> >     Thread(s) per core:  2
> >     Core(s) per socket:  4
> >     Socket(s):           1
> >     Stepping:            1
> >     CPU max MHz:         4700,0000
> >     CPU min MHz:         400,0000
> > 
> > Storage: Samsung EVO 970 (with plenty of memory cache)
> > CONFIG_HZ: 300
> 
> I'm puzzled by this failure; I'm not sure if I've
> ever seen it.  Does it fail when run standalone?
> (prove -bvw t/lei-q-remote-import.t)

It also does. The protocol is attached.

> Maybe running under TEST_LEI_ERR_LOUD=1 or checking
> syslog can reveal something.
> 
> Adding a sleep shouldn't be necessary, but maybe something
> else is broken I'm not seeing...:

It didn't help, neither did larger sleeps.

> diff --git a/t/lei-q-remote-import.t b/t/lei-q-remote-import.t
> index 92d8c9b6058c..a2d643cd06c7 100644
> --- a/t/lei-q-remote-import.t
> +++ b/t/lei-q-remote-import.t
> @@ -35,6 +35,7 @@ test_lei({ tmpdir => $tmpdir }, sub {
>  	lei_ok(@cmd, '-I', $url);
>  	is_deeply($slurp_emls->($o), $exp1, 'got results after remote search');
>  	unlink $o or BAIL_OUT $!;
> +	sleep 1;
>  	lei_ok(@cmd);
>  	ok(-f $o && -s _, 'output exists after import but is not empty') or
>  		diag $lei_err;

I'll see if I can debug it in the coming days.

[-- Attachment #2: output-lei-q-remote-import.t --]
[-- Type: text/troff, Size: 6315 bytes --]

$ git checkout origin/master
Note: switching to 'origin/master'.
HEAD is now at ded9dad2 test_common: key test inboxes to init.defaultBranch

$ git clean -fdx t/data-gen/
...

$ TEST_LEI_ERR_LOUD=1 prove -bvw t/lei-q-remote-import.t
# # /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)

ok 1 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:qp@example.com
ok 2 - output exists but is empty
# lei_err=# /usr/bin/curl -Sf -s -d '' http://[::1]:46299/t2/?x=m&q=m%3Aqp%40example.com
# # /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # http://[::1]:46299/t2/ 1/1
# # 1 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (1 matches)
ok 3 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:qp@example.com -I http://[::1]:46299/t2/
ok 4 - got results after remote search
ok 5 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:qp@example.com
not ok 6 - output exists after import but is not empty
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)

#   Failed test 'output exists after import but is not empty'
#   at t/lei-q-remote-import.t line 39.
# # /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)
not ok 7 - got results w/o remote search

#   Failed test 'got results w/o remote search'
#   at t/lei-q-remote-import.t line 41.
#     Structures begin differing at:
#          $got->[0] = Does not exist
#     $expected->[0] = PublicInbox::Eml=HASH(0x565282aeff78)
ok 8 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:199707281508.AAA24167@hoyogw.example -I http://[::1]:46299/t2/ --no-import-remote
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # /usr/bin/curl -Sf -s -d '' http://[::1]:46299/t2/?x=m&q=m%3A199707281508.AAA24167%40hoyogw.example
# # http://[::1]:46299/t2/ 1/1
# # 1 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (1 matches)
ok 9 - got another after remote search
ok 10 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:199707281508.AAA24167@hoyogw.example
ok 11 - --no-import-remote did not memoize
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)
ok 12 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:qp@example.com --lock=none
not ok 13 - --lock=none respected
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)

#   Failed test '--lock=none respected'
#   at t/lei-q-remote-import.t line 55.
# # /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)
# lei_err=dotlock timeout /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd.lock
ok 14 - dotlock fails
ok 15 - timeout noted
ok 16 - nothing output on lock failure
ok 17 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:qp@example.com --lock=dotlock,timeout=0.000001 (succeeds after lock removal)
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (0 matches)
ok 18 - lei add-external -q /home/t-8ch/Projekte/public-inbox.org/t/data-gen/lei-q-remote-import.local-external-master
ok 19 - lei q -q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd --only http://[::1]:46299/t2/ m:testmessage@example.com
ok 20 - no warnings or errors
ok 21 - got result from remote external
ok 22 - got expected result
ok 23 - lei q --no-external -o mboxrd:/dev/stdout m:testmessage@example.com
ok 24 - message not imported when in local external
ok 25 - lei q -o mboxrd:/tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd m:testmessage@example.com
# lei_err=# /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/.local/share/lei/store 0/0
# # /home/t-8ch/Projekte/public-inbox.org/t/data-gen/lei-q-remote-import.local-external-master 1/1
# # 1 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/o.mboxrd (1 matches)
ok 26 - got expected result after clobber
ok 27 - lei q -o mboxrd:/dev/stdout m:never-before-seen@example.com
ok 28 - --import-before imported totally unseen message
ok 29 - lei q --save z:0.. -o /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/md --only http://[::1]:46299/t2/
# lei_err=# /usr/bin/curl -Sf -s -d '' http://[::1]:46299/t2/?x=m&q=z%3A0..
# # http://[::1]:46299/t2/ 15/15
# # 15 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/md/ (15 matches)
ok 30 - lei up /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/md
ok 31 - lei up remote dedupe works on maildir
# lei_err=# http://[::1]:46299/t2/ limiting to 2021-10-25 23:18 +0200 and newer
# # /usr/bin/curl -Sf -s -d '' http://[::1]:46299/t2/?x=m&q=(z%3A0..)+AND+dt%3A20211025211849..
# # http://[::1]:46299/t2/ 11/11
# # 0 written to /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/md/ (11 matches)
ok 32 - lei edit-search /tmp/pi-lei-q-remote-import-5668-gmA0/lei-daemon/md
ok 33 - lastresult set
ok 34 - lei daemon-pid (daemon-pid after t/lei-q-remote-import.t:106)
ok 35 - daemon running after t/lei-q-remote-import.t:106
ok 36 - lei daemon-kill (daemon-kill after t/lei-q-remote-import.t:106)
ok 37 - t/lei-q-remote-import.t:106 daemon stopped
ok 38 - t/lei-q-remote-import.t:106 daemon XDG_RUNTIME_DIR/lei/errors.log empty
1..38
# Looks like you failed 3 tests of 38.
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/38 subtests

Test Summary Report
-------------------
t/lei-q-remote-import.t (Wstat: 768 Tests: 38 Failed: 3)
  Failed tests:  6-7, 13
  Non-zero exit status: 3
Files=1, Tests=38,  1 wallclock secs ( 0.01 usr  0.01 sys +  0.32 cusr  0.08 csys =  0.42 CPU)
Result: FAIL

^ permalink raw reply	[relevance 3%]

* Re: [PATCH] test_common: key test inboxes to init.defaultBranch
  2021-10-27  4:07 14%         ` [PATCH] test_common: key test inboxes to init.defaultBranch Eric Wong
@ 2021-10-27  5:04  7%           ` Thomas Weißschuh
  0 siblings, 0 replies; 3+ results
From: Thomas Weißschuh @ 2021-10-27  5:04 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

On 2021-10-27 04:07+0000, Eric Wong wrote:
> Thomas Weißschuh <thomas@t-8ch.de> wrote:
> > On 2021-10-26 05:28+0000, Eric Wong wrote:
> > > Thomas Weißschuh <thomas@t-8ch.de> wrote:
> > > > On 2021-10-25 16:58-0600, Eric Wong wrote:
> > > > > Thanks, pushed as 9f3fb207.   It looks like there's several
> > > > > other tests broken with non-master being the default.  Can we
> > > > > expect fixes for those, too?  Thanks again.
> > > > 
> > > > Which tests are failing for you?
> > > 
> > > 	t/edit.t
> > > 	t/indexlevels-mirror.t
> > > 	t/indexlevels-mirror-v1.t
> > > 	t/convert-compact.t
> > > 	t/multi-mid.t
> > > 	t/feed.t
> > 
> > I think these are because of stale data in t/data-gen/ that was generated when
> > you still had the master branch configured.
> > Try to clean out these files and rerun the tests.
> 
> Ah, thanks for spotting that.  I think it's better if the
> cache-invalidation is transparent:

Sounds reasonable.

> -----------8<----------
> Subject: [PATCH] test_common: key test inboxes to init.defaultBranch
> 
> This lets users change their global init.defaultBranch config
> knob in ~/.gitconfig or similar without breaking tests.
> 
> Reported-by: Thomas Weißschuh <thomas@t-8ch.de>
> ---
>  lib/PublicInbox/TestCommon.pm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
> index fb0d5a4e..c3820d3a 100644
> --- a/lib/PublicInbox/TestCommon.pm
> +++ b/lib/PublicInbox/TestCommon.pm
> @@ -674,8 +674,10 @@ sub create_inbox ($$;@) {
>  	my %opt = @_;
>  	require PublicInbox::Lock;
>  	require PublicInbox::InboxWritable;
> +	require PublicInbox::Import;
>  	my ($base) = ($0 =~ m!\b([^/]+)\.[^\.]+\z!);
> -	my $dir = "t/data-gen/$base.$ident";
> +	my ($db) = (PublicInbox::Import::default_branch() =~ m!([^/]+)\z!);
> +	my $dir = "t/data-gen/$base.$ident-$db";
>  	my $new = !-d $dir;
>  	if ($new) {
>  		mkdir $dir; # may race

Tested-by: Thomas Weißschuh <thomas@t-8ch.de>

^ permalink raw reply	[relevance 7%]

* [PATCH] test_common: key test inboxes to init.defaultBranch
  @ 2021-10-27  4:07 14%         ` Eric Wong
  2021-10-27  5:04  7%           ` Thomas Weißschuh
  0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2021-10-27  4:07 UTC (permalink / raw)
  To: Thomas Weißschuh; +Cc: meta

Thomas Weißschuh <thomas@t-8ch.de> wrote:
> On 2021-10-26 05:28+0000, Eric Wong wrote:
> > Thomas Weißschuh <thomas@t-8ch.de> wrote:
> > > On 2021-10-25 16:58-0600, Eric Wong wrote:
> > > > Thanks, pushed as 9f3fb207.   It looks like there's several
> > > > other tests broken with non-master being the default.  Can we
> > > > expect fixes for those, too?  Thanks again.
> > > 
> > > Which tests are failing for you?
> > 
> > 	t/edit.t
> > 	t/indexlevels-mirror.t
> > 	t/indexlevels-mirror-v1.t
> > 	t/convert-compact.t
> > 	t/multi-mid.t
> > 	t/feed.t
> 
> I think these are because of stale data in t/data-gen/ that was generated when
> you still had the master branch configured.
> Try to clean out these files and rerun the tests.

Ah, thanks for spotting that.  I think it's better if the
cache-invalidation is transparent:
-----------8<----------
Subject: [PATCH] test_common: key test inboxes to init.defaultBranch

This lets users change their global init.defaultBranch config
knob in ~/.gitconfig or similar without breaking tests.

Reported-by: Thomas Weißschuh <thomas@t-8ch.de>
---
 lib/PublicInbox/TestCommon.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index fb0d5a4e..c3820d3a 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -674,8 +674,10 @@ sub create_inbox ($$;@) {
 	my %opt = @_;
 	require PublicInbox::Lock;
 	require PublicInbox::InboxWritable;
+	require PublicInbox::Import;
 	my ($base) = ($0 =~ m!\b([^/]+)\.[^\.]+\z!);
-	my $dir = "t/data-gen/$base.$ident";
+	my ($db) = (PublicInbox::Import::default_branch() =~ m!([^/]+)\z!);
+	my $dir = "t/data-gen/$base.$ident-$db";
 	my $new = !-d $dir;
 	if ($new) {
 		mkdir $dir; # may race

^ permalink raw reply related	[relevance 14%]

Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2021-10-25 22:24     [PATCH] t/index-git-times: support non-master default branch Thomas Weißschuh
2021-10-25 22:58     ` Eric Wong
2021-10-26  5:05       ` Thomas Weißschuh
2021-10-26  5:28         ` Eric Wong
2021-10-26 18:43           ` Thomas Weißschuh
2021-10-27 21:15             ` lei-q-remote-import failures [was: [PATCH] t/index-git-times: support non-master default branch] Eric Wong
2021-10-27 21:24  3%           ` Thomas Weißschuh
2021-10-26 21:24           ` [PATCH] t/index-git-times: support non-master default branch Thomas Weißschuh
2021-10-27  4:07 14%         ` [PATCH] test_common: key test inboxes to init.defaultBranch Eric Wong
2021-10-27  5:04  7%           ` Thomas Weißschuh

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