Add kelvin SW test target Change-Id: I4e2fe6a26aa1a91f5ae9426592af3093caa4bc39
diff --git a/platforms/nexus/kelvin.mk b/platforms/nexus/kelvin.mk index 61c2399..f5dc1be 100644 --- a/platforms/nexus/kelvin.mk +++ b/platforms/nexus/kelvin.mk
@@ -3,6 +3,7 @@ KELVIN_SW_SRC_DIR := $(ROOTDIR)/sw/kelvin KELVIN_SW_OUT_DIR := $(OUT)/kelvin/sw KELVIN_SW_BAZEL_OUT_DIR := $(KELVIN_SW_OUT_DIR)/bazel_out +KELVIN_SW_TESTLOG_DIR := $(KELVIN_SW_OUT_DIR)/bazel_testlog KELVIN_SIM_SRC_DIR := $(ROOTDIR)/sim/kelvin KELVIN_SIM_OUT_DIR := $(OUT)/kelvin/sim @@ -12,6 +13,9 @@ mkdir -p "$(KELVIN_SW_OUT_DIR)" mkdir -p "$(KELVIN_SW_BAZEL_OUT_DIR)" +$(KELVIN_SW_TESTLOG_DIR): + mkdir -p "$(KELVIN_SW_TESTLOG_DIR)" + ## Build Kelvin SW artifacts # # Some of the artifacts are built with bazel, and need to be copied to out/ @@ -24,8 +28,16 @@ -wholename "*ST-*/*.bin" \) \ -exec cp -f {} "$(KELVIN_SW_BAZEL_OUT_DIR)/" \; +## Test Kelvin SW artifacts +# +# Test Kelvin SW artifacts with kelvin ISS simulation +kelvin_sw_test: kelvin_sim | $(KELVIN_SW_TESTLOG_DIR) + cd "$(KELVIN_SW_SRC_DIR)"; \ + bazel test --test_env=ROOTDIR=$(ROOTDIR) //... ; \ + cp -rf bazel-testlogs/tests "$(KELVIN_SW_TESTLOG_DIR)" + ## Clean Kelvin SW artifacts -kelvin_clean: +kelvin_sw_clean: rm -rf "$(KELVIN_SW_OUT_DIR)" cd "$(KELVIN_SW_SRC_DIR)" && bazel clean --expunge @@ -42,6 +54,13 @@ cd "$(KELVIN_SIM_SRC_DIR)/bazel-bin" && \ cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)" +## Clean Kelvin ISS +# +# Clean the Kelvin ISS +kelvin_sim_clean: + cd "$(KELVIN_SIM_SRC_DIR)" && \ + bazel clean --expunge + rm -rf $(KELVIN_SIM_OUT_DIR) -PHONY:: kelvin_sw kelvin_clean -PHONY:: kelvin_sim +PHONY:: kelvin_sw kelvin_sw_clean kelvin_sw_test +PHONY:: kelvin_sim kelvin_sim_clean
diff --git a/platforms/shodan/kelvin.mk b/platforms/shodan/kelvin.mk index 61c2399..f5dc1be 100644 --- a/platforms/shodan/kelvin.mk +++ b/platforms/shodan/kelvin.mk
@@ -3,6 +3,7 @@ KELVIN_SW_SRC_DIR := $(ROOTDIR)/sw/kelvin KELVIN_SW_OUT_DIR := $(OUT)/kelvin/sw KELVIN_SW_BAZEL_OUT_DIR := $(KELVIN_SW_OUT_DIR)/bazel_out +KELVIN_SW_TESTLOG_DIR := $(KELVIN_SW_OUT_DIR)/bazel_testlog KELVIN_SIM_SRC_DIR := $(ROOTDIR)/sim/kelvin KELVIN_SIM_OUT_DIR := $(OUT)/kelvin/sim @@ -12,6 +13,9 @@ mkdir -p "$(KELVIN_SW_OUT_DIR)" mkdir -p "$(KELVIN_SW_BAZEL_OUT_DIR)" +$(KELVIN_SW_TESTLOG_DIR): + mkdir -p "$(KELVIN_SW_TESTLOG_DIR)" + ## Build Kelvin SW artifacts # # Some of the artifacts are built with bazel, and need to be copied to out/ @@ -24,8 +28,16 @@ -wholename "*ST-*/*.bin" \) \ -exec cp -f {} "$(KELVIN_SW_BAZEL_OUT_DIR)/" \; +## Test Kelvin SW artifacts +# +# Test Kelvin SW artifacts with kelvin ISS simulation +kelvin_sw_test: kelvin_sim | $(KELVIN_SW_TESTLOG_DIR) + cd "$(KELVIN_SW_SRC_DIR)"; \ + bazel test --test_env=ROOTDIR=$(ROOTDIR) //... ; \ + cp -rf bazel-testlogs/tests "$(KELVIN_SW_TESTLOG_DIR)" + ## Clean Kelvin SW artifacts -kelvin_clean: +kelvin_sw_clean: rm -rf "$(KELVIN_SW_OUT_DIR)" cd "$(KELVIN_SW_SRC_DIR)" && bazel clean --expunge @@ -42,6 +54,13 @@ cd "$(KELVIN_SIM_SRC_DIR)/bazel-bin" && \ cp -f sim/kelvin_sim "$(KELVIN_SIM_OUT_DIR)" +## Clean Kelvin ISS +# +# Clean the Kelvin ISS +kelvin_sim_clean: + cd "$(KELVIN_SIM_SRC_DIR)" && \ + bazel clean --expunge + rm -rf $(KELVIN_SIM_OUT_DIR) -PHONY:: kelvin_sw kelvin_clean -PHONY:: kelvin_sim +PHONY:: kelvin_sw kelvin_sw_clean kelvin_sw_test +PHONY:: kelvin_sim kelvin_sim_clean