[PATCHv2 2/2] tests for git alternate command
flat view
From: Chris Packham <hidden>
Date: 2016-06-15 22:48:30
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Chris Packham <redacted> --- I wasn't sure about the test numbering so I just grabbed the highest one. Still need to add tests for the deletion use case. t/t9800-git-alternate.sh | 95 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 95 insertions(+), 0 deletions(-) create mode 100644 t/t9800-git-alternate.sh
diff --git a/t/t9800-git-alternate.sh b/t/t9800-git-alternate.sh
new file mode 100644
index 0000000..e95f5bd
--- /dev/null
+++ b/t/t9800-git-alternate.sh@@ -0,0 +1,95 @@ +#!/bin/sh + +test_description='Test of git alternate command' + +. ./test-lib.sh + +test_expect_success \ + 'Setup for rest of the test' ' + mkdir -p base && + cd base && + git init && + echo test > a.txt && + echo test > b.txt && + echo test > c.txt && + git add *.txt && + git commit -a -m "Initial Commit" && + cd .. && + git clone base A && + git clone A B && + git clone A C && + git clone A D +' + +test_expect_success \ + 'Add alternate after clone' ' + (cd B && + git alternate -a ../base/.git/objects + ) +' + +test_expect_success \ + 'add same alternate fails adding existing abs path' ' + (cd B && + test_must_fail git alternate -a $PWD/base/.git/objects + ) +' + +test_expect_success \ + 'add same alternate fails adding existing relative path' ' + (cd B && + test_must_fail git alternate -a ../base/.git/objects + ) +' + +test_expect_success \ + 'Add multiple alternates' ' + (cd C && + git alternate -a ../base/.git/objects && + git alternate -a ../B/.git/objects + ) +' + +test_expect_success \ + 'Add recursive alternate' ' + (cd D && + git alternate -a ../C/.git/objects + ) +' + +test_expect_success \ + 'test git alternate display' ' + testbase=$PWD + (cd B && + git alternate >actual && + { + echo "Object store $testbase/base/.git/objects" + echo " referenced via $testbase/B/.git" + } >expect && + test_cmp expect actual + ) +' + +test_expect_success \ + 'test git alternate recursive display' ' + testbase=$PWD + (cd D && + + git alternate -r >actual && + + { + echo "Object store $testbase/C/.git/objects" + echo " referenced via $testbase/D/.git" + echo "Object store $testbase/base/.git/objects" + echo " referenced via $testbase/C/.git" + echo "Object store $testbase/B/.git/objects" + echo " referenced via $testbase/C/.git" + echo "Object store $testbase/base/.git/objects" + echo " referenced via $testbase/B/.git" + } >expect && + + test_cmp expect actual + ) +' + +#rm -rf A B C D base
\ No newline at end of file -- 1.7.0.3