diff options
| author | Junio C Hamano <gitster@pobox.com> | 2024-06-12 13:37:13 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-06-12 13:37:14 -0700 |
| commit | a39e28ace77686db3324d1093a92c2cfdf5a5e0b (patch) | |
| tree | 47c6ed576d7a0483f4d05b72fc4017ee3edca460 | |
| parent | 8d94cfb54504f2ec9edc7ca3eb5c29a3dd3675ae (diff) | |
| parent | 56f4f4a29d32e177ef9af0907a17e431e8b3737e (diff) | |
| download | git-a39e28ace77686db3324d1093a92c2cfdf5a5e0b.tar.gz | |
Merge branch 'jc/t1517-more'
A new test was added to ensure git commands that are designed to
run outside repositories do work.
* jc/t1517-more:
imap-send: minimum leakfix
t1517: more coverage for commands that work without repository
| -rw-r--r-- | imap-send.c | 1 | ||||
| -rwxr-xr-x | t/t1517-outside-repo.sh | 52 |
2 files changed, 53 insertions, 0 deletions
diff --git a/imap-send.c b/imap-send.c index a5d1510180..185104d019 100644 --- a/imap-send.c +++ b/imap-send.c @@ -1543,6 +1543,7 @@ int cmd_main(int argc, const char **argv) } if (all_msgs.len == 0) { + strbuf_release(&all_msgs); fprintf(stderr, "nothing to send\n"); return 1; } diff --git a/t/t1517-outside-repo.sh b/t/t1517-outside-repo.sh index 557808ffa7..990a036582 100755 --- a/t/t1517-outside-repo.sh +++ b/t/t1517-outside-repo.sh @@ -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 |
