From f6ff982e921b60b7afcba19dd85f01d576057f42 Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Thu, 19 May 2011 20:56:29 +0300 Subject: [PATCH] * tests: add unit-tests for 'mu cfind'; fix up merge --- src/tests/Makefile.am | 5 + src/tests/test-mu-cmd-cfind.c | 281 +++++++++++++++++ src/tests/test-mu-cmd.c | 560 +++++++++++++++++----------------- src/tests/test-mu-contacts.c | 2 +- 4 files changed, 572 insertions(+), 276 deletions(-) create mode 100644 src/tests/test-mu-cmd-cfind.c diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am index 53997e2d..6028626a 100644 --- a/src/tests/Makefile.am +++ b/src/tests/Makefile.am @@ -64,6 +64,11 @@ TEST_PROGS += test-mu-cmd test_mu_cmd_SOURCES= test-mu-cmd.c dummy.cc test_mu_cmd_LDADD= libtestmucommon.la +TEST_PROGS += test-mu-cmd-cfind +test_mu_cmd_cfind_SOURCES= test-mu-cmd-cfind.c dummy.cc +test_mu_cmd_cfind_LDADD= libtestmucommon.la + + TEST_PROGS += test-mu-msg test_mu_msg_SOURCES= test-mu-msg.c dummy.cc test_mu_msg_LDADD= libtestmucommon.la diff --git a/src/tests/test-mu-cmd-cfind.c b/src/tests/test-mu-cmd-cfind.c new file mode 100644 index 00000000..e41412f7 --- /dev/null +++ b/src/tests/test-mu-cmd-cfind.c @@ -0,0 +1,281 @@ +/* -*- mode: c; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- +** +** Copyright (C) 2008-2011 Dirk-Jan C. Binnema +** +** This program is free software; you can redistribute it and/or modify it +** under the terms of the GNU General Public License as published by the +** Free Software Foundation; either version 3, or (at your option) any +** later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software Foundation, +** Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +** +*/ + +#if HAVE_CONFIG_H +#include "config.h" +#endif /*HAVE_CONFIG_H*/ + +#include +#include + +#include "../mu-query.h" + +#include +#include +#include + +#include "test-mu-common.h" +#include "src/mu-store.h" + +static gchar* +fill_contacts_cache (void) +{ + gchar *cmdline, *tmpdir; + + tmpdir = test_mu_common_get_random_tmpdir(); + cmdline = g_strdup_printf ("%s index --muhome=%s --maildir=%s" + " --quiet", + MU_PROGRAM, tmpdir, MU_TESTMAILDIR); + + g_assert (g_spawn_command_line_sync (cmdline, NULL, NULL, + NULL, NULL)); + g_free (cmdline); + + return tmpdir; +} + + +static void +test_mu_cfind_plain (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=plain " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "Helmut Kröger hk@testmu.xxx\n" + "Mü testmu@testmu.xx\n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + +static void +test_mu_cfind_bbdb (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=bbdb " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + ";; -*-coding: utf-8-emacs;-*-\n" + ";;; file-version: 6\n" + + "[\"Helmut\" \"Kröger\" nil nil nil nil (\"hk@testmu.xxx\") " + "((creation-date . \"2011-05-19\") " + "(time-stamp . \"1970-01-01\")) nil]\n" + + "[\"Mü\" \"\" nil nil nil nil (\"testmu@testmu.xx\") " + "((creation-date . \"2011-05-19\") " + "(time-stamp . \"1970-01-01\")) nil]\n"); + + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + + +static void +test_mu_cfind_wl (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=wl " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "hk@testmu.xxx \"HelmutK\" \"Helmut Kröger\"\n" + "testmu@testmu.xx \"Mü\" \"Mü\"\n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + + +static void +test_mu_cfind_mutt_alias (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=mutt-alias " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "alias HelmutK Helmut Kröger \n" + "alias Mü Mü \n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + +static void +test_mu_cfind_mutt_ab (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=mutt-ab " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "hk@testmu.xxx\tHelmut Kröger\t\n" + "testmu@testmu.xx\tMü\t\n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + + +static void +test_mu_cfind_org_contact (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=org-contact " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "* Helmut Kröger\n" + ":PROPERTIES:\n" + ":EMAIL: hk@testmu.xxx\n" + ":END:\n\n" + + "* Mü\n" + ":PROPERTIES:\n" + ":EMAIL: testmu@testmu.xx\n" + ":END:\n\n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + + + +static void +test_mu_cfind_csv (void) +{ + gchar *muhome, *cmdline, *output, *erroutput; + + muhome = fill_contacts_cache (); + g_assert (muhome != NULL); + + cmdline = g_strdup_printf ("%s cfind --muhome=%s --format=csv " + "'testmu\\.xxx?'", + MU_PROGRAM, muhome); + + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "Helmut Kröger,hk@testmu.xxx\n" + "Mü,testmu@testmu.xx\n"); + g_free (cmdline); + g_free (muhome); + g_free (output); + g_free (erroutput); +} + + + + +int +main (int argc, char *argv[]) +{ + int rv; + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-plain", test_mu_cfind_plain); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-bbdb", test_mu_cfind_bbdb); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-wl", test_mu_cfind_wl); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-mutt-alias", + test_mu_cfind_mutt_alias); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-mutt-ab", + test_mu_cfind_mutt_ab); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-org-contact", + test_mu_cfind_org_contact); + g_test_add_func ("/mu-cmd-cfind/test-mu-cfind-csv", + test_mu_cfind_csv); + + g_log_set_handler (NULL, + G_LOG_LEVEL_MASK | G_LOG_LEVEL_WARNING| + G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION, + (GLogFunc)black_hole, NULL); + + rv = g_test_run (); + + return rv; +} + diff --git a/src/tests/test-mu-cmd.c b/src/tests/test-mu-cmd.c index a1ae2abb..d24eb452 100644 --- a/src/tests/test-mu-cmd.c +++ b/src/tests/test-mu-cmd.c @@ -1,4 +1,5 @@ -/* +/* -*- mode: c; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- +** ** Copyright (C) 2008-2011 Dirk-Jan C. Binnema ** ** This program is free software; you can redistribute it and/or modify it @@ -39,34 +40,35 @@ static gchar* fill_database (void) { - gchar *cmdline, *tmpdir; + gchar *cmdline, *tmpdir; - tmpdir = test_mu_common_get_random_tmpdir(); - cmdline = g_strdup_printf ("%s index --muhome=%s --maildir=%s" - " --quiet", - MU_PROGRAM, tmpdir, MU_TESTMAILDIR2); + tmpdir = test_mu_common_get_random_tmpdir(); + cmdline = g_strdup_printf ("%s index --muhome=%s --maildir=%s" + " --quiet", + MU_PROGRAM, + tmpdir, MU_TESTMAILDIR2); - g_assert (g_spawn_command_line_sync (cmdline, NULL, NULL, - NULL, NULL)); - g_free (cmdline); + g_assert (g_spawn_command_line_sync (cmdline, NULL, NULL, + NULL, NULL)); + g_free (cmdline); - return tmpdir; + return tmpdir; } static unsigned newlines_in_output (const char* str) { - int count; + int count; - count = 0; + count = 0; - while (str && *str) { - if (*str == '\n') - ++count; - ++str; - } + while (str && *str) { + if (*str == '\n') + ++count; + ++str; + } - return count; + return count; } static void @@ -74,50 +76,50 @@ search (const char* query, unsigned expected) { gchar *muhome, *cmdline, *output, *erroutput; - muhome = fill_database (); - g_assert (muhome); + muhome = fill_database (); + g_assert (muhome); - cmdline = g_strdup_printf ("%s find --muhome=%s %s", - MU_PROGRAM, muhome, query); + cmdline = g_strdup_printf ("%s find --muhome=%s %s", + MU_PROGRAM, muhome, query); - /* g_printerr ("%s\n", cmdline); */ + /* g_printerr ("%s\n", cmdline); */ - g_assert (g_spawn_command_line_sync (cmdline, - &output, &erroutput, - NULL, NULL)); - g_assert_cmpuint (newlines_in_output(output),==,expected); + g_assert (g_spawn_command_line_sync (cmdline, + &output, &erroutput, + NULL, NULL)); + g_assert_cmpuint (newlines_in_output(output),==,expected); - /* we expect zero lines of error output if there is a match; - * otherwise there should be one line 'No matches found' */ - /* g_assert_cmpuint (newlines_in_output(erroutput),==, */ - /* expected == 0 ? 1 : 0); */ + /* we expect zero lines of error output if there is a match; + * otherwise there should be one line 'No matches found' */ + /* g_assert_cmpuint (newlines_in_output(erroutput),==, */ + /* expected == 0 ? 1 : 0); */ - g_free (output); - g_free (erroutput); - g_free (cmdline); - g_free (muhome); + g_free (output); + g_free (erroutput); + g_free (cmdline); + g_free (muhome); } /* index testdir2, and make sure it adds two documents */ static void test_mu_index (void) { - MuStore *store; - gchar *muhome, *xpath; + MuStore *store; + gchar *muhome, *xpath; - muhome = fill_database (); - g_assert (muhome != NULL); + muhome = fill_database (); + g_assert (muhome != NULL); - xpath = g_strdup_printf ("%s%c%s", muhome, G_DIR_SEPARATOR, "xapian"); + xpath = g_strdup_printf ("%s%c%s", muhome, G_DIR_SEPARATOR, "xapian"); - store = mu_store_new (xpath, NULL, NULL); - g_assert (store); + store = mu_store_new (xpath, NULL, NULL); + g_assert (store); - g_assert_cmpuint (mu_store_count (store), ==, 5); - mu_store_destroy (store); + g_assert_cmpuint (mu_store_count (store), ==, 5); + mu_store_destroy (store); - g_free (muhome); - g_free (xpath); + g_free (muhome); + g_free (xpath); } @@ -125,15 +127,15 @@ test_mu_index (void) static void test_mu_find_01 (void) { - search ("f:john fruit", 1); - search ("f:soc@example.com", 1); - search ("t:alki@example.com", 1); - search ("t:alcibiades", 1); - search ("f:soc@example.com OR f:john", 2); - search ("f:soc@example.com OR f:john OR t:edmond", 3); - search ("t:julius", 1); - search ("s:dude", 1); - search ("t:dantès", 1); + search ("f:john fruit", 1); + search ("f:soc@example.com", 1); + search ("t:alki@example.com", 1); + search ("t:alcibiades", 1); + search ("f:soc@example.com OR f:john", 2); + search ("f:soc@example.com OR f:john OR t:edmond", 3); + search ("t:julius", 1); + search ("s:dude", 1); + search ("t:dantès", 1); } @@ -141,14 +143,14 @@ test_mu_find_01 (void) static void test_mu_find_02 (void) { - search ("bull", 1); - search ("bull m:foo", 0); - search ("bull m:/foo", 1); - search ("bull m:/Foo", 1); - search ("bull flag:a", 1); - search ("g:x", 0); - search ("flag:encrypted", 0); - search ("flag:attach", 1); + search ("bull", 1); + search ("bull m:foo", 0); + search ("bull m:/foo", 1); + search ("bull m:/Foo", 1); + search ("bull flag:a", 1); + search ("g:x", 0); + search ("flag:encrypted", 0); + search ("flag:attach", 1); } @@ -156,10 +158,10 @@ test_mu_find_02 (void) static void test_mu_find_03 (void) { - search ("bull", 1); - search ("bull m:foo", 0); - search ("bull m:/foo", 1); - search ("i:3BE9E6535E0D852173@emss35m06.us.lmco.com", 1); + search ("bull", 1); + search ("bull m:foo", 0); + search ("bull m:/foo", 1); + search ("i:3BE9E6535E0D852173@emss35m06.us.lmco.com", 1); } @@ -168,24 +170,25 @@ test_mu_find_04 (void) { gchar *muhome, *cmdline, *erroutput; - muhome = fill_database (); - g_assert (muhome); + muhome = fill_database (); + g_assert (muhome); - cmdline = g_strdup_printf ("%s --muhome=%cfoo%cbar%cnonexistent find f:socrates", - MU_PROGRAM, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR); + cmdline = g_strdup_printf ("%s --muhome=%cfoo%cbar%cnonexistent " + "find f:socrates", + MU_PROGRAM, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR); - g_assert (g_spawn_command_line_sync (cmdline, NULL, &erroutput, - NULL, NULL)); + g_assert (g_spawn_command_line_sync (cmdline, NULL, &erroutput, + NULL, NULL)); - /* we expect multiple lines of error output */ - g_assert_cmpuint (newlines_in_output(erroutput),>=,1); + /* we expect multiple lines of error output */ + g_assert_cmpuint (newlines_in_output(erroutput),>=,1); - g_free (erroutput); - g_free (cmdline); - g_free (muhome); + g_free (erroutput); + g_free (cmdline); + g_free (muhome); } @@ -194,49 +197,50 @@ test_mu_extract_01 (void) { gchar *cmdline, *output, *erroutput, *tmpdir; - tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + tmpdir = test_mu_common_get_random_tmpdir(); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s extract --muhome=%s %s%cFoo%ccur%cmail5", - MU_PROGRAM, - tmpdir, - MU_TESTMAILDIR2, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR); + cmdline = g_strdup_printf ("%s extract --muhome=%s %s%cFoo%ccur%cmail5", + MU_PROGRAM, + tmpdir, + MU_TESTMAILDIR2, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR); - /* g_print ("[%s]", cmdline); */ + /* g_print ("[%s]", cmdline); */ - output = erroutput = NULL; - g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, NULL, NULL)); - g_assert_cmpstr (output, - ==, - "MIME-parts in this message:\n" - " 0 multipart/mixed []\n" - " 1 text/plain []\n" - " 2 sittingbull.jpg image/jpeg [inline]\n" - " 3 custer.jpg image/jpeg [inline]\n"); + output = erroutput = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, + ==, + "MIME-parts in this message:\n" + " 0 multipart/mixed []\n" + " 1 text/plain []\n" + " 2 sittingbull.jpg image/jpeg [inline]\n" + " 3 custer.jpg image/jpeg [inline]\n"); - /* we expect zero lines of error output */ - g_assert_cmpuint (newlines_in_output(erroutput),==,0); + /* we expect zero lines of error output */ + g_assert_cmpuint (newlines_in_output(erroutput),==,0); - g_free (output); - g_free (erroutput); - g_free (cmdline); - g_free (tmpdir); + g_free (output); + g_free (erroutput); + g_free (cmdline); + g_free (tmpdir); } static gint64 get_file_size (const char* path) { - int rv; - struct stat statbuf; + int rv; + struct stat statbuf; - rv = stat (path, &statbuf); - if (rv != 0) - return -1; + rv = stat (path, &statbuf); + if (rv != 0) + return -1; - return (gint64)statbuf.st_size; + return (gint64)statbuf.st_size; } @@ -244,36 +248,37 @@ static void test_mu_extract_02 (void) { gchar *cmdline, *output, *tmpdir; - gchar *att1, *att2; + gchar *att1, *att2; - tmpdir = test_mu_common_get_random_tmpdir(); + tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s extract --muhome=%s -a --target-dir=%s %s%cFoo%ccur%cmail5", - MU_PROGRAM, - tmpdir, - tmpdir, - MU_TESTMAILDIR2, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR); + cmdline = g_strdup_printf ("%s extract --muhome=%s -a " + "--target-dir=%s %s%cFoo%ccur%cmail5", + MU_PROGRAM, + tmpdir, + tmpdir, + MU_TESTMAILDIR2, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR); - output = NULL; - g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); + output = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); + g_assert_cmpstr (output, ==, ""); - att1 = g_strdup_printf ("%s%ccuster.jpg", tmpdir, G_DIR_SEPARATOR); - att2 = g_strdup_printf ("%s%csittingbull.jpg", tmpdir, G_DIR_SEPARATOR); + att1 = g_strdup_printf ("%s%ccuster.jpg", tmpdir, G_DIR_SEPARATOR); + att2 = g_strdup_printf ("%s%csittingbull.jpg", tmpdir, G_DIR_SEPARATOR); - g_assert_cmpint (get_file_size(att1),==,15960); - g_assert_cmpint (get_file_size(att2),==,17674); + g_assert_cmpint (get_file_size(att1),==,15960); + g_assert_cmpint (get_file_size(att2),==,17674); - g_free (output); - g_free (tmpdir); - g_free (cmdline); - g_free (att1); - g_free (att2); + g_free (output); + g_free (tmpdir); + g_free (cmdline); + g_free (att1); + g_free (att2); } @@ -281,36 +286,36 @@ static void test_mu_extract_03 (void) { gchar *cmdline, *output, *tmpdir; - gchar *att1, *att2; + gchar *att1, *att2; - tmpdir = test_mu_common_get_random_tmpdir(); + tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s extract --muhome=%s --parts 3 " - "--target-dir=%s %s%cFoo%ccur%cmail5", - MU_PROGRAM, - tmpdir, - tmpdir, - MU_TESTMAILDIR2, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR); - output = NULL; - g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); + cmdline = g_strdup_printf ("%s extract --muhome=%s --parts 3 " + "--target-dir=%s %s%cFoo%ccur%cmail5", + MU_PROGRAM, + tmpdir, + tmpdir, + MU_TESTMAILDIR2, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR); + output = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); + g_assert_cmpstr (output, ==, ""); - att1 = g_strdup_printf ("%s%ccuster.jpg", tmpdir, G_DIR_SEPARATOR); - att2 = g_strdup_printf ("%s%csittingbull.jpg", tmpdir, G_DIR_SEPARATOR); + att1 = g_strdup_printf ("%s%ccuster.jpg", tmpdir, G_DIR_SEPARATOR); + att2 = g_strdup_printf ("%s%csittingbull.jpg", tmpdir, G_DIR_SEPARATOR); - g_assert_cmpint (get_file_size(att1),==,15960); /* should not exist */ - g_assert_cmpint (get_file_size(att2),==,-1); + g_assert_cmpint (get_file_size(att1),==,15960); /* should not exist */ + g_assert_cmpint (get_file_size(att2),==,-1); - g_free (output); - g_free (tmpdir); - g_free (cmdline); - g_free (att1); - g_free (att2); + g_free (output); + g_free (tmpdir); + g_free (cmdline); + g_free (att1); + g_free (att2); } @@ -319,42 +324,48 @@ test_mu_extract_04 (void) { gchar *cmdline, *output, *erroutput, *tmpdir; - tmpdir = test_mu_common_get_random_tmpdir(); + tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s extract --muhome=%s -a --target-dir=%s %s%cFoo%ccur%cmail5", - MU_PROGRAM, tmpdir, tmpdir, - MU_TESTMAILDIR2, G_DIR_SEPARATOR, - G_DIR_SEPARATOR, G_DIR_SEPARATOR); + cmdline = g_strdup_printf ("%s extract --muhome=%s -a " + "--target-dir=%s %s%cFoo%ccur%cmail5", + MU_PROGRAM, tmpdir, tmpdir, + MU_TESTMAILDIR2, G_DIR_SEPARATOR, + G_DIR_SEPARATOR, G_DIR_SEPARATOR); - g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); - g_assert_cmpstr (erroutput, ==, ""); - g_free (erroutput); - g_free (output); + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, ==, ""); + g_assert_cmpstr (erroutput, ==, ""); + g_free (erroutput); + g_free (output); - /* now, it should fail, because we don't allow overwrites without --overwrite */ - g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); - g_assert_cmpstr (erroutput, !=, ""); - g_free (erroutput); - g_free (output); + /* now, it should fail, because we don't allow overwrites + * without --overwrite */ + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, ==, ""); + g_assert_cmpstr (erroutput, !=, ""); + g_free (erroutput); + g_free (output); - g_free (cmdline); - /* this should work now, because we have specified --overwrite */ - cmdline = g_strdup_printf ("%s extract --muhome=%s -a --overwrite " - "--target-dir=%s %s%cFoo%ccur%cmail5", - MU_PROGRAM, tmpdir, tmpdir, MU_TESTMAILDIR2, G_DIR_SEPARATOR, - G_DIR_SEPARATOR, G_DIR_SEPARATOR); - g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); - g_assert_cmpstr (erroutput, ==, ""); - g_free (erroutput); - g_free (output); + g_free (cmdline); + /* this should work now, because we have specified --overwrite */ + cmdline = g_strdup_printf ("%s extract --muhome=%s -a --overwrite " + "--target-dir=%s %s%cFoo%ccur%cmail5", + MU_PROGRAM, tmpdir, tmpdir, + MU_TESTMAILDIR2, G_DIR_SEPARATOR, + G_DIR_SEPARATOR, G_DIR_SEPARATOR); + g_assert (g_spawn_command_line_sync (cmdline, &output, &erroutput, + NULL, NULL)); + g_assert_cmpstr (output, ==, ""); + g_assert_cmpstr (erroutput, ==, ""); + g_free (erroutput); + g_free (output); - g_free (tmpdir); - g_free (cmdline); + g_free (tmpdir); + g_free (cmdline); } @@ -363,49 +374,49 @@ static void test_mu_view_01 (void) { gchar *cmdline, *output, *tmpdir; - int len; + int len; - tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + tmpdir = test_mu_common_get_random_tmpdir(); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s view --muhome=%s %s%cbar%ccur%cmail4", - MU_PROGRAM, - tmpdir, - MU_TESTMAILDIR2, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR, - G_DIR_SEPARATOR); - output = NULL; - g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); - g_assert_cmpstr (output, !=, NULL); + cmdline = g_strdup_printf ("%s view --muhome=%s %s%cbar%ccur%cmail4", + MU_PROGRAM, + tmpdir, + MU_TESTMAILDIR2, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR, + G_DIR_SEPARATOR); + output = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); + g_assert_cmpstr (output, !=, NULL); - /* - * note: there are two possibilities here; older versions of - * GMime will produce: - * - * From: "=?iso-8859-1?Q? =F6tzi ?=" - * - * while newer ones return something like: - * - * From: ?tzi - * - * or even - * - * From: \xc3\xb6tzi - * - * both are 'okay' from mu's perspective; it'd be even better - * to have some #ifdefs for the GMime versions, but this - * should work for now - * - * Added 350 as 'okay', which comes with gmime 2.4.24 (ubuntu 10.04) - */ - len = strlen(output); - /* g_print ("\n[%s] (%d)\n", output, len); */ - g_assert (len == 370 || len == 358 || len == 350 || len == 349); + /* + * note: there are two possibilities here; older versions of + * GMime will produce: + * + * From: "=?iso-8859-1?Q? =F6tzi ?=" + * + * while newer ones return something like: + * + * From: ?tzi + * + * or even + * + * From: \xc3\xb6tzi + * + * both are 'okay' from mu's perspective; it'd be even better + * to have some #ifdefs for the GMime versions, but this + * should work for now + * + * Added 350 as 'okay', which comes with gmime 2.4.24 (ubuntu 10.04) + */ + len = strlen(output); + /* g_print ("\n[%s] (%d)\n", output, len); */ + g_assert (len == 370 || len == 358 || len == 350 || len == 349); - g_free (output); - g_free (cmdline); - g_free (tmpdir); + g_free (output); + g_free (cmdline); + g_free (tmpdir); } @@ -415,38 +426,38 @@ static void test_mu_mkdir_01 (void) { gchar *cmdline, *output, *tmpdir; - gchar *dir; + gchar *dir; - tmpdir = test_mu_common_get_random_tmpdir(); - g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); + tmpdir = test_mu_common_get_random_tmpdir(); + g_assert (g_mkdir_with_parents (tmpdir, 0700) == 0); - cmdline = g_strdup_printf ("%s mkdir --muhome=%s %s%ctest1 %s%ctest2", - MU_PROGRAM,tmpdir, - tmpdir, G_DIR_SEPARATOR, - tmpdir, G_DIR_SEPARATOR); + cmdline = g_strdup_printf ("%s mkdir --muhome=%s %s%ctest1 %s%ctest2", + MU_PROGRAM,tmpdir, + tmpdir, G_DIR_SEPARATOR, + tmpdir, G_DIR_SEPARATOR); - output = NULL; - g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); - g_assert_cmpstr (output, ==, ""); + output = NULL; + g_assert (g_spawn_command_line_sync (cmdline, &output, NULL, NULL, NULL)); + g_assert_cmpstr (output, ==, ""); - dir = g_strdup_printf ("%s%ctest1%ccur", tmpdir, G_DIR_SEPARATOR, - G_DIR_SEPARATOR); - g_assert (access (dir, F_OK) == 0); - g_free (dir); + dir = g_strdup_printf ("%s%ctest1%ccur", tmpdir, G_DIR_SEPARATOR, + G_DIR_SEPARATOR); + g_assert (access (dir, F_OK) == 0); + g_free (dir); - dir = g_strdup_printf ("%s%ctest2%ctmp", tmpdir, G_DIR_SEPARATOR, - G_DIR_SEPARATOR); - g_assert (access (dir, F_OK) == 0); - g_free (dir); + dir = g_strdup_printf ("%s%ctest2%ctmp", tmpdir, G_DIR_SEPARATOR, + G_DIR_SEPARATOR); + g_assert (access (dir, F_OK) == 0); + g_free (dir); - dir = g_strdup_printf ("%s%ctest1%cnew", tmpdir, G_DIR_SEPARATOR, - G_DIR_SEPARATOR); - g_assert (access (dir, F_OK) == 0); - g_free (dir); + dir = g_strdup_printf ("%s%ctest1%cnew", tmpdir, G_DIR_SEPARATOR, + G_DIR_SEPARATOR); + g_assert (access (dir, F_OK) == 0); + g_free (dir); - g_free (output); - g_free (tmpdir); - g_free (cmdline); + g_free (output); + g_free (tmpdir); + g_free (cmdline); } @@ -454,30 +465,29 @@ test_mu_mkdir_01 (void) int main (int argc, char *argv[]) { - int rv; - g_test_init (&argc, &argv, NULL); + int rv; + g_test_init (&argc, &argv, NULL); - g_test_add_func ("/mu-cmd/test-mu-index", test_mu_index); - g_test_add_func ("/mu-cmd/test-mu-find-01", test_mu_find_01); - g_test_add_func ("/mu-cmd/test-mu-find-02", test_mu_find_02); - g_test_add_func ("/mu-cmd/test-mu-find-03", test_mu_find_03); - g_test_add_func ("/mu-cmd/test-mu-find-04", test_mu_find_04); - g_test_add_func ("/mu-cmd/test-mu-extract-01", test_mu_extract_01); - g_test_add_func ("/mu-cmd/test-mu-extract-02", test_mu_extract_02); - g_test_add_func ("/mu-cmd/test-mu-extract-03", test_mu_extract_03); - g_test_add_func ("/mu-cmd/test-mu-extract-04", test_mu_extract_04); - g_test_add_func ("/mu-cmd/test-mu-view-01", test_mu_view_01); - g_test_add_func ("/mu-cmd/test-mu-mkdir-01", test_mu_mkdir_01); - - g_log_set_handler (NULL, - G_LOG_LEVEL_MASK | G_LOG_LEVEL_WARNING| - G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION, - (GLogFunc)black_hole, NULL); + g_test_add_func ("/mu-cmd/test-mu-index", test_mu_index); + g_test_add_func ("/mu-cmd/test-mu-find-01", test_mu_find_01); + g_test_add_func ("/mu-cmd/test-mu-find-02", test_mu_find_02); + g_test_add_func ("/mu-cmd/test-mu-find-03", test_mu_find_03); + g_test_add_func ("/mu-cmd/test-mu-find-04", test_mu_find_04); + g_test_add_func ("/mu-cmd/test-mu-extract-01", test_mu_extract_01); + g_test_add_func ("/mu-cmd/test-mu-extract-02", test_mu_extract_02); + g_test_add_func ("/mu-cmd/test-mu-extract-03", test_mu_extract_03); + g_test_add_func ("/mu-cmd/test-mu-extract-04", test_mu_extract_04); + g_test_add_func ("/mu-cmd/test-mu-view-01", test_mu_view_01); + g_test_add_func ("/mu-cmd/test-mu-mkdir-01", test_mu_mkdir_01); + + g_log_set_handler (NULL, + G_LOG_LEVEL_MASK | G_LOG_LEVEL_WARNING| + G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION, + (GLogFunc)black_hole, NULL); - mu_msg_gmime_init (); - rv = g_test_run (); - mu_msg_gmime_uninit(); + rv = g_test_run (); - return rv; + + return rv; } diff --git a/src/tests/test-mu-contacts.c b/src/tests/test-mu-contacts.c index d7ce3bda..990d57f9 100644 --- a/src/tests/test-mu-contacts.c +++ b/src/tests/test-mu-contacts.c @@ -171,7 +171,7 @@ main (int argc, char *argv[]) int rv; g_test_init (&argc, &argv, NULL); - g_test_add_func ("/mu-contact/test-mu-contacts-01", test_mu_contacts_01); + g_test_add_func ("/mu-contacts/test-mu-contacts-01", test_mu_contacts_01); g_log_set_handler (NULL, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,