| #!/bin/sh |
| # |
| # Copyright (c) 2009 Ilari Liusvaara |
| # |
| |
| test_description='Test run command' |
| |
| . ./test-lib.sh |
| |
| cat >hello-script <<-EOF |
| #!$SHELL_PATH |
| cat hello-script |
| EOF |
| >empty |
| |
| test_expect_success 'start_command reports ENOENT' ' |
| test-run-command start-command-ENOENT ./does-not-exist |
| ' |
| |
| test_expect_success 'run_command can run a command' ' |
| cat hello-script >hello.sh && |
| chmod +x hello.sh && |
| test-run-command run-command ./hello.sh >actual 2>err && |
| |
| test_cmp hello-script actual && |
| test_cmp empty err |
| ' |
| |
| test_expect_success POSIXPERM 'run_command reports EACCES' ' |
| cat hello-script >hello.sh && |
| chmod -x hello.sh && |
| test_must_fail test-run-command run-command ./hello.sh 2>err && |
| |
| grep "fatal: cannot exec.*hello.sh" err |
| ' |
| |
| test_expect_success POSIXPERM 'unreadable directory in PATH' ' |
| mkdir local-command && |
| test_when_finished "chmod u+rwx local-command && rm -fr local-command" && |
| git config alias.nitfol "!echo frotz" && |
| chmod a-rx local-command && |
| ( |
| PATH=./local-command:$PATH && |
| git nitfol >actual |
| ) && |
| echo frotz >expect && |
| test_cmp expect actual |
| ' |
| |
| test_done |