]> git.ipfire.org Git - thirdparty/git.git/commitdiff
ls-files: update test style
authorLi Linchao <lilinchao@oschina.cn>
Sun, 3 Jul 2022 15:49:09 +0000 (15:49 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Jul 2022 17:01:04 +0000 (10:01 -0700)
Update test style in t/t30[*].sh for uniformity, that's to
keep test title the same line with helper function itself,
and fix some indentions.

Add a new section "recommended style" in t/README to
encourage people to use more modern style in test.

Signed-off-by: Li Linchao <lilinchao@oschina.cn>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/README
t/t3001-ls-files-others-exclude.sh
t/t3002-ls-files-dashpath.sh
t/t3020-ls-files-error-unmatch.sh
t/t3060-ls-files-with-tree.sh

index 309a31133c6126eefc37f0397ab3706dff905825..4f9981cf5e3c29d255ed0d2a3f399cd992e961c7 100644 (file)
--- a/t/README
+++ b/t/README
@@ -547,6 +547,61 @@ This test harness library does the following things:
    consistently when command line arguments --verbose (or -v),
    --debug (or -d), and --immediate (or -i) is given.
 
+Recommended style
+-----------------
+Here are some recommented styles when writing test case.
+
+ - Keep test title the same line with test helper function itself.
+
+   Take test_expect_success helper for example, write it like:
+
+  test_expect_success 'test title' '
+      ... test body ...
+  '
+
+   Instead of:
+
+  test_expect_success \
+      'test title' \
+      '... test body ...'
+
+
+ - End the line with a single quote.
+
+ - Indent the body of here-document, and use "<<-" instead of "<<"
+   to strip leading TABs used for indentation:
+
+  test_expect_success 'test something' '
+      cat >expect <<-\EOF &&
+      one
+      two
+      three
+      EOF
+      test_something > actual &&
+      test_cmp expect actual
+  '
+
+   Instead of:
+
+  test_expect_success 'test something' '
+      cat >expect <<\EOF &&
+  one
+  two
+  three
+  EOF
+      test_something > actual &&
+      test_cmp expect actual
+  '
+
+ - Quote or escape the EOF delimiter that begins a here-document if
+   there is no parameter and other expansion in it, to signal readers
+   that they can skim it more casually:
+
+  cmd <<-\EOF
+  literal here-document text without any expansion
+  EOF
+
+
 Do's & don'ts
 -------------
 
index 48cec4e5f88501db3287a47063ad2788807e205a..e07ac6c6dce93f50ff1900fc42e151f5370935a4 100755 (executable)
@@ -67,26 +67,26 @@ echo '!*.2
 
 allignores='.gitignore one/.gitignore one/two/.gitignore'
 
-test_expect_success \
-    'git ls-files --others with various exclude options.' \
-    'git ls-files --others \
+test_expect_success 'git ls-files --others with various exclude options.' '
+       git ls-files --others \
        --exclude=\*.6 \
        --exclude-per-directory=.gitignore \
        --exclude-from=.git/ignore \
-       >output &&
-     test_cmp expect output'
+       >output &&
+       test_cmp expect output
+'
 
 # Test \r\n (MSDOS-like systems)
 printf '*.1\r\n/*.3\r\n!*.6\r\n' >.gitignore
 
-test_expect_success \
-    'git ls-files --others with \r\n line endings.' \
-    'git ls-files --others \
+test_expect_success 'git ls-files --others with \r\n line endings.' '
+       git ls-files --others \
        --exclude=\*.6 \
        --exclude-per-directory=.gitignore \
        --exclude-from=.git/ignore \
-       >output &&
-     test_cmp expect output'
+       >output &&
+       test_cmp expect output
+'
 
 test_expect_success 'setup skip-worktree gitignore' '
        git add $allignores &&
@@ -94,14 +94,14 @@ test_expect_success 'setup skip-worktree gitignore' '
        rm $allignores
 '
 
-test_expect_success \
-    'git ls-files --others with various exclude options.' \
-    'git ls-files --others \
+test_expect_success 'git ls-files --others with various exclude options.' '
+       git ls-files --others \
        --exclude=\*.6 \
        --exclude-per-directory=.gitignore \
        --exclude-from=.git/ignore \
-       >output &&
-     test_cmp expect output'
+       >output &&
+       test_cmp expect output
+'
 
 test_expect_success !SANITIZE_LEAK 'restore gitignore' '
        git checkout --ignore-skip-worktree-bits $allignores &&
@@ -283,12 +283,12 @@ test_expect_success 'pattern matches prefix completely' '
 '
 
 test_expect_success 'ls-files with "**" patterns' '
-       cat <<\EOF >expect &&
-a.1
-one/a.1
-one/two/a.1
-three/a.1
-EOF
+       cat <<-\EOF >expect &&
+       a.1
+       one/a.1
+       one/two/a.1
+       three/a.1
+       EOF
        git ls-files -o -i --exclude "**/a.1" >actual &&
        test_cmp expect actual
 '
index 54d22a45dfbc4b7ca1080fc7bac27284fd3484f9..4dd24550eba00ef005abea327ba1c1862768f3a1 100755 (executable)
@@ -16,56 +16,62 @@ filesystem.
 TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
-test_expect_success \
-       setup \
-       'echo frotz >path0 &&
+test_expect_success 'setup' '
+       echo frotz >path0 &&
        echo frotz >./-foo &&
-       echo frotz >./--'
+       echo frotz >./--
+'
 
-test_expect_success \
-    'git ls-files without path restriction.' \
-    'git ls-files --others >output &&
-     test_cmp output - <<EOF
---
--foo
-output
-path0
-EOF
+test_expect_success 'git ls-files without path restriction.' '
+       test_when_finished "rm -f expect" &&
+       git ls-files --others >output &&
+       cat >expect <<-\EOF &&
+       --
+       -foo
+       output
+       path0
+       EOF
+       test_cmp output expect
 '
 
-test_expect_success \
-    'git ls-files with path restriction.' \
-    'git ls-files --others path0 >output &&
-       test_cmp output - <<EOF
-path0
-EOF
+test_expect_success 'git ls-files with path restriction.' '
+       test_when_finished "rm -f expect" &&
+       git ls-files --others path0 >output &&
+       cat >expect <<-\EOF &&
+       path0
+       EOF
+       test_cmp output expect
 '
 
-test_expect_success \
-    'git ls-files with path restriction with --.' \
-    'git ls-files --others -- path0 >output &&
-       test_cmp output - <<EOF
-path0
-EOF
+test_expect_success 'git ls-files with path restriction with --.' '
+       test_when_finished "rm -f expect" &&
+       git ls-files --others -- path0 >output &&
+       cat >expect <<-\EOF &&
+       path0
+       EOF
+       test_cmp output expect
 '
 
-test_expect_success \
-    'git ls-files with path restriction with -- --.' \
-    'git ls-files --others -- -- >output &&
-       test_cmp output - <<EOF
---
-EOF
+test_expect_success 'git ls-files with path restriction with -- --.' '
+       test_when_finished "rm -f expect" &&
+       git ls-files --others -- -- >output &&
+       cat >expect <<-\EOF &&
+       --
+       EOF
+       test_cmp output expect
 '
 
-test_expect_success \
-    'git ls-files with no path restriction.' \
-    'git ls-files --others -- >output &&
-       test_cmp output - <<EOF
---
--foo
-output
-path0
-EOF
+test_expect_success 'git ls-files with no path restriction.' '
+       test_when_finished "rm -f expect" &&
+       git ls-files --others -- >output &&
+       cat >expect <<-\EOF &&
+       --
+       -foo
+       output
+       path0
+       EOF
+       test_cmp output expect
+
 '
 
 test_done
index 2cbcbc0721b926dc7117ba680af7002466ed24a2..133593d23c0e898b41f697831d4f41dcbbf54d6c 100755 (executable)
@@ -19,12 +19,12 @@ test_expect_success 'setup' '
        git commit -m "add foo bar"
 '
 
-test_expect_success \
-    'git ls-files --error-unmatch should fail with unmatched path.' \
-    'test_must_fail git ls-files --error-unmatch foo bar-does-not-match'
+test_expect_success 'git ls-files --error-unmatch should fail with unmatched path.' '
+       test_must_fail git ls-files --error-unmatch foo bar-does-not-match
+'
 
-test_expect_success \
-    'git ls-files --error-unmatch should succeed with matched paths.' \
-    'git ls-files --error-unmatch foo bar'
+test_expect_success 'git ls-files --error-unmatch should succeed with matched paths.' '
+       git ls-files --error-unmatch foo bar
+'
 
 test_done
index b257c792a46d865a7a1d9d6261b4436ccccb3b8e..52f76f7b57f3ba9861bc9220602a5ca9fc45aeea 100755 (executable)
@@ -10,7 +10,7 @@ a scenario known to trigger a crash with some versions of git.
 '
 . ./test-lib.sh
 
-test_expect_success setup '
+test_expect_success 'setup' '
 
        # The bug we are exercising requires a fair number of entries
        # in a sub-directory so that add_index_entry will trigger a
@@ -62,9 +62,9 @@ test_expect_success 'git ls-files --with-tree should succeed from subdir' '
        )
 '
 
-test_expect_success \
-    'git ls-files --with-tree should add entries from named tree.' \
-    'test_cmp expected output'
+test_expect_success 'git ls-files --with-tree should add entries from named tree.' '
+       test_cmp expected output
+'
 
 test_expect_success 'no duplicates in --with-tree output' '
        git ls-files --with-tree=HEAD >actual &&