From 37df9d6964061f437e37646d8858ade4b6f13a24 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 9 Sep 2020 06:26:17 +0000 Subject: solver: check one git coderepo and inbox at a time With public-inbox-httpd, this mitigates the effect of slow git blob storage with multiple coderepos configured for an inbox. It's still synchronous for now (and may need to remain that way for ->last_check_err), but no longer monopolizes the event loop when checking multiple coderepos. We don't yet support multi-inbox scanning, yet; but this also prepares us for a future where we do. We'll also support >=40 char blob OIDs in preparation for future git SHA-256 support, too. --- t/solver_git.t | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 't') diff --git a/t/solver_git.t b/t/solver_git.t index c162b605..6b0ed8d2 100644 --- a/t/solver_git.t +++ b/t/solver_git.t @@ -35,6 +35,7 @@ my $deliver_patch = sub ($) { $deliver_patch->('t/solve/0001-simple-mod.patch'); my $v1_0_0_tag = 'cb7c42b1e15577ed2215356a2bf925aef59cdd8d'; +my $v1_0_0_tag_short = substr($v1_0_0_tag, 0, 16); my $git = PublicInbox::Git->new($git_dir); $ibx->{-repo_objs} = [ $git ]; @@ -173,7 +174,9 @@ EOF is($res->code, 404, 'failure with null OID'); $res = $cb->(GET("/$name/$v1_0_0_tag/s/")); - is($res->code, 200, 'shows commit'); + is($res->code, 200, 'shows commit (unabbreviated)'); + $res = $cb->(GET("/$name/$v1_0_0_tag_short/s/")); + is($res->code, 200, 'shows commit (abbreviated)'); while (my ($label, $size) = each %bin) { $res = $cb->(GET("/$name/$oid{$label}/s/")); is($res->code, 200, "$label binary file"); -- cgit v1.2.3-24-ge0c7