list testcase added

This commit is contained in:
Dominik Maier
2020-04-01 18:19:43 +02:00
parent 4aec6dabde
commit b5c5496b2f
5 changed files with 22 additions and 15 deletions

2
.gitignore vendored
View File

@ -47,3 +47,5 @@ unicorn_mode/samples/*/\.test-*
unicorn_mode/samples/*/output/ unicorn_mode/samples/*/output/
core\.* core\.*
test/unittests/unit_maybe_alloc test/unittests/unit_maybe_alloc
test/unittests/unit_preallocable
test/unittests/unit_list

View File

@ -64,8 +64,8 @@ ifneq "$(shell uname -m)" "x86_64"
endif endif
endif endif
CFLAGS ?= -O3 -funroll-loops $(CFLAGS_OPT) CFLAGS ?= -O2 -funroll-loops $(CFLAGS_OPT) -D_FORTIFY_SOURCE=2
override CFLAGS += -Wall -g -Wno-pointer-sign -D_FORTIFY_SOURCE=2 \ override CFLAGS += -Wall -g -Wno-pointer-sign \
-I include/ -Werror -DAFL_PATH=\"$(HELPER_PATH)\" \ -I include/ -Werror -DAFL_PATH=\"$(HELPER_PATH)\" \
-DBIN_PATH=\"$(BIN_PATH)\" -DDOC_PATH=\"$(DOC_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" -DDOC_PATH=\"$(DOC_PATH)\"
@ -151,10 +151,13 @@ ifdef STATIC
LDFLAGS += -lm -lpthread -lz -lutil LDFLAGS += -lm -lpthread -lz -lutil
endif endif
ASAN_CFLAGS=-fsanitize=address -fstack-protector-all
ASAN_LDFLAGS+=-fsanitize=address -fstack-protector-all
ifdef ASAN_BUILD ifdef ASAN_BUILD
$(info Compiling ASAN version of binaries) $(info Compiling ASAN version of binaries)
CFLAGS+=-fsanitize=address -fstack-protector-all CFLAGS+="$ASAN_CFLAGS"
LDFLAGS+=-fsanitize=address -fstack-protector-all LDFLAGS+="$ASAN_LDFLAGS"
endif endif
ifdef PROFILING ifdef PROFILING
@ -313,27 +316,27 @@ document: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/
$(CC) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS) $(CC) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS)
test/unittests/unit_maybe_alloc.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_maybe_alloc.c $(AFL_FUZZ_FILES) test/unittests/unit_maybe_alloc.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_maybe_alloc.c $(AFL_FUZZ_FILES)
$(CC) $(CFLAGS) -c test/unittests/unit_maybe_alloc.c -o test/unittests/unit_maybe_alloc.o $(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_maybe_alloc.c -o test/unittests/unit_maybe_alloc.o
test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES) test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES)
$(CC) $(CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o $(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o
unit_maybe_alloc: test/unittests/unit_maybe_alloc.o unit_maybe_alloc: test/unittests/unit_maybe_alloc.o
$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_maybe_alloc.o -o test/unittests/unit_maybe_alloc $(LDFLAGS) -lcmocka $(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_maybe_alloc.o -o test/unittests/unit_maybe_alloc $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_maybe_alloc ./test/unittests/unit_maybe_alloc
test/unittests/unit_list.o : $(COMM_HDR) include/list.h test/unittests/unit_list.c $(AFL_FUZZ_FILES) test/unittests/unit_list.o : $(COMM_HDR) include/list.h test/unittests/unit_list.c $(AFL_FUZZ_FILES)
$(CC) $(CFLAGS) -c test/unittests/unit_list.c -o test/unittests/unit_list.o $(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_list.c -o test/unittests/unit_list.o
unit_list: test/unittests/unit_list.o unit_list: test/unittests/unit_list.o
$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_list.o -o test/unittests/unit_list $(LDFLAGS) -lcmocka $(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_list.o -o test/unittests/unit_list $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_list ./test/unittests/unit_list
test/unittests/preallocable.o : $(COMM_HDR) include/afl-prealloc.h test/unittests/preallocable.c $(AFL_FUZZ_FILES) test/unittests/preallocable.o : $(COMM_HDR) include/afl-prealloc.h test/unittests/preallocable.c $(AFL_FUZZ_FILES)
$(CC) $(CFLAGS) $(CFLAGS_FLTO) -c test/unittests/preallocable.c -o test/unittests/preallocable.o $(CC) $(CFLAGS) $(ASAN_CFLAGS) $(CFLAGS_FLTO) -c test/unittests/preallocable.c -o test/unittests/preallocable.o
unit_preallocable: test/unittests/unit_preallocable.o unit_preallocable: test/unittests/unit_preallocable.o
$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_preallocable.o -o test/unittests/unit_preallocable $(LDFLAGS) -lcmocka $(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_preallocable.o -o test/unittests/unit_preallocable $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
./test/unittests/unit_preallocable ./test/unittests/unit_preallocable
unit: unit_maybe_alloc unit_preallocable unit_list unit: unit_maybe_alloc unit_preallocable unit_list
@ -472,4 +475,3 @@ install: all $(MANPAGES)
install -m 644 docs/*.md $${DESTDIR}$(DOC_PATH) install -m 644 docs/*.md $${DESTDIR}$(DOC_PATH)
cp -r testcases/ $${DESTDIR}$(MISC_PATH) cp -r testcases/ $${DESTDIR}$(MISC_PATH)
cp -r dictionaries/ $${DESTDIR}$(MISC_PATH) cp -r dictionaries/ $${DESTDIR}$(MISC_PATH)

View File

@ -56,7 +56,8 @@ typedef struct list {
static inline element_t *get_head(list_t *list) { static inline element_t *get_head(list_t *list) {
return &list->element_prealloc_buf[0]; /* The first element is the head */
return list->element_prealloc_buf;
} }

View File

@ -93,7 +93,7 @@ static void test_long_list(void **state) {
list_remove(&testlist, &vals[50]); list_remove(&testlist, &vals[50]);
LIST_FOREACH(&testlist, u32, { LIST_FOREACH(&testlist, u32, {
printf("var: %d\n", *el); // printf("var: %d\n", *el);
result2 += *el; result2 += *el;
}); });
assert_int_not_equal(result1, result2); assert_int_not_equal(result1, result2);

View File

@ -75,7 +75,7 @@ static void test_zero_size() {
char *buf = NULL; char *buf = NULL;
size_t size = 0; size_t size = 0;
//assert_non_null(maybe_grow(BUF_PARAMS, 0)); assert_non_null(maybe_grow(BUF_PARAMS, 0));
free(buf); free(buf);
buf = NULL; buf = NULL;
size = 0; size = 0;
@ -87,6 +87,8 @@ static void test_zero_size() {
expect_assert_failure(ck_maybe_grow(BUF_PARAMS, 0)); expect_assert_failure(ck_maybe_grow(BUF_PARAMS, 0));
ck_free(ptr);
} }
static void test_unchanged_size(void **state) { static void test_unchanged_size(void **state) {