diff --git a/parse-options.c b/parse-options.c index fd8ceed82b..cc3a8b0fe3 100644 --- a/parse-options.c +++ b/parse-options.c @@ -1479,7 +1479,7 @@ static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t fputc('\n', outfile); if (!err && ctx && ctx->flags & PARSE_OPT_SHELL_EVAL) - fputs("EOF\n", outfile); + fputs("EOF\nexit 0\n", outfile); return err ? PARSE_OPT_HELP_ERROR : PARSE_OPT_HELP; } diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh index 3962f1d288..455608c429 100755 --- a/t/t1502-rev-parse-parseopt.sh +++ b/t/t1502-rev-parse-parseopt.sh @@ -12,7 +12,7 @@ check_invalid_long_option () { cat <<-\EOF && error: unknown option `'${opt#--}\'' EOF - sed -e 1d -e \$d <"$TEST_DIRECTORY/t1502/$spec.help" + sed -e 1d -e /EOF/d -e \$d <"$TEST_DIRECTORY/t1502/$spec.help" } >expect && test_expect_code 129 git rev-parse --parseopt -- $opt \ 2>output <"$TEST_DIRECTORY/t1502/$spec" && @@ -87,6 +87,7 @@ test_expect_success 'test --parseopt help output no switches' ' | some-command does foo and bar! | |EOF +|exit 0 END_EXPECT test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_no_switches && test_cmp expect output @@ -100,6 +101,7 @@ test_expect_success 'test --parseopt help output hidden switches' ' | some-command does foo and bar! | |EOF +|exit 0 END_EXPECT test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_only_hidden_switches && test_cmp expect output @@ -115,6 +117,7 @@ test_expect_success 'test --parseopt help-all output hidden switches' ' | --[no-]hidden1 A hidden switch | |EOF +|exit 0 END_EXPECT test_expect_code 129 git rev-parse --parseopt -- --help-all > output < optionspec_only_hidden_switches && test_cmp expect output @@ -125,7 +128,7 @@ test_expect_success 'test --parseopt invalid switch help output' ' cat <<-\EOF && error: unknown option `does-not-exist'\'' EOF - sed -e 1d -e \$d <"$TEST_DIRECTORY/t1502/optionspec.help" + sed -e 1d -e /EOF/d -e \$d <"$TEST_DIRECTORY/t1502/optionspec.help" } >expect && test_expect_code 129 git rev-parse --parseopt -- --does-not-exist 1>/dev/null 2>output < optionspec && test_cmp expect output @@ -252,6 +255,7 @@ test_expect_success 'test --parseopt help output: "wrapped" options normal "or:" | -h, --help show the help | |EOF + |exit 0 END_EXPECT test_must_fail git rev-parse --parseopt -- -h actual && @@ -289,6 +293,7 @@ test_expect_success 'test --parseopt help output: multi-line blurb after empty l | -h, --help show the help | |EOF + |exit 0 END_EXPECT test_must_fail git rev-parse --parseopt -- -h actual && diff --git a/t/t1502/optionspec-neg.help b/t/t1502/optionspec-neg.help index 7a29f8cb03..f85be7b8fd 100644 --- a/t/t1502/optionspec-neg.help +++ b/t/t1502/optionspec-neg.help @@ -10,3 +10,4 @@ usage: some-command [options] ... --no-negative cannot be positivated EOF +exit 0 diff --git a/t/t1502/optionspec.help b/t/t1502/optionspec.help index cbdd54d41b..ded35ebc82 100755 --- a/t/t1502/optionspec.help +++ b/t/t1502/optionspec.help @@ -34,3 +34,4 @@ Extras --[no-]extra1 line above used to cause a segfault but no longer does EOF +exit 0 diff --git a/t/t1517-outside-repo.sh b/t/t1517-outside-repo.sh index 6421bdb3c3..03fa2f9cdf 100755 --- a/t/t1517-outside-repo.sh +++ b/t/t1517-outside-repo.sh @@ -132,10 +132,10 @@ do difftool--helper | filter-branch | format-rev | fsck-objects | \ get-tar-commit-id | \ gui | gui--askpass | \ - http-backend | http-fetch | http-push | init-db | \ + http-backend | http-fetch | http-push | init-db | instaweb | \ merge-octopus | merge-one-file | merge-resolve | mergetool | \ - mktag | p4 | p4.py | pickaxe | remote-ftp | remote-ftps | \ - remote-http | remote-https | replay | send-email | \ + mktag | p4 | p4.py | pickaxe | quiltimport | remote-ftp | remote-ftps | \ + remote-http | remote-https | replay | request-pull | send-email | \ sh-i18n--envsubst | shell | show | stage | submodule | svn | \ upload-archive--writer | upload-pack | web--browse | whatchanged) expect_outcome=expect_failure ;;