50 lines
1.1 KiB
50 lines
1.1 KiB
#!/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
|
|
|