[tepl] MetadataStore: automatic unit tests for test data files



commit 05955714c22d5973eeb08c641924cb9ed2a11535
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Wed Apr 1 01:58:11 2020 +0200

    MetadataStore: automatic unit tests for test data files

 testsuite/test-metadata-store.c | 51 ++++++++++++++++++++++-------------------
 1 file changed, 28 insertions(+), 23 deletions(-)
---
diff --git a/testsuite/test-metadata-store.c b/testsuite/test-metadata-store.c
index 4f337cd..13344fc 100644
--- a/testsuite/test-metadata-store.c
+++ b/testsuite/test-metadata-store.c
@@ -18,6 +18,7 @@
  */
 
 #include <tepl/tepl.h>
+#include <errno.h>
 
 static GFile *
 get_store_file_for_test_data_filename (const gchar *test_data_filename,
@@ -182,29 +183,34 @@ check_metadata_exists (const gchar *uri,
 }
 
 static void
-test_expected_to_fail (void)
+test_load_all_test_files (void)
 {
-       check_load_test_data_filename ("expected-to-fail-00-empty.xml");
-       check_load_test_data_filename ("expected-to-fail-01.xml");
-       check_load_test_data_filename ("expected-to-fail-02.xml");
-       check_load_test_data_filename ("expected-to-fail-03.xml");
-       check_load_test_data_filename ("expected-to-fail-04.xml");
-       check_load_test_data_filename ("expected-to-fail-05.xml");
-       check_load_test_data_filename ("expected-to-fail-06.xml");
-}
+       gchar *path;
+       GDir *dir;
+       GError *error = NULL;
 
-static void
-test_expected_to_succeed (void)
-{
-       check_load_test_data_filename ("document-with-no-entry.xml");
-       check_load_test_data_filename ("empty-key.xml");
-       check_load_test_data_filename ("from-old-metadata-manager.xml");
-       check_load_test_data_filename ("gcsvedit-one-entry.xml");
-       check_load_test_data_filename ("max-num-locations-after.xml");
-       check_load_test_data_filename ("max-num-locations-before.xml");
-       check_load_test_data_filename ("metadata-tag-only.xml");
-       check_load_test_data_filename ("new-format-version.xml");
-       check_load_test_data_filename ("one-entry-markup-escape.xml");
+       path = g_build_filename (UNIT_TESTS_SOURCE_DIR, "test-metadata-store", NULL);
+       dir = g_dir_open (path, 0, &error);
+       g_assert_no_error (error);
+
+       while (TRUE)
+       {
+               const gchar *test_data_filename;
+
+               errno = 0;
+               test_data_filename = g_dir_read_name (dir);
+               g_assert_cmpint (errno, ==, 0);
+
+               if (test_data_filename == NULL)
+               {
+                       break;
+               }
+
+               check_load_test_data_filename (test_data_filename);
+       }
+
+       g_free (path);
+       g_dir_close (dir);
 }
 
 static void
@@ -458,8 +464,7 @@ main (int    argc,
 {
        gtk_test_init (&argc, &argv);
 
-       g_test_add_func ("/metadata_store/expected_to_fail", test_expected_to_fail);
-       g_test_add_func ("/metadata_store/expected_to_succeed", test_expected_to_succeed);
+       g_test_add_func ("/metadata_store/load_all_test_files", test_load_all_test_files);
        g_test_add_func ("/metadata_store/load_non_existing_store_file", test_load_non_existing_store_file);
        g_test_add_func ("/metadata_store/empty_store", test_empty_store);
        g_test_add_func ("/metadata_store/load_xml_from_old_metadata_manager", 
test_load_xml_from_old_metadata_manager);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]