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