From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id E02016DE02A9 for ; Sat, 4 Jun 2016 05:29:42 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.012 X-Spam-Level: X-Spam-Status: No, score=-0.012 tagged_above=-999 required=5 tests=[AWL=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TQZnZkhSFopx for ; Sat, 4 Jun 2016 05:29:34 -0700 (PDT) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id 8B1286DE0297 for ; Sat, 4 Jun 2016 05:29:34 -0700 (PDT) Received: from remotemail by fethera.tethera.net with local (Exim 4.84) (envelope-from ) id 1b9Aha-0004yg-QM; Sat, 04 Jun 2016 08:29:18 -0400 Received: (nullmailer pid 23493 invoked by uid 1000); Sat, 04 Jun 2016 12:29:27 -0000 From: David Bremner To: Istvan Marko , Jani Nikula , notmuch@notmuchmail.org Subject: [PATCH 2/4] test: factor out some boilerplate from C tests Date: Sat, 4 Jun 2016 09:29:14 -0300 Message-Id: <1465043356-23420-3-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1465043356-23420-1-git-send-email-david@tethera.net> References: <1465043356-23420-1-git-send-email-david@tethera.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jun 2016 12:29:43 -0000 The trick of having a common header file doesn't work to share between test scripts, so make an include file in the test directory. --- test/T590-libconfig.sh | 39 ++++++++++++++------------------------- test/notmuch-test.h | 15 +++++++++++++++ test/test-lib.sh | 2 +- 3 files changed, 30 insertions(+), 26 deletions(-) create mode 100644 test/notmuch-test.h diff --git a/test/T590-libconfig.sh b/test/T590-libconfig.sh index 9c1e566..e8c078d 100755 --- a/test/T590-libconfig.sh +++ b/test/T590-libconfig.sh @@ -6,20 +6,9 @@ test_description="library config API" add_email_corpus cat < c_head -#include #include #include -#include - -void run(int line, notmuch_status_t ret) -{ - if (ret) { - fprintf (stderr, "line %d: %s\n", line, ret); - exit (1); - } -} - -#define RUN(v) run(__LINE__, v); +#include int main (int argc, char** argv) { @@ -27,23 +16,23 @@ int main (int argc, char** argv) char *val; notmuch_status_t stat; - RUN(notmuch_database_open (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db)); + EXPECT0(notmuch_database_open (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db)); EOF cat < c_tail - RUN(notmuch_database_destroy(db)); + EXPECT0(notmuch_database_destroy(db)); } EOF test_begin_subtest "notmuch_database_{set,get}_config" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { - RUN(notmuch_database_set_config (db, "testkey1", "testvalue1")); - RUN(notmuch_database_set_config (db, "testkey2", "testvalue2")); - RUN(notmuch_database_get_config (db, "testkey1", &val)); + EXPECT0(notmuch_database_set_config (db, "testkey1", "testvalue1")); + EXPECT0(notmuch_database_set_config (db, "testkey2", "testvalue2")); + EXPECT0(notmuch_database_get_config (db, "testkey1", &val)); printf("testkey1 = %s\n", val); - RUN(notmuch_database_get_config (db, "testkey2", &val)); + EXPECT0(notmuch_database_get_config (db, "testkey2", &val)); printf("testkey2 = %s\n", val); } EOF @@ -60,7 +49,7 @@ test_begin_subtest "notmuch_database_get_config_list: empty list" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_config_list_t *list; - RUN(notmuch_database_get_config_list (db, "nonexistent", &list)); + EXPECT0(notmuch_database_get_config_list (db, "nonexistent", &list)); printf("valid = %d\n", notmuch_config_list_valid (list)); notmuch_config_list_destroy (list); } @@ -77,9 +66,9 @@ test_begin_subtest "notmuch_database_get_config_list: all pairs" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_config_list_t *list; - RUN(notmuch_database_set_config (db, "zzzafter", "afterval")); - RUN(notmuch_database_set_config (db, "aaabefore", "beforeval")); - RUN(notmuch_database_get_config_list (db, "", &list)); + EXPECT0(notmuch_database_set_config (db, "zzzafter", "afterval")); + EXPECT0(notmuch_database_set_config (db, "aaabefore", "beforeval")); + EXPECT0(notmuch_database_get_config_list (db, "", &list)); for (; notmuch_config_list_valid (list); notmuch_config_list_move_to_next (list)) { printf("%s %s\n", notmuch_config_list_key (list), notmuch_config_list_value(list)); } @@ -100,7 +89,7 @@ test_begin_subtest "notmuch_database_get_config_list: one prefix" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_config_list_t *list; - RUN(notmuch_database_get_config_list (db, "testkey", &list)); + EXPECT0(notmuch_database_get_config_list (db, "testkey", &list)); for (; notmuch_config_list_valid (list); notmuch_config_list_move_to_next (list)) { printf("%s %s\n", notmuch_config_list_key (list), notmuch_config_list_value(list)); } @@ -118,7 +107,7 @@ test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "dump config" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { - RUN(notmuch_database_set_config (db, "key with spaces", "value, with, spaces!")); + EXPECT0(notmuch_database_set_config (db, "key with spaces", "value, with, spaces!")); } EOF notmuch dump --include=config >OUTPUT @@ -136,7 +125,7 @@ test_begin_subtest "restore config" notmuch dump --include=config >EXPECTED cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { - RUN(notmuch_database_set_config (db, "testkey1", "mutatedvalue")); + EXPECT0(notmuch_database_set_config (db, "testkey1", "mutatedvalue")); } EOF notmuch restore --include=config +#include + +void expect0(int line, notmuch_status_t ret) +{ + if (ret) { + fprintf (stderr, "line %d: %s\n", line, ret); + exit (1); + } +} + +#define EXPECT0(v) expect0(__LINE__, v); +#endif diff --git a/test/test-lib.sh b/test/test-lib.sh index 201d0eb..442d293 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -1199,7 +1199,7 @@ test_C () { test_file="${exec_file}.c" cat > ${test_file} export LD_LIBRARY_PATH=${TEST_DIRECTORY}/../lib - ${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY}/../lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc + ${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY} -I${TEST_DIRECTORY}/../lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc echo "== stdout ==" > OUTPUT.stdout echo "== stderr ==" > OUTPUT.stderr ./${exec_file} "$@" 1>>OUTPUT.stdout 2>>OUTPUT.stderr -- 2.8.1