[PATCH 3/4] Add tests for .git file
From: Lars Hjemli <hidden>
Date: 2016-06-15 22:44:10
Subsystem:
the rest · Maintainer:
Linus Torvalds
Verify that the basic plumbing works when .git is a file pointing at the real git directory. Signed-off-by: Lars Hjemli <redacted> --- t/t0002-gitfile.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 deletions(-) create mode 100755 t/t0002-gitfile.sh
diff --git a/t/t0002-gitfile.sh b/t/t0002-gitfile.sh
new file mode 100755
index 0000000..f8f39e6
--- /dev/null
+++ b/t/t0002-gitfile.sh@@ -0,0 +1,71 @@ +#!/bin/sh + +test_description='.git file + +Verify that plumbing commands work when .git is a file +' +. ./test-lib.sh + +chkfile() { + D=$(echo $1 | cut -b 1-2) && + F=$(echo $1 | cut -b 3-40) && + if test ! -f $REAL/objects/$D/$F + then + echo "Object not found: $REAL/objects/$D/$F" + false + fi +} + +test_expect_success 'setup' ' + REAL=$(pwd)/.real && + mv .git $REAL && + echo "gitdir: $REAL" >.git +' + +test_expect_success 'check rev-parse --git-dir' ' + test "$REAL" = "$(git rev-parse --git-dir)" +' + +test_expect_success 'check hash-object' ' + echo "foo" >bar && + SHA=$(cat bar | git hash-object -w --stdin) && + chkfile $SHA +' + +test_expect_success 'check cat-file' ' + git cat-file blob $SHA >actual && + diff -u bar actual +' + +test_expect_success 'check update-index' ' + if test -f $REAL/index + then + echo "Hmm, $REAL/index exists?" + false + fi && + rm -rf $REAL/objects/* && + git update-index --add bar && + if ! test -f $REAL/index + then + echo "$REAL/index not found" + false + fi && + chkfile $SHA +' + +test_expect_success 'check write-tree' ' + SHA=$(git write-tree) && + chkfile $SHA +' + +test_expect_success 'check commit-tree' ' + SHA=$(echo "commit bar" | git commit-tree $SHA) && + chkfile $SHA +' + +test_expect_success 'check rev-list' ' + echo $SHA >$REAL/HEAD && + test "$SHA" = "$(git rev-list HEAD)" +' + +test_done
--
1.5.4.5.g25d066