Pavel Dovgalyuk <dovga...@ispras.ru> writes:
> On 27.05.2020 18:41, Alex Bennée wrote: >> Pavel Dovgalyuk <pavel.dovga...@gmail.com> writes: >> >>> This patch adds a test for record/replay an execution of x86_64 machine. >>> Execution scenario includes simple kernel boot, which allows testing >>> basic hardware interaction in RR mode. >>> >>> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> >>> --- >>> 0 files changed >>> >>> diff --git a/tests/acceptance/replay_kernel.py >>> b/tests/acceptance/replay_kernel.py >>> index b8b277ad2f..c7526f1aba 100644 >>> --- a/tests/acceptance/replay_kernel.py >>> +++ b/tests/acceptance/replay_kernel.py >>> @@ -55,3 +55,19 @@ class ReplayKernel(LinuxKernelUtils): >>> True, shift, args) >>> self.run_vm(kernel_path, kernel_command_line, console_pattern, >>> False, shift, args) >>> + >>> + def test_x86_64_pc(self): >>> + """ >>> + :avocado: tags=arch:x86_64 >>> + :avocado: tags=machine:pc >>> + """ >>> + kernel_url = >>> ('https://archives.fedoraproject.org/pub/archive/fedora' >>> + >>> '/linux/releases/29/Everything/x86_64/os/images/pxeboot' >>> + '/vmlinuz') >>> + kernel_hash = '23bebd2680757891cf7adedb033532163a792495' >>> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) >>> + >>> + kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + >>> 'console=ttyS0' >>> + console_pattern = 'Kernel command line: %s' % kernel_command_line >>> + >>> + self.run_rr(kernel_path, kernel_command_line, console_pattern) >> This test fails for me on the replay: > > Have you applied latest RR patches? I have the following on top of the acceptance patches: a36c23042fe * review/record-replay-acceptance-v2 icount: fix shift=auto for record/replay 4ab2164c10b * replay: synchronize on every virtual timer callback 66104ce6e4b * replay: notify the main loop when there are no instructions > > >> >> 2020-05-27 16:22:21,658 machine L0326 DEBUG| VM launch command: >> 'x86_64-softmmu/qemu-system-x86_64 -display none -vga none -chardev >> socket,id=mon,path=/var/tmp/tmp4n_geosi/qemu-9516-monitor.sock -mon >> chardev=mon,mode=control -machine pc -chardev >> socket,id=console,path=/var/tmp/tmp4n_geosi/qemu-9516-console.sock,server,nowait >> -serial chardev:console -icount >> shift=7,rr=replay,rrfile=/var/tmp/avocado_b85h3ycg/avocado_job_8xrxksgj/1-._tests_acceptance_replay_kernel.py_ReplayKernel.test_x86_64_pc/replay.bin >> -kernel >> /home/alex/avocado/data/cache/by_location/df533120a0e0ffda2626bed6e8a975d3b07e3f05/vmlinuz >> -append printk.time=0 console=ttyS0 -net none' >> 2020-05-27 16:22:21,725 qmp L0194 DEBUG| >>> {'execute': >> 'qmp_capabilities'} >> 2020-05-27 16:22:21,736 qmp L0202 DEBUG| <<< {'return': {}} >> 2020-05-27 16:23:49,372 stacktrace L0039 ERROR| >> 2020-05-27 16:23:49,372 stacktrace L0042 ERROR| Reproduced >> traceback from: >> /home/alex/lsrc/qemu.git/builds/all/tests/venv/lib/python3.7/site-packages/avocado/core/test.py:860 >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| Traceback (most >> recent call last): >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/replay_kernel.py", >> line 73, in test_x86_64_pc >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| >> self.run_rr(kernel_path, kernel_command_line, console_pattern) >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/replay_kernel.py", >> line 57, in run_rr >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| False, shift, >> args) >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/replay_kernel.py", >> line 46, in run_vm >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| >> self.wait_for_console_pattern(console_pattern, vm) >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/boot_linux_console.py", >> line 37, in wait_for_console_pattern >> 2020-05-27 16:23:49,373 stacktrace L0045 ERROR| vm=vm) >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/avocado_qemu/__init__.py", >> line 131, in wait_for_console_pattern >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| >> _console_interaction(test, success_message, failure_message, None, vm=vm) >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/acceptance/avocado_qemu/__init__.py", >> line 83, in _console_interaction >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| msg = >> console.readline().strip() >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| File >> "/usr/lib/python3.7/socket.py", line 589, in readinto >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| return >> self._sock.recv_into(b) >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| File >> "/home/alex/lsrc/qemu.git/builds/all/tests/venv/lib/python3.7/site-packages/avocado/plugins/runner.py", >> line 89, in sigterm_handler >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| raise >> RuntimeError("Test interrupted by SIGTERM") >> 2020-05-27 16:23:49,374 stacktrace L0045 ERROR| RuntimeError: Test >> interrupted by SIGTERM >> >> -- Alex Bennée