зеркало из https://github.com/microsoft/git.git
send-email: fix broken transferEncoding tests
I fixed a bug that had broken the reading of sendmail.transferEncoding in3494dfd3ee
("send-email: do defaults -> config -> getopt in that order", 2019-05-09), but the test I added in that commit did nothing to assert the bug had been fixed. That issue originates in8d81408435
("git-send-email: add --transfer-encoding option", 2014-11-25) which first added the "sendemail.transferencoding=8bit". That test has never done anything meaningful. It tested that the "--transfer-encoding=8bit" option would turn on the 8bit Transfer-Encoding, but that was the default at the time (and now). As checking out8d81408435
and editing the test to remove that option will reveal, supplying it never did anything. So when I copied it thinking it would work in3494dfd3ee
I copied a previously broken test, although I was making sure it did the right thing via da-hoc debugger inspection, so the bug was fixed. So fix the test I added in3494dfd3ee
, as well as the long-standing test added in8d81408435
. To test if we're actually setting the Transfer-Encoding let's set it to 7bit, not 8bit, as 7bit will error out on "email-using-8bit". This means that we can remove the "sendemail.transferencoding=7bit fails on 8bit data" test, since it was redundant, we now have other tests that assert that that'll fail. While I'm at it convert "git config <key> <value>" in the test setup to just "-c <key>=<value>" on the command-line. Then we don't need to cleanup after these tests, and there's no sense in asserting where config values come from in these tests, we can take that as a given. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
2554dd1aa8
Коммит
a8aea5db7a
|
@ -1409,22 +1409,10 @@ test_expect_success $PREREQ 'setup expect' '
|
|||
EOF
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'sendemail.transferencoding=7bit fails on 8bit data' '
|
||||
clean_fake_sendmail &&
|
||||
git config sendemail.transferEncoding 7bit &&
|
||||
test_must_fail git send-email \
|
||||
--transfer-encoding=7bit \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
email-using-8bit \
|
||||
2>errors >out &&
|
||||
grep "cannot send message as 7bit" errors &&
|
||||
test -z "$(ls msgtxt*)"
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEncoding' '
|
||||
clean_fake_sendmail &&
|
||||
git config sendemail.transferEncoding 8bit &&
|
||||
test_must_fail git send-email \
|
||||
test_must_fail git -c sendemail.transferEncoding=8bit \
|
||||
send-email \
|
||||
--transfer-encoding=7bit \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
email-using-8bit \
|
||||
|
@ -1433,27 +1421,26 @@ test_expect_success $PREREQ '--transfer-encoding overrides sendemail.transferEnc
|
|||
test -z "$(ls msgtxt*)"
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'sendemail.transferencoding=8bit via config' '
|
||||
test_expect_success $PREREQ 'sendemail.transferEncoding via config' '
|
||||
clean_fake_sendmail &&
|
||||
git -c sendemail.transferencoding=8bit send-email \
|
||||
test_must_fail git -c sendemail.transferEncoding=7bit \
|
||||
send-email \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
email-using-8bit \
|
||||
2>errors >out &&
|
||||
sed '1,/^$/d' msgtxt1 >actual &&
|
||||
sed '1,/^$/d' email-using-8bit >expected &&
|
||||
test_cmp expected actual
|
||||
grep "cannot send message as 7bit" errors &&
|
||||
test -z "$(ls msgtxt*)"
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'sendemail.transferencoding=8bit via cli' '
|
||||
test_expect_success $PREREQ 'sendemail.transferEncoding via cli' '
|
||||
clean_fake_sendmail &&
|
||||
git send-email \
|
||||
--transfer-encoding=8bit \
|
||||
test_must_fail git send-email \
|
||||
--transfer-encoding=7bit \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
email-using-8bit \
|
||||
2>errors >out &&
|
||||
sed '1,/^$/d' msgtxt1 >actual &&
|
||||
sed '1,/^$/d' email-using-8bit >expected &&
|
||||
test_cmp expected actual
|
||||
grep "cannot send message as 7bit" errors &&
|
||||
test -z "$(ls msgtxt*)"
|
||||
'
|
||||
|
||||
test_expect_success $PREREQ 'setup expect' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче