/* test_cfg.c - simple test for the cfg module This file is part of the nss-ldapd library. Copyright (C) 2007 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include /* we include cfg.c because we want to test the static methods */ #include "nslcd/cfg.c" #ifndef __ASSERT_FUNCTION #define __ASSERT_FUNCTION "" #endif /* not __ASSERT_FUNCTION */ #define assertstreq(str1,str2) \ (assertstreq_impl(str1,str2,"strcmp(" __STRING(str1) "," __STRING(str2) ")==0", \ __FILE__, __LINE__, __ASSERT_FUNCTION)) /* for Solaris: */ #define __assert_fail(assertion,file,line,function) __assert(assertion,file,line) /* method for determening string equalness */ static void assertstreq_impl(const char *str1,const char *str2, const char *assertion,const char *file, int line,const char *function) { if (strcmp(str1,str2)!=0) __assert_fail(assertion,file,line,function); } static void test_xstrdup(void) { static const char *foo="testString123"; char *bar; bar=xstrdup(foo); /* we should have a new value */ assert(bar!=NULL); /* the contents should be the same */ assertstreq(foo,bar); /* but the pointer should be different */ assert(foo!=bar); /* free memory */ free(bar); } static void test_add_uris(void) { static struct ldap_config cfg; int i; /* set up config */ cfg_defaults(&cfg); assert(cfg.ldc_uris[0].uri==NULL); /* add a uri */ add_uri(__FILE__,__LINE__,&cfg,"ldap://localhost"); assert(cfg.ldc_uris[0].uri!=NULL); assert(cfg.ldc_uris[1].uri==NULL); /* add some more uris */ for (i=1;i