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