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: 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