Merge branch 'jc/t1517-more' into jk/imap-send-plug-all-msgs-leak

* jc/t1517-more:
  imap-send: minimum leakfix
  t1517: more coverage for commands that work without repository
This commit is contained in:
Junio C Hamano 2024-06-07 10:32:20 -07:00
commit f5598fcb7b
2 changed files with 53 additions and 0 deletions

View file

@ -1555,6 +1555,7 @@ int cmd_main(int argc, const char **argv)
}
if (all_msgs.len == 0) {
strbuf_release(&all_msgs);
fprintf(stderr, "nothing to send\n");
ret = 1;
goto out;

View file

@ -56,4 +56,56 @@ test_expect_success 'grep outside repository' '
test_cmp expect actual
'
test_expect_success 'imap-send outside repository' '
test_config_global imap.host imaps://localhost &&
test_config_global imap.folder Drafts &&
echo nothing to send >expect &&
test_must_fail git imap-send -v </dev/null 2>actual &&
test_cmp expect actual &&
(
cd non-repo &&
test_must_fail git imap-send -v </dev/null 2>../actual
) &&
test_cmp expect actual
'
test_expect_success 'check-ref-format outside repository' '
git check-ref-format --branch refs/heads/xyzzy >expect &&
nongit git check-ref-format --branch refs/heads/xyzzy >actual &&
test_cmp expect actual
'
test_expect_success 'diff outside repository' '
echo one >one &&
echo two >two &&
test_must_fail git diff --no-index one two >expect.raw &&
(
cd non-repo &&
cp ../one . &&
cp ../two . &&
test_must_fail git diff one two >../actual.raw
) &&
# outside repository diff falls back to SHA-1 but
# GIT_DEFAULT_HASH may be set to sha256 on the in-repo side.
sed -e "/^index /d" expect.raw >expect &&
sed -e "/^index /d" actual.raw >actual &&
test_cmp expect actual
'
test_expect_success 'stripspace outside repository' '
nongit git stripspace -s </dev/null
'
test_expect_success 'remote-http outside repository' '
test_must_fail git remote-http 2>actual &&
test_grep "^error: remote-curl" actual &&
(
cd non-repo &&
test_must_fail git remote-http 2>../actual
) &&
test_grep "^error: remote-curl" actual
'
test_done