adds valgrind support for amd64 architectures

pull/2/head
nosamad 5 years ago
parent 7d1632df25
commit 2f8d2a8724

@ -12,9 +12,9 @@ env:
global:
- PARALLELMFLAGS="-j2"
matrix:
- MARCH=amd64
- MARCH=arm32v7
- MARCH=amd64 CHECK_TARGET=memcheck
- MARCH=arm32v7 CHECK_TARGET=check
before_script:
- make MARCH=$MARCH
script:
- make check MARCH=$MARCH
- make MARCH=$MARCH $CHECK_TARGET

@ -184,6 +184,8 @@ endif(NOT WITHOUT_EXAMPLE)
if(NOT WITHOUT_TESTS)
include (CTest)
pkg_check_modules(GTEST gtest_main)
include(GoogleTest)

@ -64,6 +64,8 @@ $(MARCH_ARM32V7)MARCHS += arm32v7
$(MARCH_ARM32V7)TARGETS += arm32v7-ubuntu-builder
$(OUT)/arm32v7-ubuntu-builder/rules.mk: TARGET := arm32v7-ubuntu-builder
$(MARCH_AMD64)MEMCHECK_TARGETS += $(addprefix memcheck-,$(TARGETS))
ARM_TARGETS = $(filter arm%,$(TARGETS))
$(addprefix $(OUT)/docker/,$(ARM_TARGETS)): $(OUT)/docker/qemu-arm-static-$(QEMU_VERSION)
@ -104,6 +106,7 @@ RULE_TARGETS = $(addprefix $(OUT)/,$(addsuffix /rules.mk,$(TARGETS)))
BUILD_TARGETS := $(BUILD_TARGETS)
CHECK_TARGETS := $(CHECK_TARGETS)
MEMCHECK_TARGETS := $(MEMCHECK_TARGETS)
CONTAINER_GROUP := $(CONTAINER_GROUP)
VERSION := $(VERSION)
PROJECT_ROOT := $(PROJECT_ROOT)
@ -136,7 +139,11 @@ configure = $(call run,$1,cmake $(CMAKEFLAGS) ..) && touch $@
build_rule = build-$1: $$(OUT)/$1/CMakeCache.txt; $$(call build,$1)
build = $(call run,$1,ninja $(PARALLELMFLAGS) $(GLOAS))
check_rule = check-$1: build-$1;
check_rule = check-$1: build-$1; $$(call check,$1)
check = $(call run,$1,ctest $(CTESTFLAGS))
memcheck_rule = memcheck-$1: build-$1; $$(call memcheck,$1)
memcheck = $(call run,$1,ctest -T memcheck $(CTESTFLAGS))
# Rules
@ -156,6 +163,8 @@ $(RULE_TARGETS): $(PROJECT_ROOT)/Makefile | $(OUT_DIRS)
echo; \
echo '$(call check_rule,$(TARGET))'; \
echo; \
echo '$(call memcheck_rule,$(TARGET))'; \
echo; \
echo '$(call run_rule,$(TARGET))'; \
} > $@
@ -165,6 +174,9 @@ all: $(BUILD_TARGETS)
.PHONY: check
check: $(CHECK_TARGETS)
.PHONY: memcheck
memcheck: $(MEMCHECK_TARGETS)
.PHONY: clean
clean: $(CLEAN_TARGETS)
$(SILENT)-rm -rf $(OUT_DIRS)
@ -176,8 +188,7 @@ get-deps: $(EXTRACT_TARGETS)
debug-print-%:
@printf '%s\n' '$*:' $($*)
$(CHECK_TARGETS): GLOAS := test
$(CHECK_TARGETS): CONTAINER_USER := user
$(CHECK_TARGETS) $(MEMCHECK_TARGETS): CONTAINER_USER := user
$(OUT)/docker/qemu-arm-static-$(QEMU_VERSION):
$(SILENT) \

@ -10,6 +10,7 @@ RUN set -x \
cmake \
ninja-build \
pkg-config \
valgrind \
&& rm -rf /var/lib/apt/lists/*
COPY src /usr/local/src

Loading…
Cancel
Save