mbox series

[0/2] tests/acceptance: Use QEMUMachine on tests that expect failure

Message ID 20191112135801.854-1-wainersm@redhat.com (mailing list archive)
Headers show
Series tests/acceptance: Use QEMUMachine on tests that expect failure | expand

Message

Wainer dos Santos Moschetta Nov. 12, 2019, 1:57 p.m. UTC
The linux_initrd and empty_cpu_model tests assert that QEMU exit
with failure on certain scenarios. Currently they are not able
to use QEMUMachine object due to the QMP monitor connection which
is tentatively established always. Instead they handle the QEMU binary
directy, but ideally they should use QEMUMachine in order to:
 a) Take advantage of error handling and logging in QEMUMachine.
 b) Follow the pattern in other acceptance tests.

Notes worth it:
 - Patch 01 first appeared in [1]. Here I propose the same
   implementation but the code was rebased.
 - empty_cpu_model used to check both stdout and stderr of the process. The
   QEMUMachine doesn't provide an interface to access the underneath
   process object, instead the process' output is available through
   get_log(). This method in turn returns the content of stdout (stderr is
   redirected to stdout). Therefore, I adapted the assertion statement
   to check the '-cpu option cannot be empty' message shows in the output.

Git:
 - Tree: https://github.com/wainersm/qemu
 - Branch: tests_without_qmp

CI:
 - Travis (PASS): https://travis-ci.org/wainersm/qemu/builds/610499693

References:
[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg627498.html

Wainer dos Santos Moschetta (2):
  python/qemu: Add set_qmp_monitor() to QEMUMachine
  tests/acceptance: Makes linux_initrd and empty_cpu_model use
    QEMUMachine

 python/qemu/machine.py              | 68 +++++++++++++++++++----------
 tests/acceptance/empty_cpu_model.py | 13 +++---
 tests/acceptance/linux_initrd.py    | 13 +++---
 3 files changed, 59 insertions(+), 35 deletions(-)

Comments

Wainer dos Santos Moschetta Dec. 9, 2019, 5:44 p.m. UTC | #1
Ping.

Any brave soul to review it? :)

- Wainer


On 11/12/19 11:57 AM, Wainer dos Santos Moschetta wrote:
> The linux_initrd and empty_cpu_model tests assert that QEMU exit
> with failure on certain scenarios. Currently they are not able
> to use QEMUMachine object due to the QMP monitor connection which
> is tentatively established always. Instead they handle the QEMU binary
> directy, but ideally they should use QEMUMachine in order to:
>   a) Take advantage of error handling and logging in QEMUMachine.
>   b) Follow the pattern in other acceptance tests.
>
> Notes worth it:
>   - Patch 01 first appeared in [1]. Here I propose the same
>     implementation but the code was rebased.
>   - empty_cpu_model used to check both stdout and stderr of the process. The
>     QEMUMachine doesn't provide an interface to access the underneath
>     process object, instead the process' output is available through
>     get_log(). This method in turn returns the content of stdout (stderr is
>     redirected to stdout). Therefore, I adapted the assertion statement
>     to check the '-cpu option cannot be empty' message shows in the output.
>
> Git:
>   - Tree: https://github.com/wainersm/qemu
>   - Branch: tests_without_qmp
>
> CI:
>   - Travis (PASS): https://travis-ci.org/wainersm/qemu/builds/610499693
>
> References:
> [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg627498.html
>
> Wainer dos Santos Moschetta (2):
>    python/qemu: Add set_qmp_monitor() to QEMUMachine
>    tests/acceptance: Makes linux_initrd and empty_cpu_model use
>      QEMUMachine
>
>   python/qemu/machine.py              | 68 +++++++++++++++++++----------
>   tests/acceptance/empty_cpu_model.py | 13 +++---
>   tests/acceptance/linux_initrd.py    | 13 +++---
>   3 files changed, 59 insertions(+), 35 deletions(-)
>