Browse Source

seperated tests target into seperate targets for running tests and coverage

master
T. Meissner 10 years ago
parent
commit
7db34e79ce
2 changed files with 49 additions and 37 deletions
  1. +25
    -18
      tdd_for_embedded_c/chapter02/Makefile
  2. +24
    -19
      tdd_for_embedded_c/chapter03/Makefile

+ 25
- 18
tdd_for_embedded_c/chapter02/Makefile View File

@ -6,18 +6,18 @@
#We try to detect the OS we are running on, and adjust commands as needed
ifeq ($(OS),Windows_NT)
CLEANUP = del /F /Q
MKDIR = mkdir
TARGET_EXTENSION=.exe
CLEANUP := del /F /Q
MKDIR := mkdir
TARGET_EXTENSION := .exe
else
CLEANUP = rm -rf
MKDIR = mkdir -p
TARGET_EXTENSION=
CLEANUP := rm -rf
MKDIR := mkdir -p
TARGET_EXTENSION :=
endif
UNITY_ROOT=../../../../../Git/Unity
C_COMPILER=gcc
UNITY_ROOT := ../../../../Unity
C_COMPILER := gcc
CFLAGS = -std=c11
CFLAGS += -Wall
@ -40,33 +40,40 @@ CFLAGS += -g
CFLAGS += -ftest-coverage
CFLAGS += -fprofile-arcs
TARGET_BASE=test_sprintf
TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
SRC_FILES=\
TARGET_BASE := test_sprintf
TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
SRC_FILES = \
$(UNITY_ROOT)/extras/fixture/src/unity_fixture.c \
$(UNITY_ROOT)/src/unity.c \
../test/SprintfTest.c \
../test/SprintfTestRunner.c \
../test/AllTests.c
INC_DIRS=-I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
SYMBOLS=
INC_DIRS = -I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
SYMBOLS =
all: clean tests
all: clean tests cover
.PHONY: tests
tests: build/$(TARGET)
build/$(TARGET): test/*.c
@$(MKDIR) build
@$(MKDIR) build/cover
@echo "Compiling"; cd build; $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES) -o $(TARGET)
.PHONY: tests
tests: build/$(TARGET)
@echo "Running tests"; ./build/$(TARGET)
.PHONY: cover
cover: tests
@echo "Preparing coverage"; cp build/*.gc* test/
@echo "Running coverage"; cd test; gcovr -r . -b -p --html --html-details -o ../build/cover/$(TARGET).html
@echo "Running coverage"; cd test; gcovr -r . -b -p --html --html-details -o ../build/cover/test.html
@echo "Clearing intermediate files"; rm test/*.gc* build/*.gc*
.PHONY: clean
clean:
@echo "Cleaning $<"; $(CLEANUP) build/$(TARGET) build/cover/*
@echo "Cleaning $<"; $(CLEANUP) build

+ 24
- 19
tdd_for_embedded_c/chapter03/Makefile View File

@ -6,18 +6,18 @@
#We try to detect the OS we are running on, and adjust commands as needed
ifeq ($(OS),Windows_NT)
CLEANUP = del /F /Q
MKDIR = mkdir
TARGET_EXTENSION=.exe
CLEANUP := del /F /Q
MKDIR := mkdir
TARGET_EXTENSION := .exe
else
CLEANUP = rm -rf
MKDIR = mkdir -p
TARGET_EXTENSION=
CLEANUP := rm -rf
MKDIR := mkdir -p
TARGET_EXTENSION :=
endif
UNITY_ROOT=../../../../../Git/Unity
C_COMPILER=gcc
UNITY_ROOT := ../../../../Unity
C_COMPILER := gcc
CFLAGS = -std=c11
CFLAGS += -Wall
@ -40,9 +40,10 @@ CFLAGS += -g
CFLAGS += -ftest-coverage
CFLAGS += -fprofile-arcs
TARGET_BASE=test_leddriver
TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
SRC_FILES=\
TARGET_BASE := test_leddriver
TARGET = $(TARGET_BASE)$(TARGET_EXTENSION)
SRC_FILES = \
$(UNITY_ROOT)/extras/fixture/src/unity_fixture.c \
$(UNITY_ROOT)/src/unity.c \
../test/LedDriverTest.c \
@ -50,19 +51,24 @@ SRC_FILES=\
../test/AllTests.c \
../src/LedDriver.c
INC_DIRS=-I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
SYMBOLS=
INC_DIRS = -I$(UNITY_ROOT)/src -I$(UNITY_ROOT)/extras/fixture/src
SYMBOLS =
all: clean tests
all: clean tests cover
.PHONY: tests
tests: build/$(TARGET)
build/$(TARGET): test/*.c src/*.h src/*.c
@$(MKDIR) build
@$(MKDIR) build/cover
@echo "Compiling"; cd build; $(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $(SRC_FILES) -o $(TARGET)
.PHONY: tests
tests: build/$(TARGET)
@echo "Running tests"; ./build/$(TARGET)
.PHONY: cover
cover: tests
@echo "Preparing coverage"; cp build/LedDriver.gc* src/
@echo "Running coverage"; cd src; gcovr -r . -b -p --html --html-details -o ../build/cover/test.html
@echo "Clearing intermediate files"; rm src/*.gc* build/*.gc*
@ -70,5 +76,4 @@ build/$(TARGET): test/*.c src/*.h src/*.c
.PHONY: clean
clean:
@echo "Cleaning $<"; $(CLEANUP) build/$(TARGET) build/*.* build/cover/*
@echo "Cleaning $<"; $(CLEANUP) build

Loading…
Cancel
Save