]> Sergey Matveev's repositories - public-inbox.git/commit
www: fix unindexed v1 inboxes w/ public-inbox-httpd
authorEric Wong <e@80x24.org>
Fri, 26 Aug 2022 10:15:45 +0000 (10:15 +0000)
committerEric Wong <e@80x24.org>
Fri, 26 Aug 2022 18:10:30 +0000 (18:10 +0000)
commit81ea7f0100f016ad8c66605b49230e876a1eb82d
treea65529a4aaa1fa9abc0b7d09ef6f151ccd7ebe4c
parentf2ee1e5f1c36afee3bf80e42e9c5f3196dded34f
www: fix unindexed v1 inboxes w/ public-inbox-httpd

Unindexed v1 inboxes were leaving $smsg objects unpopulated when
using public-inbox-httpd (but not generic PSGI servers) and
causing missing HTML content and uninitialized value warnings.

Our existing tests for unindexed v1 inboxes only assumed generic
PSGI servers and synchronous blob retrieval.  Due to changes
several years ago to make git blob retrieval async for slow
storage using public-inbox-httpd, our tests were insufficient to
detect this regression.

So ensure $smsg->populate runs in a few places and rewrite
t/plack.t to test against both generic PSGI and -httpd
implementations.

Fortunately, unindexed v1 inboxes are uncommon, and this
bug was only (finally) discovered while developing other
features.

For ensuring we can test (and not blindly follow) redirects with
-httpd, we now provide our own LWP::UserAgent (used internally
by Plack::Test::ExternalServer) with redirect following
disabled to P:T:ES::test_psgi.
lib/PublicInbox/Feed.pm
lib/PublicInbox/TestCommon.pm
lib/PublicInbox/WwwAtomStream.pm
t/plack.t