From: Wilfried Göesgens Date: Sun, 13 Dec 2009 19:05:04 +0000 (+0000) Subject: * more testcoverage X-Git-Tag: v7.86~568 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=bae7571ac48fcc6ab9349dadd473d2c335c9fe9e;p=citadel.git * more testcoverage * found one input param check --- diff --git a/libcitadel/Makefile.in b/libcitadel/Makefile.in index 7e1fc5cca..b5b128920 100755 --- a/libcitadel/Makefile.in +++ b/libcitadel/Makefile.in @@ -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 diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index ea12a91ab..c41be76fc 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -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){ diff --git a/libcitadel/tests/Makefile.in b/libcitadel/tests/Makefile.in index 5b01bda73..db30bcad5 100644 --- a/libcitadel/tests/Makefile.in +++ b/libcitadel/tests/Makefile.in @@ -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) \ diff --git a/libcitadel/tests/stringbuf_test.c b/libcitadel/tests/stringbuf_test.c index 1c094f406..d98c00e7c 100644 --- a/libcitadel/tests/stringbuf_test.c +++ b/libcitadel/tests/stringbuf_test.c @@ -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);