Message ID | 20190918153335.20797-1-alex.bennee@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/tcg: add simple record/replay smoke test for aarch64 | expand |
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:alex.bennee@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.bennee@linaro.org> > Cc: Pavel Dovgalyuk <dovgaluk@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
Pavel Dovgalyuk <dovgaluk@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.bennee@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.bennee@linaro.org> >> Cc: Pavel Dovgalyuk <dovgaluk@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
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
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.bennee@linaro.org> Cc: Pavel Dovgalyuk <dovgaluk@ispras.ru> --- tests/tcg/aarch64/Makefile.softmmu-target | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)