Re: [PATCHv2 2/2] tests for git alternate command
flat view
From: Johannes Sixt <hidden>
Date: 2016-06-15 22:48:30
Am 3/25/2010 7:07, schrieb Chris Packham:
Signed-off-by: Chris Packham <redacted>
Your patches violate whitespace rules. Use 'git show --check' to see the questionable lines.
--- 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.
According to t/README, t1* would be a suitable category, perhaps t1430.
t/t9800-git-alternate.sh | 95 ++++++++++++++++++++++++++++++++++++++++++++++
"git" in the name is redundant
+test_expect_success \ + 'Setup for rest of the test' '
The modern style for test headers is test_expect_success 'Setup for rest of the test' ' test goes here ' It may improve readability if you insert a blank line after the headline.
quoted hunk ↗ jump to hunk
+ 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 .. &&
Do not use 'cd dir && ... && cd ..', use (cd dir && ...) like you did in the rest of the tests.
quoted hunk ↗ jump to hunk
+test_expect_success \ + 'Add alternate after clone' ' + (cd B && + git alternate -a ../base/.git/objects + )
We saw tests like this written with more whitespace like: ( cd B && git alternate -a ../base/.git/objects )
quoted hunk ↗ jump to hunk
+test_expect_success \ + 'add same alternate fails adding existing abs path' ' + (cd B && + test_must_fail git alternate -a $PWD/base/.git/objects
This use of $PWD is OK, but for consistency it should be $(pwd) like below. Moreover, it needs double-quotes.
quoted hunk ↗ jump to hunk
+test_expect_success \ + 'test git alternate display' ' + testbase=$PWD
You must write this as (d-quotes not needed here) testbase=$(pwd) && for the benefit of Windows. The difference is that $PWD returns /c/path, but $(pwd) returns c:/path. When the alternate was set up using the command, git has only ever seen a c:/path style path (regardless of whether you used $PWD or $(pwd), because the path is converted to c:/path by the shell before it invokes git), and therefore the alternates file contains this style. But when the expected result is constructed, the /c/path style is *not* converted to c:/path; and a mismatch would be detected.
quoted hunk ↗ jump to hunk
+ (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
Ditto.
+#rm -rf A B C D base \ No newline at end of file
test_done -- Hannes