| # -*- Mode: makefile -*- |
| # |
| # Multiarch system tests |
| # |
| # We just collect the tests together here and rely on the actual guest |
| # architecture to add to the test dependancies and deal with the |
| # complications of building. |
| # |
| |
| MULTIARCH_SRC=$(SRC_PATH)/tests/tcg/multiarch |
| MULTIARCH_SYSTEM_SRC=$(MULTIARCH_SRC)/system |
| VPATH+=$(MULTIARCH_SYSTEM_SRC) |
| |
| MULTIARCH_TEST_SRCS=$(wildcard $(MULTIARCH_SYSTEM_SRC)/*.c) |
| MULTIARCH_TESTS = $(patsubst $(MULTIARCH_SYSTEM_SRC)/%.c, %, $(MULTIARCH_TEST_SRCS)) |
| |
| ifneq ($(HAVE_GDB_BIN),) |
| ifeq ($(HOST_GDB_SUPPORTS_ARCH),y) |
| GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py |
| |
| run-gdbstub-memory: memory |
| $(call run-test, $@, $(GDB_SCRIPT) \ |
| --gdb $(HAVE_GDB_BIN) \ |
| --qemu $(QEMU) \ |
| --output $<.gdb.out \ |
| --qargs \ |
| "-monitor none -display none -chardev file$(COMMA)path=$<.out$(COMMA)id=output $(QEMU_OPTS)" \ |
| --bin $< --test $(MULTIARCH_SRC)/gdbstub/memory.py, \ |
| softmmu gdbstub support) |
| |
| run-gdbstub-untimely-packet: hello |
| $(call run-test, $@, $(GDB_SCRIPT) \ |
| --gdb $(HAVE_GDB_BIN) \ |
| --gdb-args "-ex 'set debug remote 1'" \ |
| --output untimely-packet.gdb.out \ |
| --stderr untimely-packet.gdb.err \ |
| --qemu $(QEMU) \ |
| --bin $< --qargs \ |
| "-monitor none -display none -chardev file$(COMMA)path=untimely-packet.out$(COMMA)id=output $(QEMU_OPTS)", \ |
| "softmmu gdbstub untimely packets") |
| $(call quiet-command, \ |
| (! grep -Fq 'Packet instead of Ack, ignoring it' untimely-packet.gdb.err), \ |
| "GREP", "file untimely-packet.gdb.err") |
| else |
| run-gdbstub-%: |
| $(call skip-test, "gdbstub test $*", "no guest arch support") |
| endif |
| else |
| run-gdbstub-%: |
| $(call skip-test, "gdbstub test $*", "need working gdb") |
| endif |
| |
| MULTIARCH_RUNS += run-gdbstub-memory run-gdbstub-untimely-packet |