* [PATCH] t3000 (ls-files -o): modernize style
@ 2010-07-11 4:20 Jonathan Nieder
2010-07-11 8:33 ` Jakub Narebski
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Nieder @ 2010-07-11 4:20 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano
This script is part of the second batch of tests, from the same day
the test infrastructure was added to git. Update it to use a more
modern style in the spirit of v1.6.4-rc0~45^2~2 (2009-05-22).
In particular:
- Put setup code inside test assertions, to avoid unexpected
breakages and avoid stray output without -v (as t/README
recommends); and
- Put the test title on the same line as the "test_expect_success",
and end the line with a single-quote to begin the body of the test
which is one multi-line string.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
t/t3000-ls-files-others.sh | 99 +++++++++++++++++++++-----------------------
1 files changed, 47 insertions(+), 52 deletions(-)
diff --git a/t/t3000-ls-files-others.sh b/t/t3000-ls-files-others.sh
index 86291e8..2eec011 100755
--- a/t/t3000-ls-files-others.sh
+++ b/t/t3000-ls-files-others.sh
@@ -17,57 +17,52 @@ filesystem.
'
. ./test-lib.sh
-date >path0
-if test_have_prereq SYMLINKS
-then
- ln -s xyzzy path1
-else
- date > path1
-fi
-mkdir path2 path3 path4
-date >path2/file2
-date >path2-junk
-date >path3/file3
-date >path3-junk
-git update-index --add path3-junk path3/file3
-
+test_expect_success 'setup ' '
+ date >path0 &&
+ if test_have_prereq SYMLINKS
+ then
+ ln -s xyzzy path1
+ else
+ date >path1
+ fi &&
+ mkdir path2 path3 path4 &&
+ date >path2/file2 &&
+ date >path2-junk &&
+ date >path3/file3 &&
+ date >path3-junk &&
+ git update-index --add path3-junk path3/file3
+'
+
-cat >expected1 <<EOF
-expected1
-expected2
-expected3
-output
-path0
-path1
-path2-junk
-path2/file2
-EOF
-sed -e 's|path2/file2|path2/|' <expected1 >expected2
-cat <expected2 >expected3
-echo path4/ >>expected2
-
+test_expect_success 'setup: expected output' '
+ cat >expected1 <<-\EOF &&
+ expected1
+ expected2
+ expected3
+ output
+ path0
+ path1
+ path2-junk
+ path2/file2
+ EOF
+
+ sed -e "s|path2/file2|path2/|" <expected1 >expected2 &&
+ cp expected2 expected3 &&
+ echo path4/ >>expected2
+'
+
-test_expect_success \
- 'git ls-files --others to show output.' \
- 'git ls-files --others >output'
-
-test_expect_success \
- 'git ls-files --others should pick up symlinks.' \
- 'test_cmp expected1 output'
-
+test_expect_success 'ls-files --others' '
+ git ls-files --others >output &&
+ test_cmp expected1 output
+'
+
-test_expect_success \
- 'git ls-files --others --directory to show output.' \
- 'git ls-files --others --directory >output'
-
-
-test_expect_success \
- 'git ls-files --others --directory should not get confused.' \
- 'test_cmp expected2 output'
-
+test_expect_success 'ls-files --others --directory' '
+ git ls-files --others --directory >output &&
+ test_cmp expected2 output
+'
+
-test_expect_success \
- 'git ls-files --others --directory --no-empty-directory to show output.' \
- 'git ls-files --others --directory --no-empty-directory >output'
-
-test_expect_success \
- '--no-empty-directory hides empty directory' \
- 'test_cmp expected3 output'
+test_expect_success '--no-empty-directory hides empty directory' '
+ git ls-files --others --directory --no-empty-directory >output &&
+ test_cmp expected3 output
+'
test_done
--
1.7.2.rc2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] t3000 (ls-files -o): modernize style
2010-07-11 4:20 [PATCH] t3000 (ls-files -o): modernize style Jonathan Nieder
@ 2010-07-11 8:33 ` Jakub Narebski
2010-07-11 9:10 ` Ævar Arnfjörð Bjarmason
2010-07-11 15:14 ` Jonathan Nieder
0 siblings, 2 replies; 4+ messages in thread
From: Jakub Narebski @ 2010-07-11 8:33 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: git, Junio C Hamano
Jonathan Nieder <jrnieder@gmail.com> writes:
> This script is part of the second batch of tests, from the same day
> the test infrastructure was added to git. Update it to use a more
> modern style in the spirit of v1.6.4-rc0~45^2~2 (2009-05-22).
> In particular:
>
> - Put setup code inside test assertions, to avoid unexpected
> breakages and avoid stray output without -v (as t/README
> recommends); and
O.K., but...
> -cat >expected1 <<EOF
> -expected1
> -expected2
> -expected3
> -output
> -path0
> -path1
> -path2-junk
> -path2/file2
> -EOF
> -sed -e 's|path2/file2|path2/|' <expected1 >expected2
> -cat <expected2 >expected3
> -echo path4/ >>expected2
> -
> +test_expect_success 'setup: expected output' '
> + cat >expected1 <<-\EOF &&
> + expected1
> + expected2
> + expected3
> + output
> + path0
> + path1
> + path2-junk
> + path2/file2
> + EOF
> +
> + sed -e "s|path2/file2|path2/|" <expected1 >expected2 &&
> + cp expected2 expected3 &&
> + echo path4/ >>expected2
> +'
... I don't think it is really needed. There isn't anything there
that can fail, and there isn't anything there that produces any
output.
BTW. do all sane shells that can be used to run test suite support
'<<-' here-doc redirection operators? Is it in POSIX?
--
Jakub Narebski
Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] t3000 (ls-files -o): modernize style
2010-07-11 8:33 ` Jakub Narebski
@ 2010-07-11 9:10 ` Ævar Arnfjörð Bjarmason
2010-07-11 15:14 ` Jonathan Nieder
1 sibling, 0 replies; 4+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-07-11 9:10 UTC (permalink / raw)
To: Jakub Narebski; +Cc: Jonathan Nieder, git, Junio C Hamano
On Sun, Jul 11, 2010 at 08:33, Jakub Narebski <jnareb@gmail.com> wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> This script is part of the second batch of tests, from the same day
>> the test infrastructure was added to git. Update it to use a more
>> modern style in the spirit of v1.6.4-rc0~45^2~2 (2009-05-22).
>> In particular:
On the patch:
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>> - Put setup code inside test assertions, to avoid unexpected
>> breakages and avoid stray output without -v (as t/README
>> recommends); and
>
> O.K., but...
>
>> -cat >expected1 <<EOF
>> -expected1
>> -expected2
>> -expected3
>> -output
>> -path0
>> -path1
>> -path2-junk
>> -path2/file2
>> -EOF
>> -sed -e 's|path2/file2|path2/|' <expected1 >expected2
>> -cat <expected2 >expected3
>> -echo path4/ >>expected2
>> -
>> +test_expect_success 'setup: expected output' '
>> + cat >expected1 <<-\EOF &&
>> + expected1
>> + expected2
>> + expected3
>> + output
>> + path0
>> + path1
>> + path2-junk
>> + path2/file2
>> + EOF
>> +
>> + sed -e "s|path2/file2|path2/|" <expected1 >expected2 &&
>> + cp expected2 expected3 &&
>> + echo path4/ >>expected2
>> +'
>
> ... I don't think it is really needed. There isn't anything there
> that can fail, and there isn't anything there that produces any
> output.
The disk could fill up. In any case I like the test style of using
setup tests instead of stray setup code inside the tests themselves.
> BTW. do all sane shells that can be used to run test suite support
> '<<-' here-doc redirection operators? Is it in POSIX?
I don't know. But it's POSIX enough that nobody's complained about it
thus far, it's used in a lot of existing code:
$ ack -l '<<-EOF'
t/t1012-read-tree-df.sh
t/t7005-editor.sh
t/t3507-cherry-pick-conflict.sh
t/t7401-submodule-summary.sh
t/t7201-co.sh
t/t4132-apply-removal.sh
t/t4041-diff-submodule-option.sh
contrib/hooks/post-receive-email
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] t3000 (ls-files -o): modernize style
2010-07-11 8:33 ` Jakub Narebski
2010-07-11 9:10 ` Ævar Arnfjörð Bjarmason
@ 2010-07-11 15:14 ` Jonathan Nieder
1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Nieder @ 2010-07-11 15:14 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git, Junio C Hamano
Jakub Narebski wrote:
> ... I don't think it is really needed. There isn't anything there
> that can fail, and there isn't anything there that produces any
> output.
I should clarify. I wrote this patch as preparation to add some new
tests to the same script. The new tests are not cooked yet, so I just
sent the trivial part; there certainly is no urgent reason to apply it
soon (though no reason I see not to apply it either).
A better explanation for the rationale would be "follow the modern
style to make the script more readable and set a good example for
future tests".
> BTW. do all sane shells that can be used to run test suite support
> '<<-' here-doc redirection operators? Is it in POSIX?
Yes[1] and yes[2].
Thanks for looking it over.
Jonathan
[1] $ git grep -l -F -e '<<-EO' -e '<<-\EO' origin/maint -- t | wc -l
13
[2] http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_07_04
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-07-11 15:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-11 4:20 [PATCH] t3000 (ls-files -o): modernize style Jonathan Nieder
2010-07-11 8:33 ` Jakub Narebski
2010-07-11 9:10 ` Ævar Arnfjörð Bjarmason
2010-07-11 15:14 ` Jonathan Nieder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).