All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: "Andreas Färber" <afaerber@suse.de>, qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH 2/2] tests-ppc64: test for -device spapr-pci-host-bridge
Date: Thu, 06 Mar 2014 12:59:31 +1100	[thread overview]
Message-ID: <5317D683.3060905@ozlabs.ru> (raw)
In-Reply-To: <53178C32.3080103@suse.de>

On 03/06/2014 07:42 AM, Andreas Färber wrote:
> Am 14.02.2014 05:05, schrieb Alexey Kardashevskiy:
>> On 02/11/2014 02:48 AM, Andreas Färber wrote:
>>> Am 10.02.2014 04:52, schrieb Alexey Kardashevskiy:
>>>> This adds a test if SPAPR PHB can be added via the command line.
>>>>
>>>> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
>>>> ---
>>>>  tests/Makefile         |  2 ++
>>>>  tests/spapr-phb-test.c | 28 ++++++++++++++++++++++++++++
>>>>  2 files changed, 30 insertions(+)
>>>>  create mode 100644 tests/spapr-phb-test.c
>>>>
>>>> diff --git a/tests/Makefile b/tests/Makefile
>>>> index 3a00ea7..303225e 100644
>>>> --- a/tests/Makefile
>>>> +++ b/tests/Makefile
>>>> @@ -117,6 +117,7 @@ check-qtest-s390x-y += tests/qom-test$(EXESUF)
>>>>  check-qtest-unicore32-y += tests/qom-test$(EXESUF)
>>>>  check-qtest-xtensa-y += tests/qom-test$(EXESUF)
>>>>  check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
>>>> +check-qtest-ppc64-y += tests/spapr-phb-test$(EXESUF)
>>>>  
>>>>  check-qapi-schema-y := $(addprefix tests/qapi-schema/, \
>>>>          comments.json empty.json funny-char.json indented-expr.json \
>>>> @@ -203,6 +204,7 @@ libqos-omap-obj-y = $(libqos-obj-y) tests/libqos/i2c-omap.o
>>>>  tests/rtc-test$(EXESUF): tests/rtc-test.o
>>>>  tests/m48t59-test$(EXESUF): tests/m48t59-test.o
>>>>  tests/endianness-test$(EXESUF): tests/endianness-test.o
>>>> +tests/spapr-phb-test$(EXESUF): tests/spapr-phb-test.o $(libqos-obj-y)
>>>>  tests/fdc-test$(EXESUF): tests/fdc-test.o
>>>>  tests/ide-test$(EXESUF): tests/ide-test.o $(libqos-pc-obj-y)
>>>>  tests/hd-geo-test$(EXESUF): tests/hd-geo-test.o
>>>> diff --git a/tests/spapr-phb-test.c b/tests/spapr-phb-test.c
>>>> new file mode 100644
>>>> index 0000000..8cad354
>>>> --- /dev/null
>>>> +++ b/tests/spapr-phb-test.c
>>>> @@ -0,0 +1,28 @@
>>>> +/*
>>>> + * QTest testcase for SPAPR PHB
>>>> + *
>>>
>>> Missing some IBM or aik copyright?
>>>
>>>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>>>> + * See the COPYING file in the top-level directory.
>>>> + */
>>>> +#include <glib.h>
>>>> +
>>>> +#include "libqtest.h"
>>>> +
>>>> +#define TYPE_SPAPR_PCI_HOST_BRIDGE "spapr-pci-host-bridge"
>>>> +
>>>> +static void test_phb_device(void)
>>>> +{
>>>> +    qtest_start("-device " TYPE_SPAPR_PCI_HOST_BRIDGE ",index=100");
>>>> +
>>>> +    qtest_end();
>>>> +}
>>>> +
>>>> +int main(int argc, char **argv)
>>>> +{
>>>> +    g_test_init(&argc, &argv, NULL);
>>>> +
>>>> +    qtest_add_func("/qmp/phb_device", test_phb_device);
>>>> +
>>>> +    return g_test_run();
>>>> +}
>>>> +
>>>
>>> Trailing white line FWIW.
>>>
>>> This is looking good, thanks for your work. Apart from the device
>>> there's nothing ppc-specific in here, so I might take it through
>>> qom-next. One nit here is the test name, which I think should rather be
>>> /spapr-phb/device (nothing QMP-specific in there) - I could tweak that
>>> for you.
>>>
>>> Another question is, do you plan to test variations of the device?
>>> Otherwise I would suggest to place the qtest_start() and qtest_end()
>>> into main(), so that individual future tests can test certain
>>> functionalities on the instantiated device rather than repeatedly
>>> launching QEMU processes.
>>
>> Is this better? It does the job.
> 
> Hmm... ;)
> 
>> I am not quite sure what qtest_add_func() is for. Is there any good example
>> of calling such a function via json or whatever it is? Thanks.
> 
> There are lots of other tests/*-test.c files, including the series you
> replied to. I've tweaked your original patch so that it outputs:
> 
> $ make check-qtest-ppc64 V=1
> [...]
> TEST: tests/spapr-phb-test... (pid=3080)
>   /ppc64/spapr-phb/device:                                            OK
> PASS: tests/spapr-phb-test
> 
> "/spapr-phb/device" is the name of the unit test supplied to
> qtest_add_func(), which then prepends the architecture for uniqueness.
> Without calling it, there is no indication that the test was successful.
> 
> Individual tests reading/writing registers etc. will need the
> qemu-system-ppc64 process running, so g_test_run() needs to go before
> qtest_end(). Or if you want to launch it multiple times (e.g. with
> different parameters) place it into the test function like originally.
> 
> Your test did not pass on qemu.git or qom-next - I picked up the
> corresponding fix from ppc-next to reallow -device spapr-pci-host-bridge.

Sure it did not pass, this is why I made the test ;)

But I wonder why this fix not gone to upstream immediately - it was breakage.


> Further the patch was missing a line for gcov to pick up the .o file:



> Gcov report for ppc64-softmmu/hw/ppc/spapr_pci.c:
> File '/home/andreas/QEMU/qemu/hw/ppc/spapr_pci.c'
> Lines executed:42.98% of 342



What did you do to get this output? None from "make check-help" seems to do
this.

btw it would nice if people updated "make check-help" when they add new
tests as without documentation this is all we have to know what tests are
there. For example, it was not very obvious how
check-tests/qemu-iotests-quick.sh is called and how it works.

Or there is some howto and I am just disturbingly blind? Thanks.


Also thanks for comments and tweaks but I still do not understand if I
still have to do anything regarding these 2 patches.


> 
> File '../trace/generated-tracers.h'
> Lines executed:0.00% of 12
> 
> File '/usr/include/libfdt.h'
> Lines executed:100.00% of 5
> 
> File '/usr/include/libfdt_env.h'
> Lines executed:100.00% of 2
> 
> File '/home/andreas/QEMU/qemu/include/hw/pci-host/spapr.h'
> Lines executed:0.00% of 2
> 
> File '/home/andreas/QEMU/qemu/include/hw/ppc/spapr.h'
> Lines executed:22.22% of 9
> 
> File '/home/andreas/QEMU/qemu/include/hw/pci/pci.h'
> Lines executed:0.00% of 4
> 
> File '/home/andreas/QEMU/qemu/include/hw/irq.h'
> Lines executed:0.00% of 4
> 
> File '/home/andreas/QEMU/qemu/include/qemu/bitops.h'
> Lines executed:100.00% of 5
> 
> File '/home/andreas/QEMU/qemu/include/qemu/bswap.h'
> Lines executed:100.00% of 6
> 
> File '/usr/include/bits/byteswap.h'
> Lines executed:100.00% of 4
> 
> 
> Regards,
> Andreas
> 
>> diff --git a/tests/spapr-phb-test.c b/tests/spapr-phb-test.c
>> new file mode 100644
>> index 0000000..11f186c
>> --- /dev/null
>> +++ b/tests/spapr-phb-test.c
>> @@ -0,0 +1,24 @@
>> +/*
>> + * QTest testcase for SPAPR PHB
>> + *
>> + * Authors:
>> + *  Alexey Kardashevskiy <aik@ozlabs.ru>
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + */
>> +#include <glib.h>
>> +
>> +#include "libqtest.h"
>> +
>> +#define TYPE_SPAPR_PCI_HOST_BRIDGE "spapr-pci-host-bridge"
>> +
>> +int main(int argc, char **argv)
>> +{
>> +    g_test_init(&argc, &argv, NULL);
>> +
>> +    qtest_start("-device " TYPE_SPAPR_PCI_HOST_BRIDGE ",index=100");
>> +    qtest_end();
>> +
>> +    return g_test_run();
>> +}
> 


-- 
Alexey

  reply	other threads:[~2014-03-06  1:59 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-09 11:57 [Qemu-devel] [PATCH qom-next v2 00/12] qtest: Prepare PCI NIC, virtio, IndustryPack tests Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 01/12] tests: Add e1000 qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 02/12] tests: Add vmxnet3 qtest Andreas Färber
2014-02-10  6:56   ` Dmitry Fleytman
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 03/12] tests: Add rtl8139 qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 04/12] tests: Add pcnet qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 05/12] tests: Add eepro100 qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 06/12] tests: Add tpci200 qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 07/12] tests: Add ne2000 qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 08/12] tests: Add virtio-net qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 09/12] tests: Add virtio-blk qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 10/12] tests: Add virtio-balloon qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 11/12] tests: Add virtio-rng qtest Andreas Färber
2014-02-09 11:57 ` [Qemu-devel] [PATCH qom-next v2 12/12] tests: Add ipoctal232 qtest Andreas Färber
2014-02-10  3:46 ` [Qemu-devel] [PATCH qom-next v2 00/12] qtest: Prepare PCI NIC, virtio, IndustryPack tests Alexey Kardashevskiy
2014-02-10  3:52 ` [Qemu-devel] [PATCH 0/2] tests-ppc64: add spapr phb test Alexey Kardashevskiy
2014-02-10  3:52   ` [Qemu-devel] [PATCH 1/2] tests-ppc64: add to cleanup rule Alexey Kardashevskiy
2014-02-10 20:32     ` Andreas Färber
2014-02-14  4:03       ` Alexey Kardashevskiy
2014-02-28  2:17         ` Alexey Kardashevskiy
2014-03-05 20:48         ` Andreas Färber
2014-04-07 16:08         ` Peter Maydell
2014-02-10  3:52   ` [Qemu-devel] [PATCH 2/2] tests-ppc64: test for -device spapr-pci-host-bridge Alexey Kardashevskiy
2014-02-10 15:48     ` Andreas Färber
2014-02-14  4:05       ` Alexey Kardashevskiy
2014-03-05 20:42         ` Andreas Färber
2014-03-06  1:59           ` Alexey Kardashevskiy [this message]
2014-03-12  2:13             ` Alexey Kardashevskiy
2014-03-13  2:13             ` Andreas Färber
2014-02-10 16:07 ` [Qemu-devel] [PATCH qom-next v2 00/12] qtest: Prepare PCI NIC, virtio, IndustryPack tests Stefan Hajnoczi
2014-02-10 16:54   ` Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5317D683.3060905@ozlabs.ru \
    --to=aik@ozlabs.ru \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.