From 9e422bd76a7e498430f03716d61d86214e759fb7 Mon Sep 17 00:00:00 2001 From: Nick Connolly Date: Fri, 22 Jan 2021 17:21:14 +0000 Subject: [PATCH] test/blob: Use CFLAGS when checking CUnit version If the CUnit include files are located through CFLAGS rather being in one of the system include directories, then the version test will fail and blob.c unit tests will be skipped. Specify CFLAGS as part of the CC command. If the version check fails, clean won't be run to remove any left over artifacts. This can occur if CUnit is being built externally and gets cleaned before SPDK. Add an extra definition (ALL_DIRS) to control compilation, so that clean will always be run. Signed-off-by: Nick Connolly Change-Id: I6099fceb14cfc6473a6b8feed746d2b44b8d291a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6054 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- test/unit/lib/blob/Makefile | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/test/unit/lib/blob/Makefile b/test/unit/lib/blob/Makefile index 516a8f758..6a47d4372 100644 --- a/test/unit/lib/blob/Makefile +++ b/test/unit/lib/blob/Makefile @@ -34,17 +34,24 @@ SPDK_ROOT_DIR := $(abspath $(CURDIR)/../../../..) include $(SPDK_ROOT_DIR)/mk/spdk.common.mk -HASH = \# -CUNIT_VERSION = $(shell echo "$(HASH)include " | $(CC) -E -dM - | sed -n -e 's/\#define CU_VERSION "\([0-9\.\-]*\).*/\1/p') -ifeq ($(CUNIT_VERSION),2.1-3) +# Make targets are based on the current value of $(CUNIT_VERSION), +# rather than on configuration values. All sub-directories are +# added to $(DIRS-y) so that they are included in 'make clean'. +# $(ALL_DIRS) contains the list of sub-directories to compile. DIRS-y = blob.c +ALL_DIRS = + +HASH = \# +CUNIT_VERSION = $(shell echo "$(HASH)include " | $(CC) $(CFLAGS) -E -dM - | sed -n -e 's/\#define CU_VERSION "\([0-9\.\-]*\).*/\1/p') +ifeq ($(CUNIT_VERSION),2.1-3) +ALL_DIRS = blob.c else $(warning "blob_ut.c compilation skipped, only CUnit version 2.1-3 is supported") endif .PHONY: all clean $(DIRS-y) -all: $(DIRS-y) +all: $(ALL_DIRS) clean: $(DIRS-y) include $(SPDK_ROOT_DIR)/mk/spdk.subdirs.mk