qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 04/11] tests/acceptance: add kernel record/replay test for


From: Alex Bennée
Subject: Re: [PATCH v2 04/11] tests/acceptance: add kernel record/replay test for x86_64
Date: Thu, 28 May 2020 14:26:28 +0100
User-agent: mu4e 1.5.1; emacs 28.0.50

Pavel Dovgalyuk <dovgaluk@ispras.ru> writes:

> On 27.05.2020 18:41, Alex Bennée wrote:
>> Pavel Dovgalyuk <Pavel.Dovgaluk@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.Dovgaluk@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]