]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/solver_git.t
update copyrights for 2021
[public-inbox.git] / t / solver_git.t
index 7f79ff4cc8790d65bb9052fe8880a2f44504a215..d03a6f387a38de5daeae65218aef36c76fb8a1de 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2019-2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
@@ -15,7 +15,7 @@ chomp $git_dir;
 # needed for alternates, and --absolute-git-dir is only in git 2.13+
 $git_dir = abs_path($git_dir);
 
-use_ok "PublicInbox::$_" for (qw(Inbox V2Writable MIME Git SolverGit WWW));
+use_ok "PublicInbox::$_" for (qw(Inbox V2Writable Git SolverGit WWW));
 
 my ($inboxdir, $for_destroy) = tmpdir();
 my $opts = {
@@ -29,21 +29,20 @@ my $im = PublicInbox::V2Writable->new($ibx, 1);
 $im->{parallel} = 0;
 
 my $deliver_patch = sub ($) {
-       my $mime = PublicInbox::InboxWritable::mime_from_path($_[0]) or
-               die "open $_[0]: $!";
-       $im->add($mime);
+       $im->add(eml_load($_[0]));
        $im->done;
 };
 
 $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 ];
 my $res;
 my $solver = PublicInbox::SolverGit->new($ibx, sub { $res = $_[0] });
 open my $log, '+>>', "$inboxdir/solve.log" or die "open: $!";
-my $psgi_env = { 'psgi.errors' => *STDERR, 'psgi.url_scheme' => 'http',
+my $psgi_env = { 'psgi.errors' => \*STDERR, 'psgi.url_scheme' => 'http',
                'HTTP_HOST' => 'example.com' };
 $solver->solve($psgi_env, $log, '69df7d5', {});
 ok($res, 'solved a blob!');
@@ -175,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");