CHORE: Bugfixing

This commit is contained in:
2026-10-14 13:20:58 -04:00
parent 1654b86640
commit 0e7c2cafaa
7 changed files with 51 additions and 18 deletions
+15 -1
View File
@@ -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)