test the exit code of the commands

This commit is contained in:
rick 2015-09-08 10:20:52 -06:00
parent 322ace4e9c
commit 4174867802
8 changed files with 52 additions and 13 deletions

@ -1,6 +1,7 @@
package commands
import (
"os"
"regexp"
"github.com/github/git-lfs/git"
@ -22,8 +23,11 @@ var (
// .git/lfs.
func updateCommand(cmd *cobra.Command, args []string) {
if err := lfs.InstallHooks(updateForce); err != nil {
Error(err.Error())
if !lfs.IsInvalidRepoError(err) {
if lfs.IsInvalidRepoError(err) {
Print(err.Error())
os.Exit(128)
} else {
Error(err.Error())
Print("Run `git lfs update --force` to overwrite this hook.")
}
} else {

@ -106,7 +106,12 @@ end_test
begin_test "checkout: outside git repository"
(
set +e
git lfs checkout 2>&1 > checkout.log
res=$?
set -e
git lfs checkout | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" checkout.log
)
end_test

@ -391,7 +391,12 @@ end_test
begin_test "fetch: outside git repository"
(
set +e
git lfs fetch 2>&1 > fetch.log
res=$?
set -e
git lfs fetch | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" fetch.log
)
end_test

@ -105,7 +105,12 @@ end_test
begin_test "fsck: outside git repository"
(
set +e
git lfs fsck 2>&1 > fsck.log
res=$?
set -e
git lfs fsck | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" fsck.log
)
end_test

@ -29,7 +29,12 @@ end_test
begin_test "ls-files: outside git repository"
(
set +e
git lfs ls-files 2>&1 > ls-files.log
res=$?
set -e
git lfs ls-files | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" ls-files.log
)
end_test

@ -98,7 +98,12 @@ end_test
begin_test "pull: outside git repository"
(
set +e
git lfs pull 2>&1 > pull.log
res=$?
set -e
git lfs pull | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" pull.log
)
end_test

@ -70,7 +70,12 @@ end_test
begin_test "status: outside git repository"
(
set +e
git lfs status 2>&1 > status.log
res=$?
set -e
git lfs status | grep "Not in a git repository"
[ "$res" = "128" ]
grep "Not in a git repository" status.log
)
end_test

@ -96,11 +96,16 @@ end_test
begin_test "update: outside git repository"
(
set +e
git lfs update 2>&1 > check.log
res=$?
overwrite="$(grep "overwrite" check.log)"
set -e
git lfs update 2>&1 | tee update.log
grep "Not in a git repository" update.log
if [ "$(grep "overwrite" update.log)" ]; then
exit 1
fi
echo "actual:"
cat check.log
[ "$res" = "128" ]
[ -z "$overwrite" ]
grep "Not in a git repository" check.log
)
end_test