test: enable running infix tests from external projects

Minor adjustments have been made to enable calling infix tests from an
external project (i.e. 'make test' target).
This essentially allows running any external test (or a group of tests)
using the infix-9pm tool.
This commit is contained in:
Ahmed Karic
2024-08-30 12:26:39 +02:00
committed by Mattias Walström
parent b76904c0e6
commit 8227f1bcde
3 changed files with 24 additions and 9 deletions
+13 -6
View File
@@ -1,28 +1,35 @@
base-dir := $(lastword $(subst :, ,$(BR2_EXTERNAL)))
test-dir := $(BR2_EXTERNAL_INFIX_PATH)/test
ninepm := $(BR2_EXTERNAL_INFIX_PATH)/test/9pm/9pm.py
UNIT_TESTS ?= $(test-dir)/case/all-repo.yaml $(test-dir)/case/all-unit.yaml
INFIX_TESTS ?= $(test-dir)/case/all.yaml
TESTS ?= $(test-dir)/case/all.yaml
IMAGE ?= infix
TOPOLOGY-DIR ?= $(test-dir)/virt/quad
base := -b $(base-dir)
TEST_MODE ?= qeneth
mode-qeneth := -q $(test-dir)/virt/quad
mode-qeneth := -q $(TOPOLOGY-DIR)
mode-host := -t $(or $(TOPOLOGY),/etc/infamy.dot)
mode-run := -t $(BINARIES_DIR)/qemu.dot
mode := $(mode-$(TEST_MODE))
binaries-$(ARCH) := $(addprefix infix-$(ARCH),.img -disk.img .pkg)
binaries-$(ARCH) := $(addprefix $(IMAGE)-$(ARCH),.img -disk.img .pkg)
binaries-x86_64 += OVMF.fd
binaries := $(foreach bin,$(binaries-$(ARCH)),-f $(BINARIES_DIR)/$(bin))
test:
$(test-dir)/env -r $(mode) $(binaries) $(ninepm) $(INFIX_TESTS)
$(test-dir)/env -r $(base) $(mode) $(binaries) $(ninepm) $(TESTS)
test-sh:
$(test-dir)/env $(mode) $(binaries) -i /bin/sh
$(test-dir)/env $(base) $(mode) $(binaries) -i /bin/sh
# Unit tests run with random (-r) hostname and container name to
# prevent race conditions when running in CI environments.
test-unit:
$(test-dir)/env -r $(ninepm) $(UNIT_TESTS)
$(test-dir)/env -r $(base) $(ninepm) $(UNIT_TESTS)
.PHONY: test test-sh test-unit