Code

store_lookup: Pass a data-object to parse_cmp().
[sysdb.git] / t / unit / utils / dbi_test.c
index b8a5ea988aee0ad710ba9909835baf1e5359f45a..2935940182f268bd36b68291e68bf30b8b8c6256 100644 (file)
@@ -146,22 +146,77 @@ static mock_query_t *current_query = NULL;
 
 /* dbi_driver, dbi_conn, dbi_result are void pointers */
 
+#if LIBDBI_VERSION < 900
+typedef void *dbi_inst;
+
+int
+dbi_initialize_r(const char *driverdir, dbi_inst *pInst);
+void
+dbi_shutdown_r(dbi_inst inst);
 dbi_driver
-dbi_driver_open(const char *name)
+dbi_driver_open_r(const char *name, dbi_inst inst);
+dbi_driver
+dbi_driver_list_r(dbi_driver curr, dbi_inst inst);
+#endif
+
+int
+dbi_initialize_r(const char __attribute__((unused)) *driverdir,
+               dbi_inst __attribute__((unused)) *pInst)
+{
+       return 0;
+} /* dbi_initialize_r */
+
+void
+dbi_shutdown_r(dbi_inst __attribute__((unused)) inst)
+{
+} /* dbi_shutdown_r */
+
+dbi_driver
+dbi_driver_open_r(const char *name, dbi_inst __attribute__((unused)) inst)
 {
        if (strcmp(name, "mockdriver"))
                return NULL;
-       return (dbi_driver)strdup(name);
+       return (dbi_driver)"mockdriver";
 } /* dbi_driver_open */
 
 dbi_driver
-dbi_driver_list(dbi_driver curr)
+dbi_driver_list_r(dbi_driver curr, dbi_inst __attribute__((unused)) inst)
 {
        if (!curr)
                return "mockdriver";
        return NULL;
 } /* dbi_driver_list */
 
+#if LIBDBI_VERSION < 900
+int
+dbi_initialize(const char *driverdir)
+{
+       return dbi_initialize_r(driverdir, NULL);
+} /* dbi_initialize */
+
+/* for some weird reason, gcc and clang complain about a missing prototype for
+ * dbi_shutdown; however, the function is declared in dbi/dbi.h */
+void
+dbi_shutdown(void);
+void
+dbi_shutdown(void)
+{
+       dbi_shutdown_r(NULL);
+} /* dbi_shutdown */
+
+dbi_driver
+dbi_driver_open(const char *name)
+{
+       return dbi_driver_open_r(name, NULL);
+} /* dbi_driver_open */
+
+dbi_driver
+dbi_driver_list(dbi_driver curr)
+{
+       return dbi_driver_list_r(curr, NULL);
+} /* dbi_driver_list */
+#endif
+
 const char *
 dbi_driver_get_name(dbi_driver driver)
 {
@@ -472,7 +527,7 @@ query_callback(sdb_dbi_client_t *c,
                        user_data, TEST_MAGIC);
 
        for (i = 0; i < n; ++i) {
-               int expected_type = DBI_TYPE_TO_SC(current_query->field_types[i]);
+               int expected_type = DBI_TYPE_TO_SDB(current_query->field_types[i]);
                mock_data_t expected_data;
 
                fail_unless((int)data[i].type == expected_type,