diff --git a/glib/tests/Makefile.am b/glib/tests/Makefile.am index 81a3cec0e..0a137b0c5 100644 --- a/glib/tests/Makefile.am +++ b/glib/tests/Makefile.am @@ -143,6 +143,9 @@ logging_LDADD = $(progs_ldadd) TEST_PROGS += error error_LDADD = $(progs_ldadd) +TEST_PROGS += bookmarkfile +bookmarkfile_LDADD = $(progs_ldadd) + if OS_UNIX # some testing of gtester funcitonality @@ -166,3 +169,7 @@ dist_hook: mkdir $(distdir)/markups; \ for f in $(srcdir)/markups/*; do \ cp $$f $(distdir)/markups; done + mkdir $(distdir)/bookmarks; \ + for f in $(srcdir)/bookmarks/* ; do \ + cp $$f $(distdir)/bookmarks; done + diff --git a/glib/tests/bookmarkfile.c b/glib/tests/bookmarkfile.c new file mode 100644 index 000000000..5e1eac74a --- /dev/null +++ b/glib/tests/bookmarkfile.c @@ -0,0 +1,298 @@ +#undef G_DISABLE_ASSERT + +#include +#include +#include +#include +#include +#include + +#ifndef SRCDIR +#define SRCDIR "." +#endif + +#define TEST_URI_0 "file:///abc/defgh/ijklmnopqrstuvwxyz" +#define TEST_URI_1 "file:///test/uri/1" +#define TEST_URI_2 "file:///test/uri/2" + +#define TEST_MIME "text/plain" + +#define TEST_APP_NAME "bookmarkfile-test" +#define TEST_APP_EXEC "bookmarkfile-test %f" + +static gboolean +test_load (GBookmarkFile *bookmark, + const gchar *filename) +{ + GError *error = NULL; + gboolean res; + + res = g_bookmark_file_load_from_file (bookmark, filename, &error); + if (error && g_test_verbose ()) + { + g_print ("Load error: %s\n", error->message); + g_error_free (error); + } + + return res; +} + +static void +test_query (GBookmarkFile *bookmark) +{ + gint size; + gchar **uris; + gsize uris_len, i; + gchar *mime; + GError *error; + + size = g_bookmark_file_get_size (bookmark); + uris = g_bookmark_file_get_uris (bookmark, &uris_len); + + g_assert_cmpint (uris_len, ==, size); + + for (i = 0; i < uris_len; i++) + { + g_assert (g_bookmark_file_has_item (bookmark, uris[i])); + error = NULL; + mime = g_bookmark_file_get_mime_type (bookmark, uris[i], &error); + g_assert (mime != NULL); + g_assert_no_error (error); + g_free (mime); + } + g_strfreev (uris); + + g_assert (!g_bookmark_file_has_item (bookmark, "file:///no/such/uri")); + error = NULL; + mime = g_bookmark_file_get_mime_type (bookmark, "file:///no/such/uri", &error); + g_assert (mime == NULL); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_error_free (error); + g_free (mime); +} + +static gboolean +test_modify (GBookmarkFile *bookmark) +{ + gchar *text; + guint count; + time_t stamp; + time_t now; + GError *error = NULL; + gchar **groups; + gsize length; + gchar **apps; + gchar *icon; + gchar *mime; + + if (g_test_verbose ()) + g_print ("\t=> check global title/description..."); + g_bookmark_file_set_title (bookmark, NULL, "a file"); + g_bookmark_file_set_description (bookmark, NULL, "a bookmark file"); + + text = g_bookmark_file_get_title (bookmark, NULL, &error); + g_assert_no_error (error); + g_assert_cmpstr (text, ==, "a file"); + g_free (text); + + text = g_bookmark_file_get_description (bookmark, NULL, &error); + g_assert_no_error (error); + g_assert_cmpstr (text, ==, "a bookmark file"); + g_free (text); + if (g_test_verbose ()) + g_print ("ok\n"); + + if (g_test_verbose ()) + g_print ("\t=> check bookmark title/description..."); + g_bookmark_file_set_title (bookmark, TEST_URI_0, "a title"); + g_bookmark_file_set_description (bookmark, TEST_URI_0, "a description"); + g_bookmark_file_set_is_private (bookmark, TEST_URI_0, TRUE); + time (&now); + g_bookmark_file_set_added (bookmark, TEST_URI_0, now); + g_bookmark_file_set_modified (bookmark, TEST_URI_0, now); + g_bookmark_file_set_visited (bookmark, TEST_URI_0, now); + g_bookmark_file_set_icon (bookmark, TEST_URI_0, "testicon", "image/png"); + + text = g_bookmark_file_get_title (bookmark, TEST_URI_0, &error); + g_assert_no_error (error); + g_assert_cmpstr (text, ==, "a title"); + g_free (text); + text = g_bookmark_file_get_description (bookmark, TEST_URI_0, &error); + g_assert_no_error (error); + g_assert_cmpstr (text, ==, "a description"); + g_free (text); + g_assert (g_bookmark_file_get_is_private (bookmark, TEST_URI_0, &error)); + g_assert_no_error (error); + stamp = g_bookmark_file_get_added (bookmark, TEST_URI_0, &error); + g_assert_no_error (error); + g_assert (stamp == now); + stamp = g_bookmark_file_get_modified (bookmark, TEST_URI_0, &error); + g_assert_no_error (error); + g_assert (stamp == now); + stamp = g_bookmark_file_get_visited (bookmark, TEST_URI_0, &error); + g_assert_no_error (error); + g_assert (stamp == now); + g_assert (g_bookmark_file_get_icon (bookmark, TEST_URI_0, &icon, &mime, &error)); + g_assert_no_error (error); + g_assert_cmpstr (icon, ==, "testicon"); + g_assert_cmpstr (mime, ==, "image/png"); + g_free (icon); + g_free (mime); + if (g_test_verbose ()) + g_print ("ok\n"); + + if (g_test_verbose ()) + g_print ("\t=> check non existing bookmark..."); + g_bookmark_file_get_description (bookmark, TEST_URI_1, &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + g_bookmark_file_get_is_private (bookmark, TEST_URI_1, &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + g_bookmark_file_get_added (bookmark, TEST_URI_1, &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + g_bookmark_file_get_modified (bookmark, TEST_URI_1, &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + g_bookmark_file_get_visited (bookmark, TEST_URI_1, &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + if (g_test_verbose ()) + g_print ("ok\n"); + + if (g_test_verbose ()) + g_print ("\t=> check application..."); + g_bookmark_file_set_mime_type (bookmark, TEST_URI_0, TEST_MIME); + g_assert (!g_bookmark_file_has_application (bookmark, TEST_URI_0, TEST_APP_NAME, NULL)); + g_bookmark_file_add_application (bookmark, TEST_URI_0, + TEST_APP_NAME, + TEST_APP_EXEC); + g_assert (g_bookmark_file_has_application (bookmark, TEST_URI_0, TEST_APP_NAME, NULL)); + g_bookmark_file_get_app_info (bookmark, TEST_URI_0, TEST_APP_NAME, + &text, + &count, + &stamp, + &error); + g_assert_no_error (error); + g_assert (count == 1); + g_assert (stamp == g_bookmark_file_get_modified (bookmark, TEST_URI_0, NULL)); + g_free (text); + g_assert (g_bookmark_file_remove_application (bookmark, TEST_URI_0, TEST_APP_NAME, &error)); + g_assert_no_error (error); + g_bookmark_file_add_application (bookmark, TEST_URI_0, TEST_APP_NAME, TEST_APP_EXEC); + apps = g_bookmark_file_get_applications (bookmark, TEST_URI_0, &length, &error); + g_assert_no_error (error); + g_assert_cmpint (length, ==, 1); + g_assert_cmpstr (apps[0], ==, TEST_APP_NAME); + g_strfreev (apps); + + g_bookmark_file_get_app_info (bookmark, TEST_URI_0, "fail", + &text, + &count, + &stamp, + &error); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED); + g_clear_error (&error); + + if (g_test_verbose ()) + g_print ("ok\n"); + + if (g_test_verbose ()) + g_print ("\t=> check groups..."); + g_assert (!g_bookmark_file_has_group (bookmark, TEST_URI_1, "Test", NULL)); + g_bookmark_file_add_group (bookmark, TEST_URI_1, "Test"); + g_assert (g_bookmark_file_has_group (bookmark, TEST_URI_1, "Test", NULL)); + g_assert (!g_bookmark_file_has_group (bookmark, TEST_URI_1, "Fail", NULL)); + g_assert (g_bookmark_file_remove_group (bookmark, TEST_URI_1, "Test", &error)); + g_assert_no_error (error); + groups = g_bookmark_file_get_groups (bookmark, TEST_URI_1, NULL, &error); + g_assert_cmpint (g_strv_length (groups), ==, 0); + g_strfreev (groups); + groups = g_new0 (gchar *, 3); + groups[0] = "Group1"; + groups[1] = "Group2"; + groups[2] = NULL; + g_bookmark_file_set_groups (bookmark, TEST_URI_1, (const gchar **)groups, 2); + g_free (groups); + groups = g_bookmark_file_get_groups (bookmark, TEST_URI_1, &length, &error); + g_assert_cmpint (length, ==, 2); + g_strfreev (groups); + g_assert_no_error (error); + + if (g_test_verbose ()) + g_print ("ok\n"); + + if (g_test_verbose ()) + g_print ("\t=> check remove..."); + g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == TRUE); + g_assert_no_error (error); + g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == FALSE); + g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); + g_clear_error (&error); + if (g_test_verbose ()) + g_print ("ok\n"); + + return TRUE; +} + +static void +test_file (gconstpointer d) +{ + const gchar *filename = d; + GBookmarkFile *bookmark_file; + gboolean success; + gchar *data; + GError *error; + + bookmark_file = g_bookmark_file_new (); + g_assert (bookmark_file != NULL); + + success = test_load (bookmark_file, filename); + + if (success) + { + test_query (bookmark_file); + test_modify (bookmark_file); + + error = NULL; + data = g_bookmark_file_to_data (bookmark_file, NULL, &error); + g_assert_no_error (error); + /* FIXME do some checks on data */ + g_free (data); + } + + g_bookmark_file_free (bookmark_file); + + g_assert (success == (strstr (filename, "fail") == NULL)); +} + +int +main (int argc, char *argv[]) +{ + GDir *dir; + GError *error; + const gchar *name; + gchar *path; + + g_test_init (&argc, &argv, NULL); + + if (argc > 1) + { + test_file (argv[1]); + return 0; + } + + error = NULL; + dir = g_dir_open (SRCDIR "/bookmarks", 0, &error); + g_assert_no_error (error); + while ((name = g_dir_read_name (dir)) != NULL) + { + path = g_strdup_printf ("/bookmarks/parse/%s", name); + g_test_add_data_func (path, g_build_filename (SRCDIR, "bookmarks", name, NULL), test_file); + g_free (path); + } + g_dir_close (dir); + + return g_test_run (); +} diff --git a/tests/bookmarks/fail-01.xbel b/glib/tests/bookmarks/fail-01.xbel similarity index 100% rename from tests/bookmarks/fail-01.xbel rename to glib/tests/bookmarks/fail-01.xbel diff --git a/tests/bookmarks/fail-02.xbel b/glib/tests/bookmarks/fail-02.xbel similarity index 100% rename from tests/bookmarks/fail-02.xbel rename to glib/tests/bookmarks/fail-02.xbel diff --git a/tests/bookmarks/fail-03.xbel b/glib/tests/bookmarks/fail-03.xbel similarity index 100% rename from tests/bookmarks/fail-03.xbel rename to glib/tests/bookmarks/fail-03.xbel diff --git a/tests/bookmarks/fail-04.xbel b/glib/tests/bookmarks/fail-04.xbel similarity index 100% rename from tests/bookmarks/fail-04.xbel rename to glib/tests/bookmarks/fail-04.xbel diff --git a/tests/bookmarks/fail-05.xbel b/glib/tests/bookmarks/fail-05.xbel similarity index 100% rename from tests/bookmarks/fail-05.xbel rename to glib/tests/bookmarks/fail-05.xbel diff --git a/tests/bookmarks/fail-06.xbel b/glib/tests/bookmarks/fail-06.xbel similarity index 100% rename from tests/bookmarks/fail-06.xbel rename to glib/tests/bookmarks/fail-06.xbel diff --git a/tests/bookmarks/fail-07.xbel b/glib/tests/bookmarks/fail-07.xbel similarity index 100% rename from tests/bookmarks/fail-07.xbel rename to glib/tests/bookmarks/fail-07.xbel diff --git a/tests/bookmarks/fail-08.xbel b/glib/tests/bookmarks/fail-08.xbel similarity index 100% rename from tests/bookmarks/fail-08.xbel rename to glib/tests/bookmarks/fail-08.xbel diff --git a/tests/bookmarks/fail-09.xbel b/glib/tests/bookmarks/fail-09.xbel similarity index 100% rename from tests/bookmarks/fail-09.xbel rename to glib/tests/bookmarks/fail-09.xbel diff --git a/tests/bookmarks/fail-10.xbel b/glib/tests/bookmarks/fail-10.xbel similarity index 100% rename from tests/bookmarks/fail-10.xbel rename to glib/tests/bookmarks/fail-10.xbel diff --git a/tests/bookmarks/fail-11.xbel b/glib/tests/bookmarks/fail-11.xbel similarity index 100% rename from tests/bookmarks/fail-11.xbel rename to glib/tests/bookmarks/fail-11.xbel diff --git a/tests/bookmarks/fail-12.xbel b/glib/tests/bookmarks/fail-12.xbel similarity index 100% rename from tests/bookmarks/fail-12.xbel rename to glib/tests/bookmarks/fail-12.xbel diff --git a/tests/bookmarks/fail-13.xbel b/glib/tests/bookmarks/fail-13.xbel similarity index 100% rename from tests/bookmarks/fail-13.xbel rename to glib/tests/bookmarks/fail-13.xbel diff --git a/tests/bookmarks/fail-14.xbel b/glib/tests/bookmarks/fail-14.xbel similarity index 100% rename from tests/bookmarks/fail-14.xbel rename to glib/tests/bookmarks/fail-14.xbel diff --git a/tests/bookmarks/fail-15.xbel b/glib/tests/bookmarks/fail-15.xbel similarity index 100% rename from tests/bookmarks/fail-15.xbel rename to glib/tests/bookmarks/fail-15.xbel diff --git a/tests/bookmarks/fail-16.xbel b/glib/tests/bookmarks/fail-16.xbel similarity index 100% rename from tests/bookmarks/fail-16.xbel rename to glib/tests/bookmarks/fail-16.xbel diff --git a/tests/bookmarks/fail-17.xbel b/glib/tests/bookmarks/fail-17.xbel similarity index 100% rename from tests/bookmarks/fail-17.xbel rename to glib/tests/bookmarks/fail-17.xbel diff --git a/tests/bookmarks/valid-01.xbel b/glib/tests/bookmarks/valid-01.xbel similarity index 100% rename from tests/bookmarks/valid-01.xbel rename to glib/tests/bookmarks/valid-01.xbel diff --git a/tests/bookmarks/valid-02.xbel b/glib/tests/bookmarks/valid-02.xbel similarity index 100% rename from tests/bookmarks/valid-02.xbel rename to glib/tests/bookmarks/valid-02.xbel diff --git a/tests/bookmarks/valid-03.xbel b/glib/tests/bookmarks/valid-03.xbel similarity index 100% rename from tests/bookmarks/valid-03.xbel rename to glib/tests/bookmarks/valid-03.xbel diff --git a/tests/Makefile.am b/tests/Makefile.am index 6d5c102da..5eed30a0a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -112,9 +112,9 @@ test_programs = \ unicode-caseconv \ unicode-encoding -test_scripts = run-collate-tests.sh run-bookmark-test.sh run-assert-msg-test.sh +test_scripts = run-collate-tests.sh run-assert-msg-test.sh -test_script_support_programs = unicode-collate bookmarkfile-test +test_script_support_programs = unicode-collate check_PROGRAMS = $(test_programs) $(test_script_support_programs) @@ -130,7 +130,6 @@ module_ldadd = $(libgmodule) $(G_MODULE_LIBS) $(progs_ldadd) atomic_test_LDADD = $(progs_ldadd) bit_test_LDADD = $(progs_ldadd) -bookmarkfile_test_LDADD = $(progs_ldadd) child_test_LDADD = $(thread_ldadd) completion_test_LDADD = $(progs_ldadd) date_test_LDADD = $(progs_ldadd) @@ -182,9 +181,6 @@ dist-hook: $(BUILT_EXTRA_DIST) mkdir $(distdir)/collate; \ for f in $(srcdir)/collate/* ; do \ if test -f $$f; then cp $$f $(distdir)/collate; fi; done - mkdir $(distdir)/bookmarks; \ - for f in $(srcdir)/bookmarks/* ; do \ - cp $$f $(distdir)/bookmarks; done DISTCLEANFILES = \ iochannel-test-outfile \ diff --git a/tests/bookmarkfile-test.c b/tests/bookmarkfile-test.c deleted file mode 100644 index 40e9a0581..000000000 --- a/tests/bookmarkfile-test.c +++ /dev/null @@ -1,188 +0,0 @@ -#undef G_DISABLE_ASSERT - -#include -#include -#include -#include -#include -#include - -#define TEST_URI_0 "file:///abc/defgh/ijklmnopqrstuvwxyz" -#define TEST_URI_1 "file:///test/uri/1" -#define TEST_URI_2 "file:///test/uri/2" - -#define TEST_MIME "text/plain" - -#define TEST_APP_NAME "bookmarkfile-test" -#define TEST_APP_EXEC "bookmarkfile-test %f" - -static gboolean -test_load (GBookmarkFile *bookmark, - const gchar *filename) -{ - GError *error = NULL; - gboolean res; - - res = g_bookmark_file_load_from_file (bookmark, filename, &error); - if (error) - { - g_print ("Load error: %s\n", error->message); - g_error_free (error); - } - - return res; -} - -static gboolean -test_query (GBookmarkFile *bookmark) -{ - gint size; - gchar **uris; - gsize uris_len, i; - gboolean res = TRUE; - - size = g_bookmark_file_get_size (bookmark); - uris = g_bookmark_file_get_uris (bookmark, &uris_len); - - if (uris_len != size) - { - g_print ("URI/size mismatch: URI count is %d (should be %d)\n", uris_len, size); - - res = FALSE; - } - - for (i = 0; i < uris_len; i++) - if (!g_bookmark_file_has_item (bookmark, uris[i])) - { - g_print ("URI/bookmark mismatch: bookmark for '%s' does not exist\n", uris[i]); - - res = FALSE; - } - - g_strfreev (uris); - - return res; -} - -static gboolean -test_modify (GBookmarkFile *bookmark) -{ - gchar *text; - guint count; - time_t stamp; - GError *error = NULL; - - g_print ("\t=> check global title/description..."); - g_bookmark_file_set_title (bookmark, NULL, "a file"); - g_bookmark_file_set_description (bookmark, NULL, "a bookmark file"); - - text = g_bookmark_file_get_title (bookmark, NULL, &error); - g_assert_no_error (error); - g_assert_cmpstr (text, ==, "a file"); - g_free (text); - - text = g_bookmark_file_get_description (bookmark, NULL, &error); - g_assert_no_error (error); - g_assert_cmpstr (text, ==, "a bookmark file"); - g_free (text); - g_print ("ok\n"); - - g_print ("\t=> check bookmark title/description..."); - g_bookmark_file_set_title (bookmark, TEST_URI_0, "a title"); - g_bookmark_file_set_description (bookmark, TEST_URI_0, "a description"); - - text = g_bookmark_file_get_title (bookmark, TEST_URI_0, &error); - g_assert_no_error (error); - g_assert_cmpstr (text, ==, "a title"); - g_free (text); - g_print ("ok\n"); - - g_print ("\t=> check non existing bookmark..."); - g_bookmark_file_get_description (bookmark, TEST_URI_1, &error); - g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); - g_clear_error (&error); - g_print ("ok\n"); - - g_print ("\t=> check application..."); - g_bookmark_file_set_mime_type (bookmark, TEST_URI_0, TEST_MIME); - g_bookmark_file_add_application (bookmark, TEST_URI_0, - TEST_APP_NAME, - TEST_APP_EXEC); - g_assert (g_bookmark_file_has_application (bookmark, TEST_URI_0, TEST_APP_NAME, NULL) == TRUE); - g_bookmark_file_get_app_info (bookmark, TEST_URI_0, TEST_APP_NAME, - &text, - &count, - &stamp, - &error); - g_assert_no_error (error); - g_assert (count == 1); - g_assert (stamp == g_bookmark_file_get_modified (bookmark, TEST_URI_0, NULL)); - g_free (text); - - g_bookmark_file_get_app_info (bookmark, TEST_URI_0, "fail", - &text, - &count, - &stamp, - &error); - g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED); - g_clear_error (&error); - g_print ("ok\n"); - - g_print ("\t=> check groups..."); - g_bookmark_file_add_group (bookmark, TEST_URI_1, "Test"); - g_assert (g_bookmark_file_has_group (bookmark, TEST_URI_1, "Test", NULL) == TRUE); - g_assert (g_bookmark_file_has_group (bookmark, TEST_URI_1, "Fail", NULL) == FALSE); - g_print ("ok\n"); - - g_print ("\t=> check remove..."); - g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == TRUE); - g_assert_no_error (error); - g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == FALSE); - g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND); - g_clear_error (&error); - g_print ("ok\n"); - - return TRUE; -} - -static gint -test_file (const gchar *filename) -{ - GBookmarkFile *bookmark_file; - gboolean success; - - g_return_val_if_fail (filename != NULL, 1); - - g_print ("checking GBookmarkFile...\n"); - - bookmark_file = g_bookmark_file_new (); - g_assert (bookmark_file != NULL); - - success = test_load (bookmark_file, filename); - - if (success) - { - success = test_query (bookmark_file); - success = test_modify (bookmark_file); - } - - g_bookmark_file_free (bookmark_file); - - g_print ("ok\n"); - - return (success == TRUE ? 0 : 1); -} - -int -main (int argc, - char *argv[]) -{ - if (argc > 1) - return test_file (argv[1]); - else - { - fprintf (stderr, "Usage: bookmarkfile-test \n"); - - return 1; - } -} diff --git a/tests/run-bookmark-test.sh b/tests/run-bookmark-test.sh deleted file mode 100755 index 3bed44d22..000000000 --- a/tests/run-bookmark-test.sh +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/sh - -fail () -{ - echo "Test failed: $*" - exit 1 -} - -echo_v () -{ - if [ "$verbose" = "1" ]; then - echo "$*" - fi -} - -error_out=/dev/null -if [ "$1" = "-v" ]; then - verbose=1 - error_out=/dev/stderr -fi -for I in ${srcdir:-.}/bookmarks/fail-*.xbel; do - echo_v "Parsing $I, should fail" - ./bookmarkfile-test $I > /dev/null 2> $error_out && fail "failed to generate error on $I" - if test "$?" != "1"; then - fail "unexpected error on $I" - fi -done - -for I in ${srcdir:-.}/bookmarks/valid-*.xbel; do - echo_v "Parsing $I, should succeed" - ./bookmarkfile-test $I > /dev/null 2> $error_out || fail "failed on $I" -done - -echo_v "All tests passed."