* more testcoverage
authorWilfried Göesgens <willi@citadel.org>
Sun, 13 Dec 2009 19:05:04 +0000 (19:05 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sun, 13 Dec 2009 19:05:04 +0000 (19:05 +0000)
* found one input param check

libcitadel/Makefile.in
libcitadel/lib/stringbuf.c
libcitadel/tests/Makefile.in
libcitadel/tests/stringbuf_test.c

index 7e1fc5cca8f12d12282ff700eed56f423adf5754..b5b128920205272fd6815a2acac432fe979f5978 100755 (executable)
@@ -57,7 +57,7 @@ install-pkgconfigDATA: $(pkgconfig_DATA)
 
 
 clean:
-       cd lib && rm -f $(LIBRARY) *.o *.lo && rm -rf .libs _libs xdgmime/*.o xdgmime/*.lo xdgmime/.libs
+       cd lib && rm -f $(LIBRARY) *.o *.lo *.gcda *.gcov *.gcno && rm -rf .libs _libs xdgmime/*.o xdgmime/*.lo xdgmime/.libs
        rm -rf .libs libcitadel.la
 
 clobber: clean
index ea12a91abddb82febfe78aa42b1ce472a4868332..c41be76fcdd2d4482827ac8da341b89168019001 100644 (file)
@@ -521,7 +521,7 @@ char *SmashStrBuf (StrBuf **SmashMe)
 {
        char *Ret;
 
-       if (*SmashMe == NULL)
+       if ((SmashMe == NULL) || (*SmashMe == NULL))
                return NULL;
 #ifdef SIZE_DEBUG
        if (hFreeDbglog == -1){
index 5b01bda73621b36c54b6cc662ce651e9f0507ab6..db30bcad58d12c047dad3c53a853188357b69257 100644 (file)
@@ -23,7 +23,7 @@ all: $(TARGETS)
 .SUFFIXES: .cpp .c .o
 
 clean:
-       rm -f *.o 
+       rm -f *.o *.gcda *.gcov *.gcno $(TARGETS)
 
 distclean: clean
        rm -f Makefile config.cache config.log config.status \
@@ -40,7 +40,7 @@ stringbuf_IO_test:    $(LIBOBJS) stringbuf_IO_test.o
        $(CC) $(LDFLAGS) $(LIBOBJS) $(LIBS) \
        stringbuf_IO_test.o \
        ../.libs/libcitadel.a \
-       -o stringbuf_io_test
+       -o stringbuf_IO_test
 
 stringbuf_conversion_test:     $(LIBOBJS) stringbuf_conversion.o 
        $(CC) $(LDFLAGS) $(LIBOBJS) $(LIBS) \
index 1c094f406f6d7e39f568b07468e65d9438c62cf7..d98c00e7cfc69b46fc2ca675e8243ba8e1e7af9a 100644 (file)
@@ -38,11 +38,28 @@ static void TestCreateBuf(void)
        StrBuf *Buf2;
        long len;
        long i;
+       char *ch;
 
        Buf = NewStrBuf();
        CU_ASSERT(Buf != NULL);
        FreeStrBuf(&Buf);
 
+       Buf = NewStrBufPlain(ChrPtr(NULL), StrLength(NULL));
+       CU_ASSERT(Buf != NULL);
+       FreeStrBuf(&Buf);
+
+
+       Buf = NewStrBufDup(NULL);
+       CU_ASSERT(Buf != NULL);
+       StrBufPlain(Buf, "abc", -1);
+       TestRevalidateStrBuf(Buf);
+       StrBufPlain(Buf, HKEY("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"));
+       TestRevalidateStrBuf(Buf);
+       FreeStrBuf(&Buf);
+
+       FlushStrBuf(NULL);
+       FLUSHStrBuf(NULL);
+
        CU_ASSERT(Buf == NULL);
        Buf = NewStrBufPlain(HKEY("ABC"));
        TestRevalidateStrBuf(Buf);
@@ -57,6 +74,10 @@ static void TestCreateBuf(void)
                CU_ASSERT(StrLength(Buf) == len);
        }       
        StrBufShrinkToFit(Buf, 1);
+       FlushStrBuf(Buf);
+       CU_ASSERT(StrLength(Buf) == 0);
+       ReAdjustEmptyBuf(Buf, 1, 1);
+       TestRevalidateStrBuf(Buf);
        FreeStrBuf(&Buf);
        CU_ASSERT(Buf == NULL);
        
@@ -87,15 +108,31 @@ static void TestCreateBuf(void)
        CU_ASSERT(StrLength(Buf) == 0);
 
        FreeStrBuf(&Buf);
-       FreeStrBuf(&Buf2);
+       HFreeStrBuf(Buf2);
        CU_ASSERT(Buf == NULL);
-       CU_ASSERT(Buf2 == NULL);
+       CU_ASSERT(Buf2 != NULL);
 
 
+       Buf2 = NewStrBuf();
        Buf = NewStrBufPlain(HKEY("123456"));
-///    CU_ASSERT(StrBufIsNumber(Buf) == 1); Todo: this is buggy.
-       FreeStrBuf(&Buf);
-       
+       CU_ASSERT(StrBufIsNumber(Buf) == 1); ///Todo: this is buggy.
+       CU_ASSERT(StrBufIsNumber(NULL) == 0);
+       CU_ASSERT(StrBufIsNumber(Buf2) == 0);
+
+       CU_ASSERT(StrTol(Buf) == 123456);
+       CU_ASSERT(StrTol(NULL) == 0);
+       CU_ASSERT(StrTol(Buf2) == 0);
+
+       CU_ASSERT(StrToi(Buf) == 123456);
+       CU_ASSERT(StrToi(NULL) == 0);
+       CU_ASSERT(StrToi(Buf2) == 0);
+       ch = SmashStrBuf(NULL);
+       CU_ASSERT(ch == NULL);
+       i = StrLength(Buf);
+       ch = SmashStrBuf(&Buf);
+       CU_ASSERT(strlen(ch) == i);
+       free(ch);
+       FreeStrBuf(&Buf2);
 }
 
 static void NextTokenizerIterateBuf(StrBuf *Buf, int NTokens)
@@ -292,7 +329,8 @@ static void TestNextLine_LongLine(void)
 
 static void TestStrBufRemove_token_NotThere(void)
 {
-       StrBuf *Test = NewStrBufPlain(HKEY(" 127.0.0.1"));
+//     StrBuf *Test = NewStrBufPlain(HKEY(" 127.0.0.1"));
+       StrBuf *Test = NewStrBufPlain(HKEY(" 10.122.44.30, 10.122.44.30"));
        StrBufRemove_token(Test, 0, ',');
        TestRevalidateStrBuf(Test);
        FreeStrBuf(&Test);