Pavel Dovgalyuk <dovga...@ispras.ru> writes:
> Thanks! > > This seem to correctly run record and replay command lines. > When I break the replay correctness, then the test reports a timeout error. > > However, we need some kind of a manual for tcg testing. I had to dig through > makefile and configure > scripts to undestand that testing needs the cross compilers to be installed. > Then I installed a random cross compiler and everything worked > normally. I shall add a section to the testing.rst documentation. > > Pavel Dovgalyuk > >> -----Original Message----- >> From: Alex Bennée [mailto:alex.ben...@linaro.org] >> Sent: Wednesday, September 18, 2019 6:34 PM >> To: qemu-devel@nongnu.org >> Cc: Alex Bennée; Pavel Dovgalyuk; Peter Maydell; open list:ARM TCG CPUs >> Subject: [PATCH] tests/tcg: add simple record/replay smoke test for aarch64 >> >> This adds two new tests that re-use the memory test to check basic >> record replay functionality is still working. We have to define our >> own runners rather than using the default pattern as we want to change >> the test name but re-use the memory binary. >> >> We declare the test binaries as PHONY as they don't rely exist. >> >> [AJB: A better test would output some sort of timer value or other >> otherwise variable value so we could compare the record and replay >> outputs and ensure they match] >> >> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> >> Cc: Pavel Dovgalyuk <dovga...@ispras.ru> >> --- >> tests/tcg/aarch64/Makefile.softmmu-target | 21 +++++++++++++++++++++ >> 1 file changed, 21 insertions(+) >> >> diff --git a/tests/tcg/aarch64/Makefile.softmmu-target >> b/tests/tcg/aarch64/Makefile.softmmu- >> target >> index 4c4aaf61dd3..b4b39579634 100644 >> --- a/tests/tcg/aarch64/Makefile.softmmu-target >> +++ b/tests/tcg/aarch64/Makefile.softmmu-target >> @@ -32,3 +32,24 @@ memory: CFLAGS+=-DCHECK_UNALIGNED=1 >> >> # Running >> QEMU_OPTS+=-M virt -cpu max -display none -semihosting-config >> enable=on,target=native,chardev=output -kernel >> + >> +# Simple Record/Replay Test >> +.PHONY: memory-record >> +run-memory-record: memory-record memory >> + $(call run-test, $<, \ >> + $(QEMU) -monitor none -display none \ >> + -chardev file$(COMMA)path=$<.out$(COMMA)id=output \ >> + -icount shift=5$(COMMA)rr=record$(COMMA)rrfile=record.bin \ >> + $(QEMU_OPTS) memory, \ >> + "$< on $(TARGET_NAME)") >> + >> +.PHONY: memory-replay >> +run-memory-replay: memory-replay run-memory-record >> + $(call run-test, $<, \ >> + $(QEMU) -monitor none -display none \ >> + -chardev file$(COMMA)path=$<.out$(COMMA)id=output \ >> + -icount shift=5$(COMMA)rr=replay$(COMMA)rrfile=record.bin \ >> + $(QEMU_OPTS) memory, \ >> + "$< on $(TARGET_NAME)") >> + >> +TESTS+=memory-record memory-replay >> -- >> 2.20.1 -- Alex Bennée