Skip to content

Commit de2c815

Browse files
committed
Attempt to fix gcov and codecov integration
1 parent 9cf3d7a commit de2c815

File tree

2 files changed

+14
-22
lines changed

2 files changed

+14
-22
lines changed

.travis.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ script:
1414
- set -e
1515
- export CXX="g++-4.8" CC="gcc-4.8"
1616
- pushd $TRAVIS_BUILD_DIR/tests/host
17-
- make
18-
- bash <(curl -s https://codecov.io/bash)
17+
- make test gcov
18+
- bash <(curl -s https://codecov.io/bash) -X gcov
19+
- make clean
1920
- popd
2021
- wget -O arduino.tar.xz https://www.arduino.cc/download.php?f=/arduino-nightly-linux64.tar.xz
2122
- tar xf arduino.tar.xz

tests/host/Makefile

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ OUTPUT_BINARY := $(BINARY_DIRECTORY)/host_tests
44
CORE_PATH := ../../cores/esp8266
55

66
# I wasn't able to build with clang when -coverage flag is enabled, forcing GCC on OS X
7-
ifeq ($(UNAME_S),Darwin)
7+
ifeq ($(shell uname -s),Darwin)
88
CC := gcc
99
CXX := g++
1010
endif
@@ -49,43 +49,34 @@ remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-ou
4949

5050
C_SOURCE_FILES = $(CORE_C_FILES)
5151
CPP_SOURCE_FILES = $(MOCK_CPP_FILES) $(CORE_CPP_FILES) $(TEST_CPP_FILES)
52-
C_SOURCE_FILE_NAMES = $(notdir $(C_SOURCE_FILES))
53-
C_PATHS = $(call remduplicates, $(dir $(C_SOURCE_FILES) ) )
54-
C_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(C_SOURCE_FILE_NAMES:.c=.c.o) )
52+
C_OBJECTS = $(C_SOURCE_FILES:.c=.c.o)
5553

56-
CPP_SOURCE_FILE_NAMES = $(notdir $(CPP_SOURCE_FILES))
57-
CPP_PATHS = $(call remduplicates, $(dir $(CPP_SOURCE_FILES) ))
58-
CPP_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(CPP_SOURCE_FILE_NAMES:.cpp=.cpp.o) )
59-
60-
vpath %.c $(C_PATHS)
61-
vpath %.cpp $(CPP_PATHS)
54+
CPP_OBJECTS = $(CPP_SOURCE_FILES:.cpp=.cpp.o)
6255

6356
OBJECTS = $(C_OBJECTS) $(CPP_OBJECTS)
57+
COVERAGE_FILES = $(OBJECTS:.o=.gc*)
6458

6559
all: $(OUTPUT_BINARY) test
6660

6761
test: $(OUTPUT_BINARY)
6862
$(OUTPUT_BINARY)
6963

7064
clean:
71-
rm -rf $(OBJECT_DIRECTORY)
7265
rm -rf $(BINARY_DIRECTORY)
66+
rm -rf $(OBJECTS)
67+
rm -rf $(COVERAGE_FILES) *.gcov
7368

74-
$(OBJECT_DIRECTORY):
75-
which gcc
76-
echo $(CC)
77-
echo $(CXX)
78-
$(CC) -v
79-
mkdir -p $@
69+
gcov: test
70+
find $(CORE_PATH) -name "*.gcno" -exec gcov -r -pb {} +
8071

8172
$(BINARY_DIRECTORY):
8273
mkdir -p $@
8374

84-
$(C_OBJECTS): $(OBJECT_DIRECTORY)/%.c.o: %.c
75+
$(C_OBJECTS): %.c.o: %.c
8576
$(CC) $(CFLAGS) $(INC_PATHS) -c -o $@ $<
8677

87-
$(CPP_OBJECTS): $(OBJECT_DIRECTORY)/%.cpp.o: %.cpp
78+
$(CPP_OBJECTS): %.cpp.o: %.cpp
8879
$(CXX) $(CXXFLAGS) $(INC_PATHS) -c -o $@ $<
8980

90-
$(OUTPUT_BINARY): $(BINARY_DIRECTORY) $(OBJECT_DIRECTORY) $(OBJECTS)
81+
$(OUTPUT_BINARY): $(BINARY_DIRECTORY) $(OBJECTS)
9182
$(CXX) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(OUTPUT_BINARY)

0 commit comments

Comments
 (0)