]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/solver_git.t
lei rediff: regenerate diffs from stdin
[public-inbox.git] / t / solver_git.t
index 6875e26b8f49311a1ac97bbcf60158be4ecd166b..e566efb31674f444fa44698554057922a696127b 100644 (file)
@@ -7,7 +7,6 @@ use PublicInbox::TestCommon;
 use Cwd qw(abs_path);
 require_git(2.6);
 use PublicInbox::ContentHash qw(git_sha);
-use PublicInbox::Eml;
 use PublicInbox::Spawn qw(popen_rd which);
 require_mods(qw(DBD::SQLite Search::Xapian Plack::Util));
 my $git_dir = xqx([qw(git rev-parse --git-dir)], undef, {2 => \(my $null)});
@@ -33,7 +32,7 @@ my $v1_0_0_tag_short = substr($v1_0_0_tag, 0, 16);
 my $expect = '69df7d565d49fbaaeb0a067910f03dc22cd52bd0';
 my $non_existent = 'ee5e32211bf62ab6531bdf39b84b6920d0b6775a';
 
-test_lei({tmpdir => $tmpdir}, sub {
+test_lei({tmpdir => "$tmpdir/blob"}, sub {
        lei_ok('blob', '--mail', $patch2_oid, '-I', $ibx->{inboxdir},
                \'--mail works for existing oid');
        is($lei_out, $patch2->as_string, 'blob matches');
@@ -41,8 +40,7 @@ test_lei({tmpdir => $tmpdir}, sub {
                "--mail won't run solver");
 
        lei_ok('blob', '69df7d5', '-I', $ibx->{inboxdir});
-       is(git_sha(1, PublicInbox::Eml->new($lei_out))->hexdigest,
-               $expect, 'blob contents output');
+       is(git_sha(1, \$lei_out)->hexdigest, $expect, 'blob contents output');
        my $prev = $lei_out;
        lei_ok(qw(blob --no-mail 69df7d5 -I), $ibx->{inboxdir});
        is($lei_out, $prev, '--no-mail works');
@@ -66,6 +64,12 @@ test_lei({tmpdir => $tmpdir}, sub {
        lei_ok('blob', $v1_0_0_tag_short, '-I', $ibx->{inboxdir});
 });
 
+test_lei({tmpdir => "$tmpdir/rediff"}, sub {
+       lei_ok(qw(rediff -q -U9 t/solve/0001-simple-mod.patch));
+       like($lei_out, qr!^\Q+++\E b/TODO\n@@ -103,9 \+103,11 @@!sm,
+               'got more context with -U9');
+});
+
 my $git = PublicInbox::Git->new($git_dir);
 $ibx->{-repo_objs} = [ $git ];
 my $res;
@@ -239,8 +243,7 @@ EOF
                test_lei({tmpdir => "$tmpdir/ext"}, sub {
                        my $rurl = "$url/$name";
                        lei_ok(qw(blob --no-mail 69df7d5 -I), $rurl);
-                       my $eml = PublicInbox::Eml->new($lei_out);
-                       is(git_sha(1, $eml)->hexdigest, $expect,
+                       is(git_sha(1, \$lei_out)->hexdigest, $expect,
                                'blob contents output');
                        ok(!lei(qw(blob -I), $rurl, $non_existent),
                                        'non-existent blob fails');