From dfa43a19218ed46f677034ab7bf8b8907a327935 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 9 Apr 2023 11:26:23 -0300 Subject: [PATCH] test: treat undefined feature variables as 0 When running the test suite without building first, it is desirable to have the tests consider these variables being undefined as equivalent to the feature not being present, and in particular for the tests not to generate errors. --- test/T010-help-test.sh | 2 +- test/T060-count.sh | 2 +- test/T081-sexpr-search.sh | 2 +- test/T095-address.sh | 2 +- test/T150-tagging.sh | 2 +- test/T160-json.sh | 2 +- test/T220-reply.sh | 2 +- test/T240-dump-restore.sh | 2 +- test/T355-smime.sh | 2 +- test/T391-python-cffi.sh | 3 +-- test/T392-python-cffi-notmuch.sh | 2 +- test/T520-show.sh | 2 +- test/T570-revision-tracking.sh | 2 +- test/T700-reindex.sh | 2 +- test/T800-asan.sh | 2 +- test/T810-tsan.sh | 2 +- test/T850-git.sh | 2 +- 17 files changed, 17 insertions(+), 18 deletions(-) diff --git a/test/T010-help-test.sh b/test/T010-help-test.sh index da45d3ae..1fbc46a2 100755 --- a/test/T010-help-test.sh +++ b/test/T010-help-test.sh @@ -12,7 +12,7 @@ test_expect_success 'notmuch help' test_begin_subtest 'notmuch --version' test_expect_success 'notmuch --version' -if [ $NOTMUCH_HAVE_MAN -eq 1 ]; then +if [ "${NOTMUCH_HAVE_MAN-0}" = "1" ]; then test_begin_subtest 'notmuch --help tag' test_expect_success 'notmuch --help tag' diff --git a/test/T060-count.sh b/test/T060-count.sh index 48146706..6e855b59 100755 --- a/test/T060-count.sh +++ b/test/T060-count.sh @@ -157,7 +157,7 @@ print("4: {} messages".format(query.count_messages())) EOF test_expect_equal_file EXPECTED OUTPUT -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_begin_subtest "and of exact terms (query=sexp)" output=$(notmuch count --query=sexp '(and "wonderful" "wizard")') diff --git a/test/T081-sexpr-search.sh b/test/T081-sexpr-search.sh index 0c7db9c2..8800b545 100755 --- a/test/T081-sexpr-search.sh +++ b/test/T081-sexpr-search.sh @@ -2,7 +2,7 @@ test_description='"notmuch search" in several variations' . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_SFSEXP -ne 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" != "1" ]; then printf "Skipping due to missing sfsexp library\n" test_done fi diff --git a/test/T095-address.sh b/test/T095-address.sh index 8bb3627a..0cafbe20 100755 --- a/test/T095-address.sh +++ b/test/T095-address.sh @@ -325,7 +325,7 @@ cat <EXPECTED EOF test_expect_equal_file EXPECTED OUTPUT -if [[ NOTMUCH_HAVE_SFSEXP = 1 ]]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_begin_subtest "sexpr query: all messages" notmuch address '*' > EXPECTED notmuch address --query=sexp '()' > OUTPUT diff --git a/test/T150-tagging.sh b/test/T150-tagging.sh index ac3f2539..273c0af3 100755 --- a/test/T150-tagging.sh +++ b/test/T150-tagging.sh @@ -328,7 +328,7 @@ test_expect_equal "$output" "A Xapian exception occurred opening database" add_email_corpus -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_query_syntax '(and "wonderful" "wizard")' 'wonderful and wizard' test_query_syntax '(or "php" "wizard")' 'php or wizard' diff --git a/test/T160-json.sh b/test/T160-json.sh index 4a797f6a..f61c3f2d 100755 --- a/test/T160-json.sh +++ b/test/T160-json.sh @@ -66,7 +66,7 @@ test_expect_equal_json "$output" "[{\"thread\": \"XXX\", \"unread\"]}]" test_begin_subtest "Search message: json, 64-bit timestamp" -if [ $NOTMUCH_HAVE_64BIT_TIME_T -ne 1 ]; then +if [ "${NOTMUCH_HAVE_64BIT_TIME_T-0}" != "1" ]; then test_subtest_known_broken fi add_message "[subject]=\"json-search-64bit-timestamp-subject\"" "[date]=\"Tue, 01 Jan 2999 12:00:00 -0000\"" "[body]=\"json-search-64bit-timestamp-message\"" diff --git a/test/T220-reply.sh b/test/T220-reply.sh index 207f5788..120d7138 100755 --- a/test/T220-reply.sh +++ b/test/T220-reply.sh @@ -24,7 +24,7 @@ test_begin_subtest "Basic reply" notmuch reply id:${gen_msg_id} >OUTPUT 2>&1 && echo OK >> OUTPUT test_expect_equal_file basic.expected OUTPUT -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_begin_subtest "Basic reply (query=sexp)" notmuch reply --query=sexp "(id ${gen_msg_id})" >OUTPUT 2>&1 && echo OK >> OUTPUT diff --git a/test/T240-dump-restore.sh b/test/T240-dump-restore.sh index a86f0fb7..80939030 100755 --- a/test/T240-dump-restore.sh +++ b/test/T240-dump-restore.sh @@ -118,7 +118,7 @@ notmuch dump -- from:cworth > dump-dash-cworth.actual test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_begin_subtest "dump --query=sexp -- '(from cworth)'" notmuch dump --query=sexp -- '(from cworth)' > dump-dash-cworth.actual2 diff --git a/test/T355-smime.sh b/test/T355-smime.sh index 809274ce..3bd5a17e 100755 --- a/test/T355-smime.sh +++ b/test/T355-smime.sh @@ -184,7 +184,7 @@ output=$(notmuch show --format=json id:smime-onepart-signed@protected-headers.ex test_valid_json "$output" test_begin_subtest "Verify signature on PKCS#7 SignedData message" -if [ $NOTMUCH_HAVE_64BIT_TIME_T -ne 1 ]; then +if [ "${NOTMUCH_HAVE_64BIT_TIME_T-0}" != "1" ]; then test_subtest_known_broken fi output=$(notmuch show --format=json id:smime-onepart-signed@protected-headers.example) diff --git a/test/T391-python-cffi.sh b/test/T391-python-cffi.sh index 30872af0..0ef9e0d3 100755 --- a/test/T391-python-cffi.sh +++ b/test/T391-python-cffi.sh @@ -2,11 +2,10 @@ test_description="python bindings (pytest)" . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_PYTHON3_CFFI -eq 0 -o $NOTMUCH_HAVE_PYTHON3_PYTEST -eq 0 ]; then +if [ "${NOTMUCH_HAVE_PYTHON3_CFFI-0}" = "0" -o "${NOTMUCH_HAVE_PYTHON3_PYTEST-0}" = "0" ]; then test_done fi - test_begin_subtest "python cffi tests (NOTMUCH_CONFIG set)" pytest_dir=$NOTMUCH_BUILDDIR/bindings/python-cffi/build/stage printf "[pytest]\nminversion = 3.0\naddopts = -ra\n" > $pytest_dir/pytest.ini diff --git a/test/T392-python-cffi-notmuch.sh b/test/T392-python-cffi-notmuch.sh index 15c8fc6b..06161219 100755 --- a/test/T392-python-cffi-notmuch.sh +++ b/test/T392-python-cffi-notmuch.sh @@ -2,7 +2,7 @@ test_description="python bindings (notmuch test suite)" . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_PYTHON3_CFFI -eq 0 -o $NOTMUCH_HAVE_PYTHON3_PYTEST -eq 0 ]; then +if [ "${NOTMUCH_HAVE_PYTHON3_CFFI-0}" = "0" -o "${NOTMUCH_HAVE_PYTHON3_PYTEST-0}" = "0" ]; then test_done fi diff --git a/test/T520-show.sh b/test/T520-show.sh index c7b73a6d..6bcf109c 100755 --- a/test/T520-show.sh +++ b/test/T520-show.sh @@ -35,7 +35,7 @@ notmuch show --entire-thread=true --sort=oldest-first $QUERY > OUTPUT test_expect_equal_file EXPECTED OUTPUT -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_query_syntax '(and "wonderful" "wizard")' 'wonderful and wizard' test_query_syntax '(or "php" "wizard")' 'php or wizard' diff --git a/test/T570-revision-tracking.sh b/test/T570-revision-tracking.sh index a7480050..bcc97dd9 100755 --- a/test/T570-revision-tracking.sh +++ b/test/T570-revision-tracking.sh @@ -95,7 +95,7 @@ subtotal=$(notmuch count lastmod:..$lastmod) result=$(($subtotal == $total-1)) test_expect_equal 1 "$result" -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then test_begin_subtest 'exclude one message using negative lastmod (sexp)' total=$(notmuch count '*') notmuch tag +${RANDOM} id:4EFC743A.3060609@april.org diff --git a/test/T700-reindex.sh b/test/T700-reindex.sh index 347f8483..af34ad7c 100755 --- a/test/T700-reindex.sh +++ b/test/T700-reindex.sh @@ -5,7 +5,7 @@ test_description='reindexing messages' add_email_corpus -if [ $NOTMUCH_HAVE_SFSEXP -eq 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" = "1" ]; then count=$(notmuch count --lastmod '*' | cut -f 3) for query in '()' '(not)' '(and)' '(or ())' '(or (not))' '(or (and))' \ diff --git a/test/T800-asan.sh b/test/T800-asan.sh index 5055c93e..7c28dc7c 100755 --- a/test/T800-asan.sh +++ b/test/T800-asan.sh @@ -2,7 +2,7 @@ test_description='run code with ASAN enabled against the library' . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_ASAN -ne 1 ]; then +if [ "${NOTMUCH_HAVE_ASAN-0}" != "1" ]; then printf "Skipping due to missing ASAN support\n" test_done fi diff --git a/test/T810-tsan.sh b/test/T810-tsan.sh index 7e877b27..4071e296 100755 --- a/test/T810-tsan.sh +++ b/test/T810-tsan.sh @@ -8,7 +8,7 @@ test_description='run code with TSan enabled against the library' . "$test_directory"/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_TSAN -ne 1 ]; then +if [ "${NOTMUCH_HAVE_TSAN-0}" != "1" ]; then printf "Skipping due to missing TSan support\n" test_done fi diff --git a/test/T850-git.sh b/test/T850-git.sh index 55cec78a..be6e0cd4 100755 --- a/test/T850-git.sh +++ b/test/T850-git.sh @@ -2,7 +2,7 @@ test_description='"notmuch git" to save and restore tags' . $(dirname "$0")/test-lib.sh || exit 1 -if [ $NOTMUCH_HAVE_SFSEXP -ne 1 ]; then +if [ "${NOTMUCH_HAVE_SFSEXP-0}" != "1" ]; then printf "Skipping due to missing sfsexp library\n" test_done fi