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. Pavel Dovgalyuk > -----Original Message----- > From: Alex Bennée [mailto:[email protected]] > Sent: Wednesday, September 18, 2019 6:34 PM > To: [email protected] > 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 <[email protected]> > Cc: Pavel Dovgalyuk <[email protected]> > --- > 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
