|  | #!/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 |