CHORE: Bugfixing
This commit is contained in:
@@ -7,6 +7,9 @@ LLVM_PROFDATA := $(LLVM_DIR)/llvm-profdata
|
||||
LLVM_COV := $(LLVM_DIR)/llvm-cov
|
||||
CPPCHECK := cppcheck
|
||||
|
||||
# libstr is populated by CMake's FetchContent (run `cmake -B build` once)
|
||||
LIBSTR_DIR := build/_deps/libstr-src
|
||||
|
||||
# ==============================================================================
|
||||
# Flags & Directories
|
||||
# ==============================================================================
|
||||
@@ -35,6 +38,9 @@ SRCS := src/lib/int/int.c src/lib/utils/utils.c
|
||||
TEST_SRC := tests/test_learn.c
|
||||
FUZZ_SRC := tests/fuzz_char.c
|
||||
|
||||
STRING_SRCS := src/string.c src/utils.c $(LIBSTR_DIR)/src/string.c
|
||||
TEST_STRING_SRC := tests/test_string.c
|
||||
|
||||
BIN_DIR := tests/bin
|
||||
CACHE_DIR := tests/cache
|
||||
|
||||
@@ -42,11 +48,12 @@ TEST_BIN := $(BIN_DIR)/test_learn_runner
|
||||
TSAN_BIN := $(BIN_DIR)/test_tsan_runner
|
||||
FUZZ_BIN := $(BIN_DIR)/fuzz_char_runner
|
||||
COV_BIN := $(BIN_DIR)/test_cov_runner
|
||||
TEST_STRING_BIN := $(BIN_DIR)/test_string_runner
|
||||
|
||||
# ==============================================================================
|
||||
# Targets & Workflow Rules
|
||||
# ==============================================================================
|
||||
.PHONY: all test sanitize check check-sources analyze cppcheck fuzz cov-build cov clean
|
||||
.PHONY: all test test-string sanitize check check-sources analyze cppcheck fuzz cov-build cov clean
|
||||
|
||||
all: test
|
||||
|
||||
@@ -58,6 +65,9 @@ $(BIN_DIR) $(CACHE_DIR):
|
||||
$(TEST_BIN): $(SRCS) $(TEST_SRC) | $(BIN_DIR)
|
||||
$(CC) $(CFLAGS) $(SAN_FLAGS) $(INCLUDES) $^ -o $@
|
||||
|
||||
$(TEST_STRING_BIN): $(STRING_SRCS) $(TEST_STRING_SRC) | $(BIN_DIR)
|
||||
$(CC) $(CFLAGS) $(SAN_FLAGS) $(INCLUDES) -I$(LIBSTR_DIR)/include $^ -o $@
|
||||
|
||||
$(TSAN_BIN): $(SRCS) $(TEST_SRC) | $(BIN_DIR)
|
||||
$(CC) $(CFLAGS) -fsanitize=thread $(INCLUDES) $^ -o $@
|
||||
|
||||
@@ -70,6 +80,10 @@ test: $(TEST_BIN)
|
||||
@echo "=== Running Unit Tests (ASan + UBSan) ==="
|
||||
@$(ASAN_ENV) ./$(TEST_BIN)
|
||||
|
||||
test-string: $(TEST_STRING_BIN)
|
||||
@echo "=== Running vec_string Unit Tests (ASan + UBSan) ==="
|
||||
@$(ASAN_ENV) ./$(TEST_STRING_BIN)
|
||||
|
||||
sanitize: $(TEST_BIN) $(TSAN_BIN)
|
||||
@echo "\n=== [1/2] Running Address + UndefinedBehavior Sanitizers ==="
|
||||
@$(ASAN_ENV) ./$(TEST_BIN)
|
||||
|
||||
Reference in New Issue
Block a user