Changeset 3407

Show
Ignore:
Timestamp:
07/07/08 11:21:47 (3 months ago)
Author:
dgollub
Message:

Added osync_(group|member)_set_schemadir() when OPENSYNC_UNITTEST is
defined. To perform tests without having OpenSync? and the schema
installed. Loading member/plugin configuration required the scheam files
to validate the configurations.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/opensync/group/opensync_group.c

    r3173 r3407  
    2727#include "opensync_group_internals.h" 
    2828#include "opensync-db.h" 
     29 
     30#ifdef OPENSYNC_UNITTESTS 
     31#include "opensync_member_internals.h" 
     32#endif /* OPENSYNC_UNITTESTS */ 
    2933 
    3034#ifndef _WIN32 
     
    136140                if (!member) 
    137141                        goto error_close; 
     142 
     143#ifdef OPENSYNC_UNITTESTS 
     144                if (group->schemadir) 
     145                        osync_member_set_schemadir(member, group->schemadir); 
     146#endif /* OPENSYNC_UNITTESTS */ 
    138147                 
    139148                member_path = g_strdup_printf ("%s/%s", osync_group_get_configdir(group), de); 
     
    223232} 
    224233 
     234#ifdef OPENSYNC_UNITTESTS 
     235/** @brief Set the schemadir for configuration validation to a custom directory. 
     236 *  This is actually only inteded for UNITTESTS to run tests without  
     237 *  having OpenSync installed. 
     238 *  
     239 * @param group Pointer to group 
     240 * @param schemadir Custom schemadir path 
     241 *  
     242 */ 
     243void osync_group_set_schemadir(OSyncGroup *group, const char *schemadir) 
     244{ 
     245        osync_assert(group); 
     246        osync_assert(schemadir); 
     247 
     248        if (group->schemadir) 
     249                g_free(group->schemadir); 
     250 
     251        group->schemadir = g_strdup(schemadir);  
     252} 
     253#endif /* OPENSYNC_UNITTESTS */ 
     254 
    225255/*@}*/ 
    226256 
     
    301331                        g_free(group->configdir); 
    302332                         
     333#ifdef OPENSYNC_UNITTESTS 
     334                if (group->schemadir) 
     335                        g_free(group->schemadir); 
     336#endif /* OPENSYNC_UNITTESTS */ 
     337 
    303338                g_free(group); 
    304339        } 
  • trunk/opensync/group/opensync_group_internals.h

    r3172 r3407  
    4747        osync_bool converter_enabled; 
    4848         
     49#ifdef OPENSYNC_UNITTESTS 
     50        char *schemadir; 
     51#endif /* OPENSYNC_UNITTESTS*/   
    4952        int ref_count; 
    5053}; 
    5154 
     55 
     56#ifdef OPENSYNC_UNITTESTS 
     57void osync_group_set_schemadir(OSyncGroup *group, const char *schemadir); 
     58#endif /* OPENSYNC_UNITTESTS*/ 
     59 
    5260#endif /* _OPENSYNC_GROUP_INTERNALS_H_ */ 
  • trunk/opensync/group/opensync_member.c

    r3350 r3407  
    147147} 
    148148 
     149#ifdef OPENSYNC_UNITTESTS 
     150/** @brief Set the schemadir for configuration validation to a custom directory. 
     151 *  This is actually only inteded for UNITTESTS to run tests without  
     152 *  having OpenSync installed. 
     153 *  
     154 * @param member Pointer to member  
     155 * @param schemadir Custom schemadir path 
     156 *  
     157 */ 
     158void osync_member_set_schemadir(OSyncMember *member, const char *schemadir) 
     159{ 
     160        osync_assert(member); 
     161        osync_assert(schemadir); 
     162 
     163        if (member->schemadir) 
     164                g_free(member->schemadir); 
     165 
     166        member->schemadir = g_strdup(schemadir);  
     167} 
     168#endif /* OPENSYNC_UNITTESTS */ 
     169 
    149170/*@}*/ 
    150171 
     
    226247                osync_member_flush_objtypes(member); 
    227248 
     249#ifdef OPENSYNC_UNITTESTS 
     250                if (member->schemadir) 
     251                        g_free(member->schemadir); 
     252#endif /* OPENSYNC_UNITTESTS */ 
     253 
     254 
    228255                g_free(member); 
    229256        } 
     
    327354        char *filename = NULL; 
    328355        OSyncPluginConfig *config = NULL; 
     356        const char *schemadir = NULL; 
    329357         
    330358        osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, member, error); 
     
    349377        } 
    350378 
    351         if (!osync_plugin_config_file_load(config, filename, error)) 
     379#ifdef OPENSYNC_UNITTESTS 
     380        if (member->schemadir) 
     381                schemadir = member->schemadir; 
     382#endif 
     383 
     384        if (!osync_plugin_config_file_load(config, filename, schemadir, error)) 
    352385                goto error_free_config; 
    353386                 
     
    397430{ 
    398431        char *filename = NULL; 
     432        const char *schemadir = NULL; 
    399433         
    400434        osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, member, error); 
     
    418452                goto error; 
    419453 
    420         if (!osync_plugin_config_file_load(config, filename, error)) 
     454#ifdef OPENSYNC_UNITTESTS 
     455        if (member->schemadir) 
     456                schemadir = member->schemadir; 
     457#endif 
     458 
     459        if (!osync_plugin_config_file_load(config, filename, schemadir, error)) 
    421460                goto error_free_config; 
    422461 
  • trunk/opensync/group/opensync_member_internals.h

    r3350 r3407  
    4343        OSyncCapabilities *capabilities; 
    4444        OSyncMerger *merger; 
     45 
     46#ifdef OPENSYNC_UNITTESTS 
     47        char *schemadir; 
     48#endif /* OPENSYNC_UNITTESTS */ 
    4549}; 
    4650 
     51 
     52#ifdef OPENSYNC_UNITTESTS 
     53void osync_member_set_schemadir(OSyncMember *member, const char *schemadir); 
     54#endif /* OPENSYNC_UNITTESTS */ 
     55 
    4756#endif /* _OPENSYNC_MEMBER_INTERNALS_H_ */