Merge branch 'maint'
[gitweb.git] / t / README
index fce19e7fff2d4fc692e9e30656f91607d094e37e..c5db5804df767bb55d5c9972b18faf4dc35e899c 100644 (file)
--- a/t/README
+++ b/t/README
@@ -20,9 +20,9 @@ the tests.
     *** t0000-basic.sh ***
     *   ok 1: .git/objects should be empty after git-init-db in an empty repo.
     *   ok 2: .git/objects should have 256 subdirectories.
-    *   ok 3: git-update-cache without --add should fail adding.
+    *   ok 3: git-update-index without --add should fail adding.
     ...
-    *   ok 23: no diff after checkout and git-update-cache --refresh.
+    *   ok 23: no diff after checkout and git-update-index --refresh.
     * passed all 23 test(s)
     *** t0100-environment-names.sh ***
     *   ok 1: using old names should issue warnings.
@@ -32,8 +32,8 @@ the tests.
 Or you can run each test individually from command line, like
 this:
 
-    $ sh ./t0500-ls-files.sh
-    *   ok 1: git-update-cache --add to add various paths.
+    $ sh ./t3001-ls-files-killed.sh
+    *   ok 1: git-update-index --add to add various paths.
     *   ok 2: git-ls-files -k to show killed files.
     *   ok 3: validate git-ls-files -k output.
     * passed all 3 test(s)
@@ -55,6 +55,40 @@ You can pass --verbose (or -v), --debug (or -d), and --immediate
        failed test.
 
 
+Naming Tests
+------------
+
+The test files are named as:
+
+       tNNNN-commandname-details.sh
+
+where N is a decimal digit.
+
+First digit tells the family:
+
+       0 - the absolute basics and global stuff
+       1 - the basic commands concerning database
+       2 - the basic commands concerning the working tree
+       3 - the other basic commands (e.g. ls-files)
+       4 - the diff commands
+       5 - the pull and exporting commands
+       6 - the revision tree commands (even e.g. merge-base)
+       7 - the porcelainish commands concerning the working tree
+
+Second digit tells the particular command we are testing.
+
+Third digit (optionally) tells the particular switch or group of switches
+we are testing.
+
+If you create files under t/ directory (i.e. here) that is not
+the top-level test script, never name the file to match the above
+pattern.  The Makefile here considers all such files as the
+top-level test script and tries to run all of them.  A care is
+especially needed if you are creating a common test library
+file, similar to test-lib.sh, because such a library file may
+not be suitable for standalone execution.
+
+
 Writing Tests
 -------------
 
@@ -67,11 +101,12 @@ assignment to variable 'test_description', like this:
        # Copyright (c) 2005 Junio C Hamano
        #
 
-       test_description=xxx test (option --frotz)
+       test_description='xxx test (option --frotz)
 
        This test registers the following structure in the cache
        and tries to run git-ls-files with option --frotz.'
 
+
 Source 'test-lib.sh'
 --------------------
 
@@ -129,8 +164,8 @@ library for your script to use.
    Example:
 
        test_expect_failure \
-           'git-update-cache without --add should fail adding.' \
-           'git-update-cache should-be-empty'
+           'git-update-index without --add should fail adding.' \
+           'git-update-index should-be-empty'
 
  - test_debug <script>