This commit is contained in:
2023-09-05 09:09:55 +02:00
parent 773c8549f3
commit 4451879e35
7 changed files with 90 additions and 55 deletions

View File

@@ -41,14 +41,14 @@ if HAVE_VALGRIND
VALGRIND_OPT = --tool=memcheck VALGRIND_OPT = --tool=memcheck
endif endif
test: $(bin_TESTS) test: valgrind
simple: $(bin_TESTS)
@for test in $(bin_TESTS); do \ @for test in $(bin_TESTS); do \
echo ====== Test $${test} ======; \ echo ====== Test $${test} ======; \
./$${test}; \ ./$${test}; \
echo ====== Done $${test} ======; \ echo ====== Done $${test} ======; \
done done
valgrind: $(bin_TESTS) valgrind: $(bin_TESTS)
@for test in $(bin_TESTS); do \ @for test in $(bin_TESTS); do \
echo ====== Test $${test} ======; \ echo ====== Test $${test} ======; \
@@ -56,8 +56,6 @@ valgrind: $(bin_TESTS)
echo ====== Done $${test} ======; \ echo ====== Done $${test} ======; \
done done
common_SOURCES = libcworker.la
bin_TESTS = \ bin_TESTS = \
cstring_test cstring_test
@@ -73,20 +71,21 @@ noinst_PROGRAMS = \
rcache_test \ rcache_test \
jblock_test \ jblock_test \
cdynarr_test \ cdynarr_test \
cstring_test cstring_test \
logger_test
#TESTS = $(bin_TESTS) #TESTS = $(bin_TESTS)
cflexer_test_SOURCES = cflexer_test.c $(common_SOURCES) cflexer_test_SOURCES = cflexer_test.c
cfparser_test_SOURCES = cfparser_test.c $(common_SOURCES) cfparser_test_SOURCES = cfparser_test.c
cllexer_test_SOURCES = cllexer_test.c $(common_SOURCES) cllexer_test_SOURCES = cllexer_test.c
clparser_test_SOURCES = clparser_test.c $(common_SOURCES) clparser_test_SOURCES = clparser_test.c
jlexer_test_SOURCES = jlexer_test.c $(common_SOURCES) jlexer_test_SOURCES = jlexer_test.c
jparser_test_SOURCES = jparser_test.c $(common_SOURCES) jparser_test_SOURCES = jparser_test.c
rcache_test_SOURCES = rcache_test.c $(common_SOURCES) rcache_test_SOURCES = rcache_test.c
jblock_test_SOURCES = jblock_test.c $(common_SOURCES) jblock_test_SOURCES = jblock_test.c
cdynarr_test_SOURCES = cdynarr_test.c $(common_SOURCES) cdynarr_test_SOURCES = cdynarr_test.c
cstring_test_SOURCES = cstring_test.c $(common_SOURCES) cstring_test_SOURCES = cstring_test.c
cflexer_test_LDADD = libcworker.la cflexer_test_LDADD = libcworker.la
cfparser_test_LDADD = libcworker.la cfparser_test_LDADD = libcworker.la
@@ -98,7 +97,7 @@ jparser_test_LDADD = libcworker.la
rcache_test_LDADD = libcworker.la rcache_test_LDADD = libcworker.la
cdynarr_test_LDADD = libcworker.la cdynarr_test_LDADD = libcworker.la
cstring_test_LDADD = libcworker.la cstring_test_LDADD = libcworker.la
logger_test_LDADD = libcworker.la
clean-local: clean-local:
rm -rf *~ rm -rf *~

View File

@@ -95,7 +95,8 @@ noinst_PROGRAMS = cfparser_test$(EXEEXT) clparser_test$(EXEEXT) \
cllexer_test$(EXEEXT) clparser_test$(EXEEXT) \ cllexer_test$(EXEEXT) clparser_test$(EXEEXT) \
jlexer_test$(EXEEXT) jparser_test$(EXEEXT) \ jlexer_test$(EXEEXT) jparser_test$(EXEEXT) \
rcache_test$(EXEEXT) jblock_test$(EXEEXT) \ rcache_test$(EXEEXT) jblock_test$(EXEEXT) \
cdynarr_test$(EXEEXT) cstring_test$(EXEEXT) cdynarr_test$(EXEEXT) cstring_test$(EXEEXT) \
logger_test$(EXEEXT)
subdir = clib subdir = clib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -121,35 +122,37 @@ AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent am__v_lt_0 = --silent
am__v_lt_1 = am__v_lt_1 =
am__objects_1 = am_cdynarr_test_OBJECTS = cdynarr_test.$(OBJEXT)
am_cdynarr_test_OBJECTS = cdynarr_test.$(OBJEXT) $(am__objects_1)
cdynarr_test_OBJECTS = $(am_cdynarr_test_OBJECTS) cdynarr_test_OBJECTS = $(am_cdynarr_test_OBJECTS)
cdynarr_test_DEPENDENCIES = libcworker.la cdynarr_test_DEPENDENCIES = libcworker.la
am_cflexer_test_OBJECTS = cflexer_test.$(OBJEXT) $(am__objects_1) am_cflexer_test_OBJECTS = cflexer_test.$(OBJEXT)
cflexer_test_OBJECTS = $(am_cflexer_test_OBJECTS) cflexer_test_OBJECTS = $(am_cflexer_test_OBJECTS)
cflexer_test_DEPENDENCIES = libcworker.la cflexer_test_DEPENDENCIES = libcworker.la
am_cfparser_test_OBJECTS = cfparser_test.$(OBJEXT) $(am__objects_1) am_cfparser_test_OBJECTS = cfparser_test.$(OBJEXT)
cfparser_test_OBJECTS = $(am_cfparser_test_OBJECTS) cfparser_test_OBJECTS = $(am_cfparser_test_OBJECTS)
cfparser_test_DEPENDENCIES = libcworker.la cfparser_test_DEPENDENCIES = libcworker.la
am_cllexer_test_OBJECTS = cllexer_test.$(OBJEXT) $(am__objects_1) am_cllexer_test_OBJECTS = cllexer_test.$(OBJEXT)
cllexer_test_OBJECTS = $(am_cllexer_test_OBJECTS) cllexer_test_OBJECTS = $(am_cllexer_test_OBJECTS)
cllexer_test_DEPENDENCIES = libcworker.la cllexer_test_DEPENDENCIES = libcworker.la
am_clparser_test_OBJECTS = clparser_test.$(OBJEXT) $(am__objects_1) am_clparser_test_OBJECTS = clparser_test.$(OBJEXT)
clparser_test_OBJECTS = $(am_clparser_test_OBJECTS) clparser_test_OBJECTS = $(am_clparser_test_OBJECTS)
clparser_test_DEPENDENCIES = libcworker.la clparser_test_DEPENDENCIES = libcworker.la
am_cstring_test_OBJECTS = cstring_test.$(OBJEXT) $(am__objects_1) am_cstring_test_OBJECTS = cstring_test.$(OBJEXT)
cstring_test_OBJECTS = $(am_cstring_test_OBJECTS) cstring_test_OBJECTS = $(am_cstring_test_OBJECTS)
cstring_test_DEPENDENCIES = libcworker.la cstring_test_DEPENDENCIES = libcworker.la
am_jblock_test_OBJECTS = jblock_test.$(OBJEXT) $(am__objects_1) am_jblock_test_OBJECTS = jblock_test.$(OBJEXT)
jblock_test_OBJECTS = $(am_jblock_test_OBJECTS) jblock_test_OBJECTS = $(am_jblock_test_OBJECTS)
jblock_test_DEPENDENCIES = libcworker.la jblock_test_DEPENDENCIES = libcworker.la
am_jlexer_test_OBJECTS = jlexer_test.$(OBJEXT) $(am__objects_1) am_jlexer_test_OBJECTS = jlexer_test.$(OBJEXT)
jlexer_test_OBJECTS = $(am_jlexer_test_OBJECTS) jlexer_test_OBJECTS = $(am_jlexer_test_OBJECTS)
jlexer_test_DEPENDENCIES = libcworker.la jlexer_test_DEPENDENCIES = libcworker.la
am_jparser_test_OBJECTS = jparser_test.$(OBJEXT) $(am__objects_1) am_jparser_test_OBJECTS = jparser_test.$(OBJEXT)
jparser_test_OBJECTS = $(am_jparser_test_OBJECTS) jparser_test_OBJECTS = $(am_jparser_test_OBJECTS)
jparser_test_DEPENDENCIES = libcworker.la jparser_test_DEPENDENCIES = libcworker.la
am_rcache_test_OBJECTS = rcache_test.$(OBJEXT) $(am__objects_1) logger_test_SOURCES = logger_test.c
logger_test_OBJECTS = logger_test.$(OBJEXT)
logger_test_DEPENDENCIES = libcworker.la
am_rcache_test_OBJECTS = rcache_test.$(OBJEXT)
rcache_test_OBJECTS = $(am_rcache_test_OBJECTS) rcache_test_OBJECTS = $(am_rcache_test_OBJECTS)
rcache_test_DEPENDENCIES = libcworker.la rcache_test_DEPENDENCIES = libcworker.la
AM_V_P = $(am__v_P_@AM_V@) AM_V_P = $(am__v_P_@AM_V@)
@@ -189,13 +192,13 @@ SOURCES = $(libcworker_la_SOURCES) $(cdynarr_test_SOURCES) \
$(cflexer_test_SOURCES) $(cfparser_test_SOURCES) \ $(cflexer_test_SOURCES) $(cfparser_test_SOURCES) \
$(cllexer_test_SOURCES) $(clparser_test_SOURCES) \ $(cllexer_test_SOURCES) $(clparser_test_SOURCES) \
$(cstring_test_SOURCES) $(jblock_test_SOURCES) \ $(cstring_test_SOURCES) $(jblock_test_SOURCES) \
$(jlexer_test_SOURCES) $(jparser_test_SOURCES) \ $(jlexer_test_SOURCES) $(jparser_test_SOURCES) logger_test.c \
$(rcache_test_SOURCES) $(rcache_test_SOURCES)
DIST_SOURCES = $(libcworker_la_SOURCES) $(cdynarr_test_SOURCES) \ DIST_SOURCES = $(libcworker_la_SOURCES) $(cdynarr_test_SOURCES) \
$(cflexer_test_SOURCES) $(cfparser_test_SOURCES) \ $(cflexer_test_SOURCES) $(cfparser_test_SOURCES) \
$(cllexer_test_SOURCES) $(clparser_test_SOURCES) \ $(cllexer_test_SOURCES) $(clparser_test_SOURCES) \
$(cstring_test_SOURCES) $(jblock_test_SOURCES) \ $(cstring_test_SOURCES) $(jblock_test_SOURCES) \
$(jlexer_test_SOURCES) $(jparser_test_SOURCES) \ $(jlexer_test_SOURCES) $(jparser_test_SOURCES) logger_test.c \
$(rcache_test_SOURCES) $(rcache_test_SOURCES)
am__can_run_installinfo = \ am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \ case $$AM_UPDATE_INFO_DIR in \
@@ -420,22 +423,21 @@ include_HEADERS = \
cstring.h cstring.h
@HAVE_VALGRIND_TRUE@VALGRIND_OPT = --tool=memcheck @HAVE_VALGRIND_TRUE@VALGRIND_OPT = --tool=memcheck
common_SOURCES = libcworker.la
bin_TESTS = \ bin_TESTS = \
cstring_test cstring_test
#TESTS = $(bin_TESTS) #TESTS = $(bin_TESTS)
cflexer_test_SOURCES = cflexer_test.c $(common_SOURCES) cflexer_test_SOURCES = cflexer_test.c
cfparser_test_SOURCES = cfparser_test.c $(common_SOURCES) cfparser_test_SOURCES = cfparser_test.c
cllexer_test_SOURCES = cllexer_test.c $(common_SOURCES) cllexer_test_SOURCES = cllexer_test.c
clparser_test_SOURCES = clparser_test.c $(common_SOURCES) clparser_test_SOURCES = clparser_test.c
jlexer_test_SOURCES = jlexer_test.c $(common_SOURCES) jlexer_test_SOURCES = jlexer_test.c
jparser_test_SOURCES = jparser_test.c $(common_SOURCES) jparser_test_SOURCES = jparser_test.c
rcache_test_SOURCES = rcache_test.c $(common_SOURCES) rcache_test_SOURCES = rcache_test.c
jblock_test_SOURCES = jblock_test.c $(common_SOURCES) jblock_test_SOURCES = jblock_test.c
cdynarr_test_SOURCES = cdynarr_test.c $(common_SOURCES) cdynarr_test_SOURCES = cdynarr_test.c
cstring_test_SOURCES = cstring_test.c $(common_SOURCES) cstring_test_SOURCES = cstring_test.c
cflexer_test_LDADD = libcworker.la cflexer_test_LDADD = libcworker.la
cfparser_test_LDADD = libcworker.la cfparser_test_LDADD = libcworker.la
cllexer_test_LDADD = libcworker.la cllexer_test_LDADD = libcworker.la
@@ -446,6 +448,7 @@ jparser_test_LDADD = libcworker.la
rcache_test_LDADD = libcworker.la rcache_test_LDADD = libcworker.la
cdynarr_test_LDADD = libcworker.la cdynarr_test_LDADD = libcworker.la
cstring_test_LDADD = libcworker.la cstring_test_LDADD = libcworker.la
logger_test_LDADD = libcworker.la
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
@@ -539,6 +542,10 @@ jparser_test$(EXEEXT): $(jparser_test_OBJECTS) $(jparser_test_DEPENDENCIES) $(EX
@rm -f jparser_test$(EXEEXT) @rm -f jparser_test$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(jparser_test_OBJECTS) $(jparser_test_LDADD) $(LIBS) $(AM_V_CCLD)$(LINK) $(jparser_test_OBJECTS) $(jparser_test_LDADD) $(LIBS)
logger_test$(EXEEXT): $(logger_test_OBJECTS) $(logger_test_DEPENDENCIES) $(EXTRA_logger_test_DEPENDENCIES)
@rm -f logger_test$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(logger_test_OBJECTS) $(logger_test_LDADD) $(LIBS)
rcache_test$(EXEEXT): $(rcache_test_OBJECTS) $(rcache_test_DEPENDENCIES) $(EXTRA_rcache_test_DEPENDENCIES) rcache_test$(EXEEXT): $(rcache_test_OBJECTS) $(rcache_test_DEPENDENCIES) $(EXTRA_rcache_test_DEPENDENCIES)
@rm -f rcache_test$(EXEEXT) @rm -f rcache_test$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(rcache_test_OBJECTS) $(rcache_test_LDADD) $(LIBS) $(AM_V_CCLD)$(LINK) $(rcache_test_OBJECTS) $(rcache_test_LDADD) $(LIBS)
@@ -796,7 +803,8 @@ uninstall-am: uninstall-includeHEADERS
.c.o: .c.o:
$(CC) -I. -pthread $(CPPFLAGS) $(CFLAGS) -c -o $@ $< $(CC) -I. -pthread $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
test: $(bin_TESTS) test: valgrind
simple: $(bin_TESTS)
@for test in $(bin_TESTS); do \ @for test in $(bin_TESTS); do \
echo ====== Test $${test} ======; \ echo ====== Test $${test} ======; \
./$${test}; \ ./$${test}; \

View File

@@ -12,6 +12,9 @@
void test01(void) { void test01(void) {
} }
int main(void) { int main(void) {

View File

@@ -1,4 +1,3 @@
/* /*
* *
* Copyright 2023 Oleg Borodin <borodin@unix7.org> * Copyright 2023 Oleg Borodin <borodin@unix7.org>
@@ -11,11 +10,11 @@
#include <cstring.h> #include <cstring.h>
#define INIT_CAPA 64 #define INIT_CAPA 1
/* String container */ /* String container */
void* cstring_init(cstring_t* str) { void* cstring_init(cstring_t* str) {
str->data = malloc(INIT_CAPA + 1); str->data = malloc((INIT_CAPA + 1)*sizeof(char));
if (str->data == NULL) return NULL; if (str->data == NULL) return NULL;
memset(str->data, '\0', INIT_CAPA + 1); memset(str->data, '\0', INIT_CAPA + 1);
str->capa = INIT_CAPA; str->capa = INIT_CAPA;
@@ -27,9 +26,9 @@ void* cstring_init(cstring_t* str) {
void* cstring_append(cstring_t* str, char* add) { void* cstring_append(cstring_t* str, char* add) {
size_t addsize = strlen(add); size_t addsize = strlen(add);
size_t newsize = str->size + addsize; size_t newsize = str->size + addsize;
if (newsize >= str->capa) { if (newsize > str->capa) {
size_t newcapa = newsize + 1; size_t newcapa = str->capa + addsize;
char* newstr = realloc(str->data, newcapa); char* newstr = realloc(str->data, (newcapa + 1)*sizeof(char));
if (newstr == NULL) return NULL; if (newstr == NULL) return NULL;
str->data = newstr; str->data = newstr;
str->capa = newcapa; str->capa = newcapa;

View File

@@ -16,19 +16,19 @@ void test01(void) {
cstring_t str; cstring_t str;
cstring_init(&str); cstring_init(&str);
cstring_append(&str, "qwerty"); cstring_append(&str, "qwerty");
cstring_append(&str, "123456"); cstring_append(&str, "123456\n");
cstring_append(&str, "qwerty"); cstring_append(&str, "qwerty");
cstring_append(&str, "123456"); cstring_append(&str, "123456\n");
cstring_append(&str, "qwerty"); cstring_append(&str, "qwerty");
cstring_append(&str, "123456"); cstring_append(&str, "123456\n");
cstring_append(&str, "qwerty"); cstring_append(&str, "qwerty");
cstring_append(&str, "123456"); cstring_append(&str, "123456\n");
cstring_append(&str, "qwerty"); cstring_append(&str, "qwerty");
cstring_append(&str, "123456"); cstring_append(&str, "123456\n");
printf("%s\n", cstring_getref(&str)); printf("%s\n", cstring_getref(&str));

View File

@@ -6,6 +6,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdint.h>
#include <time.h> #include <time.h>
#include <stdarg.h> #include <stdarg.h>
#include <pthread.h> #include <pthread.h>
@@ -42,9 +43,9 @@ void static set_timestamp(char* buffer) {
clock_gettime(CLOCK_SOURCE, &tv); clock_gettime(CLOCK_SOURCE, &tv);
memset(buffer, '\0', MAX_TS_LEN); memset(buffer, '\0', MAX_TS_LEN);
sprintf(buffer, "%04d-%02d-%02dT%02d:%02d:%02d.%ld+%s", sprintf(buffer, "%04d-%02d-%02dT%02d:%02d:%02d.%03ld+%s",
ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour,
ptm->tm_min, ptm->tm_sec, tv.tv_nsec, ptm->tm_zone); ptm->tm_min, ptm->tm_sec, tv.tv_nsec/(int64_t)1000000, ptm->tm_zone);
} }
void log_error(const char* format, ...) { void log_error(const char* format, ...) {

25
clib/logger_test.c Normal file
View File

@@ -0,0 +1,25 @@
/*
* Copyright 2022 Oleg Borodin <borodin@unix7.org>
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <massert.h>
#include <logger.h>
void test01(void) {
log_init();
log_debug("qwerty");
log_debug("qwerty: %s", "12345");
log_debug("qwerty: %d", 12345);
log_destroy();
}
int main(void) {
test01();
return 0;
}