[libgda] Unit Tests updates for providers * Added test to update meta using a context for each table in meta



commit 42cfaa6e0c540f36750c6365213a53ea6c716c9b
Author: Daniel Espinosa <despinosa src gnome org>
Date:   Fri Mar 2 18:49:24 2012 -0600

    Unit Tests updates for providers
    * Added test to update meta using a context for each table in
    meta definition
    * Fixed a bug in unit test for PostgreSQL not reporting fails

 tests/providers/check_postgres.c   |   11 +++------
 tests/providers/prov-test-common.c |   38 +++++++++++++++++++++++++++++++----
 2 files changed, 37 insertions(+), 12 deletions(-)
---
diff --git a/tests/providers/check_postgres.c b/tests/providers/check_postgres.c
index d8613e5..7427465 100644
--- a/tests/providers/check_postgres.c
+++ b/tests/providers/check_postgres.c
@@ -39,7 +39,7 @@ main (int argc, char **argv)
 		g_warning ("Could not find provider information for %s", PROVIDER);
 		return EXIT_SUCCESS;
 	}
-	g_print ("Provider now tested: %s\n", pinfo->id);
+	g_print ("============= Provider now testing: %s =============\n", pinfo->id);
 	
 	number_failed = prov_test_common_setup ();
 
@@ -55,11 +55,8 @@ main (int argc, char **argv)
 		number_failed += prov_test_common_clean ();
 	}
 
-	if (! params_provided)
-		return EXIT_SUCCESS;
-	else {
-		g_print ("Test %s\n", (number_failed == 0) ? "Ok" : "failed");
-		return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
-	}
+	
+	g_print ("Test %s\n", (number_failed == 0) ? "Ok" : "failed");
+	return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
diff --git a/tests/providers/prov-test-common.c b/tests/providers/prov-test-common.c
index 21be837..b1c29e35 100644
--- a/tests/providers/prov-test-common.c
+++ b/tests/providers/prov-test-common.c
@@ -188,7 +188,35 @@ prov_test_common_check_meta ()
 		number_failed++;
 		goto theend;
 	}
-
+	/* Update meta store by context */
+	GdaMetaContext *ctx;
+	ctx = gda_meta_context_new ();
+	gchar *meta_tables[] = {"_tables", "_attributes", "_information_schema_catalog_name",
+						"_schemata", "_builtin_data_types", "_udt", "_udt_columns",
+						"_enums", "_element_types", "_domains", "_views", "_collations",
+						"_character_sets", "_routines", "_triggers", "_columns",
+						"_table_constraints", "_referential_constraints",
+						"_key_column_usage", "__declared_fk", "_check_column_usage",
+						"_view_column_usage", "_domain_constraints", "_parameters",
+						"_routine_columns", "_table_indexes", "_index_column_usage",
+						""};
+	for (i = 0; g_strcmp0 (meta_tables[i],"") != 0; i++) {
+		gda_meta_context_set_table (ctx, meta_tables[i]);
+#ifdef CHECK_EXTRA_INFO
+		g_print ("Updating the meta store for table '%s'\n", meta_tables[i]);
+#endif
+		if (! gda_connection_update_meta_store (cnc, ctx, &gerror)) {
+#ifdef CHECK_EXTRA_INFO
+			g_warning ("Can't update meta store ( on table %s): %s\n",
+				   meta_tables[i], gerror && gerror->message ? gerror->message : "???");
+#endif
+			g_error_free (gerror);
+			number_failed++;
+			goto theend;
+		}
+	}
+	gda_meta_context_free (ctx);
+	
 	for (i = 0, list = tables; list; i++, list = list->next) {
 		GdaDataModel *model;
 		gchar *tmp;
@@ -280,7 +308,7 @@ prov_test_common_check_meta_identifiers (gboolean case_sensitive, gboolean updat
         operation = gda_server_provider_create_operation (provider, cnc,
 							  GDA_SERVER_OPERATION_DROP_TABLE, NULL, &error);
         g_assert (operation);
-        gda_server_operation_set_value_at (operation, table_name, NULL, "/TABLE_DESC_P/TABLE_NAME");
+        gda_server_operation_set_value_at_path (operation, table_name, "/TABLE_DESC_P/TABLE_NAME", NULL);
         gda_server_provider_perform_operation (provider, cnc, operation, NULL);
 	g_object_unref (operation);
 
@@ -396,9 +424,9 @@ prov_test_common_check_meta_identifiers (gboolean case_sensitive, gboolean updat
 	operation = gda_server_provider_create_operation (provider, cnc,
 							  GDA_SERVER_OPERATION_ADD_COLUMN, NULL, &error);
         g_assert (operation);
-        gda_server_operation_set_value_at (operation, table_name, NULL, "/COLUMN_DEF_P/TABLE_NAME");
-        gda_server_operation_set_value_at (operation, field_name, NULL, "/COLUMN_DEF_P/COLUMN_NAME");
-        gda_server_operation_set_value_at (operation, "int", NULL, "/COLUMN_DEF_P/COLUMN_TYPE");
+        gda_server_operation_set_value_at_path (operation, table_name, "/COLUMN_DEF_P/TABLE_NAME", NULL);
+        gda_server_operation_set_value_at (operation, field_name, "/COLUMN_DEF_P/COLUMN_NAME", NULL);
+        gda_server_operation_set_value_at (operation, "int", "/COLUMN_DEF_P/COLUMN_TYPE", NULL);
         if (! gda_server_provider_perform_operation (provider, cnc, operation, &error)) {
 #ifdef CHECK_EXTRA_INFO
                 g_warning ("perform_operation(ADD_COLUMN) failed: %s\n", error && error->message ? 



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