mirror of
https://github.com/ThrowTheSwitch/Unity.git
synced 2025-06-26 03:17:59 +08:00
Create coverage target in Makefile to output statement coverage with gcov
This commit is contained in:
@ -1,4 +1,7 @@
|
||||
CC = gcc
|
||||
ifeq ($(shell uname -s), Darwin)
|
||||
CC = clang
|
||||
endif
|
||||
#DEBUG = -O0 -g
|
||||
CFLAGS += -std=c99
|
||||
CFLAGS += -pedantic
|
||||
@ -15,21 +18,22 @@ SRC = ../src/unity_fixture.c \
|
||||
main/AllTests.c
|
||||
|
||||
INC_DIR = -I../src -I../../../src/
|
||||
BUILD_DIR = ../build
|
||||
TARGET = ../build/fixture_tests.exe
|
||||
|
||||
all: default noStdlibMalloc 32bits
|
||||
|
||||
default: ../build/
|
||||
$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET)
|
||||
default: $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -D UNITY_SUPPORT_64
|
||||
@ echo "default build"
|
||||
./$(TARGET)
|
||||
|
||||
32bits: ../build/
|
||||
32bits: $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32
|
||||
@ echo "32bits build"
|
||||
./$(TARGET)
|
||||
|
||||
noStdlibMalloc: ../build/
|
||||
noStdlibMalloc: $(BUILD_DIR)
|
||||
$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -D UNITY_EXCLUDE_STDLIB_MALLOC
|
||||
@ echo "build with noStdlibMalloc"
|
||||
./$(TARGET)
|
||||
@ -40,13 +44,22 @@ clang89: ../build/
|
||||
-D UNITY_EXCLUDE_STDLIB_MALLOC -std=c89 -Wno-comment ; ./$(TARGET)
|
||||
|
||||
clangEverything:
|
||||
clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m64 -Weverything
|
||||
clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -Weverything
|
||||
|
||||
../build :
|
||||
mkdir -p ../build
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
rm -f $(TARGET) $(BUILD_DIR)/*.gc*
|
||||
|
||||
coverage: $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) && \
|
||||
$(CC) $(DEFINES) $(foreach i, $(SRC), ../test/$(i)) $(INC_DIR) -o $(TARGET) -fprofile-arcs -ftest-coverage
|
||||
rm -f $(BUILD_DIR)/*.gcda
|
||||
./$(TARGET) > /dev/null ; ./$(TARGET) -v > /dev/null
|
||||
cd $(BUILD_DIR) && \
|
||||
gcov unity_fixture.c | head -3
|
||||
grep '###' $(BUILD_DIR)/unity_fixture.c.gcov -C2 || true # Show uncovered lines
|
||||
|
||||
# These extended flags DO get included before any target build runs
|
||||
CFLAGS += -Wbad-function-cast
|
||||
|
Reference in New Issue
Block a user