Merge branch 'jc/run-command-report-exec-failure-fix' into maint
authorJunio C Hamano <gitster@pobox.com>
Sat, 15 Dec 2018 03:24:34 +0000 (12:24 +0900)
committerJunio C Hamano <gitster@pobox.com>
Sat, 15 Dec 2018 03:24:34 +0000 (12:24 +0900)
A recent update accidentally squelched an error message when the
run_command API failed to run a missing command, which has been
corrected.

* jc/run-command-report-exec-failure-fix:
run-command: report exec failure

run-command.c
t/t0061-run-command.sh
index c11ff8067481f70c444198bcc7477ef744d99fd3..3db26b7b0e2ab9b6b615387b36a2cd6b64800e9e 100644 (file)
@@ -728,6 +728,8 @@ int start_command(struct child_process *cmd)
        if (prepare_cmd(&argv, cmd) < 0) {
                failed_errno = errno;
                cmd->pid = -1;
+               if (!cmd->silent_exec_failure)
+                       error_errno("cannot run %s", cmd->argv[0]);
                goto end_of_spawn;
        }
 
index cf932c851411e5abd992005de474cc095abecead..96bf6d6a7d0145334666fcd15373bad6ac66fd67 100755 (executable)
@@ -13,11 +13,13 @@ cat >hello-script <<-EOF
 EOF
 
 test_expect_success 'start_command reports ENOENT (slash)' '
-       test-tool run-command start-command-ENOENT ./does-not-exist
+       test-tool run-command start-command-ENOENT ./does-not-exist 2>err &&
+       test_i18ngrep "\./does-not-exist" err
 '
 
 test_expect_success 'start_command reports ENOENT (no slash)' '
-       test-tool run-command start-command-ENOENT does-not-exist
+       test-tool run-command start-command-ENOENT does-not-exist 2>err &&
+       test_i18ngrep "does-not-exist" err
 '
 
 test_expect_success 'run_command can run a command' '
@@ -33,7 +35,8 @@ test_expect_success 'run_command is restricted to PATH' '
        write_script should-not-run <<-\EOF &&
        echo yikes
        EOF
-       test_must_fail test-tool run-command run-command should-not-run
+       test_must_fail test-tool run-command run-command should-not-run 2>err &&
+       test_i18ngrep "should-not-run" err
 '
 
 test_expect_success !MINGW 'run_command can run a script without a #! line' '