X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fsolver_git.t;h=d5f4c4a02758d4ad8de142f59ef3461c9b067997;hb=76f5361d8b8d2bea828ac66dc98a0de24b761b3d;hp=13e478b325bcfa3b1c9f4613c99f4971f761461d;hpb=8e29aa50db0147f63ba4a164dce53d2d735d0a9f;p=public-inbox.git diff --git a/t/solver_git.t b/t/solver_git.t index 13e478b3..d5f4c4a0 100644 --- a/t/solver_git.t +++ b/t/solver_git.t @@ -7,7 +7,7 @@ use PublicInbox::TestCommon; use Cwd qw(abs_path); require_git(2.6); use PublicInbox::ContentHash qw(git_sha); -use PublicInbox::Spawn qw(popen_rd which); +use PublicInbox::Spawn qw(popen_rd); require_mods(qw(DBD::SQLite Search::Xapian Plack::Util)); my $git_dir = xqx([qw(git rev-parse --git-dir)], undef, {2 => \(my $null)}); $? == 0 or plan skip_all => "$0 must be run from a git working tree"; @@ -43,6 +43,7 @@ test_lei({tmpdir => "$tmpdir/blob"}, sub { is($lei_out, $patch2->as_string, 'blob matches'); ok(!lei('blob', '--mail', '69df7d5', '-I', $ibx->{inboxdir}), "--mail won't run solver"); + like($lei_err, qr/\b69df7d5\b/, 'OID in error by git(1)'); lei_ok('blob', '69df7d5', '-I', $ibx->{inboxdir}); is(git_sha(1, \$lei_out)->hexdigest, $expect, 'blob contents output'); @@ -51,6 +52,8 @@ test_lei({tmpdir => "$tmpdir/blob"}, sub { is($lei_out, $prev, '--no-mail works'); ok(!lei(qw(blob -I), $ibx->{inboxdir}, $non_existent), 'non-existent blob fails'); + my $abbrev = substr($non_existent, 0, 7); + like($lei_err, qr/could not find $abbrev/, 'failed abbreviation noted'); SKIP: { skip '/.git exists', 1 if -e '/.git'; lei_ok(qw(-C / blob 69df7d5 -I), $ibx->{inboxdir}, @@ -59,9 +62,13 @@ test_lei({tmpdir => "$tmpdir/blob"}, sub { ok(!lei(qw(-C / blob --no-cwd 69df7d5 -I), $ibx->{inboxdir}), '--no-cwd works'); + like($lei_err, qr/no --git-dir to try/, + 'lack of --git-dir noted'); ok(!lei(qw(-C / blob -I), $ibx->{inboxdir}, $non_existent), 'non-existent blob fails'); + like($lei_err, qr/no --git-dir to try/, + 'lack of --git-dir noted'); } # fallbacks @@ -84,7 +91,7 @@ index 15ac20eb..771486c4 @@ -1,13 +1,12 @@ #!perl -w EOM - ok(index($lei_out, $exp) >= 0, + like($lei_out, qr/\Q$exp\E/, 'preserve mode, regen header + context from -U0 patch'); my $e = { GIT_DIR => "$ENV{HOME}/.local/share/lei/store/ALL.git" }; my @x = xqx([qw(git cat-file --batch-all-objects --batch-check)], $e); @@ -263,7 +270,7 @@ EOF my $url = "http://$h:$p"; local $ENV{PLACK_TEST_EXTERNALSERVER_URI} = $url; Plack::Test::ExternalServer::test_psgi(client => $client); - skip 'no curl', 1 unless which('curl'); + require_cmd('curl', 1) or skip 'no curl', 1; mkdir "$tmpdir/ext" // xbail "mkdir $!"; test_lei({tmpdir => "$tmpdir/ext"}, sub {