]> git.notmuchmail.org Git - notmuch/blobdiff - test/README
test: basic: drop 'ensure all available tests are run'
[notmuch] / test / README
index 81c232ddd0a3fc90e1dbaa74f34f1252da004193..79a9b1b2f9a15aba7466e4e5b1b308663dd1296c 100644 (file)
@@ -76,6 +76,14 @@ the tests in one of the following ways.
        TEST_EMACS=my-special-emacs TEST_EMACSCLIENT=my-emacsclient ./emacs
        make test TEST_EMACS=my-special-emacs TEST_EMACSCLIENT=my-emacsclient
 
+Quiet Execution
+---------------
+
+Normally, when new script starts and when test PASSes you get a message
+printed on screen. This printing can be disabled by setting the
+NOTMUCH_TEST_QUIET variable to a non-null value. Message on test
+failures and skips are still printed.
+
 Skipping Tests
 --------------
 If, for any reason, you need to skip one or more tests, you can do so
@@ -178,11 +186,18 @@ library for your script to use.
 
  test_expect_equal_file <file1> <file2>
 
-   Identical to test_exepect_equal, except that <file1> and <file2>
+   Identical to test_expect_equal, except that <file1> and <file2>
    are files instead of strings.  This is a much more robust method to
    compare formatted textual information, since it also notices
    whitespace and closing newline differences.
 
+ test_expect_equal_json <output> <expected>
+
+   Identical to test_expect_equal, except that the two strings are
+   treated as JSON and canonicalized before equality testing.  This is
+   useful to abstract away from whitespace differences in the expected
+   output and that generated by running a notmuch command.
+
  test_debug <script>
 
    This takes a single argument, <script>, and evaluates it only
@@ -253,3 +268,16 @@ variables which are useful in writing tests:
     generated script that should be called instead of notmuch to do
     the counting.  The notmuch_counter_value() function prints the
     current counter value.
+
+There are also functions which remove various environment-dependent
+values from notmuch output; these are useful to ensure that test
+results remain consistent across different machines.
+
+ notmuch_search_sanitize
+ notmuch_show_sanitize
+ notmuch_show_sanitize_all
+ notmuch_json_show_sanitize
+
+   All these functions should receive the text to be sanitized as the
+   input of a pipe, e.g.
+   output=`notmuch search "..." | notmuch_search_sanitize`