* Re: [Qemu-devel] [PATCH 0/2] tests: fw_cfg: add reboot-timeout test case
[not found] ` <4359b7c8.12ac0.169c3e7ba5d.Coremail.liq3ea@163.com>
@ 2019-04-05 15:47 ` Philippe Mathieu-Daudé
2019-04-05 15:47 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-05 15:47 UTC (permalink / raw)
To: 李强
Cc: thuth, lvivier, pbonzini, lersek, kraxel, qemu-devel, liq3ea
On 3/28/19 11:45 AM, 李强 wrote:
> Ping...
>
> What's your opinion, Philippe?
Eh sorry my email client tagged this series as reviewed since your
previous v1 was reviewed by Laszlo. I'll review your patches, but please
increase the version between series next time so I won't miss it that
easily ;)
>
> Thanks,
> Li Qiang
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] tests: fw_cfg: add reboot-timeout test case
2019-04-05 15:47 ` [Qemu-devel] [PATCH 0/2] tests: fw_cfg: add reboot-timeout test case Philippe Mathieu-Daudé
@ 2019-04-05 15:47 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-05 15:47 UTC (permalink / raw)
To: 李强
Cc: lvivier, thuth, liq3ea, qemu-devel, kraxel, pbonzini, lersek
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 326 bytes --]
On 3/28/19 11:45 AM, ÀîÇ¿ wrote:
> Ping...
>
> What's your opinion, Philippe?
Eh sorry my email client tagged this series as reviewed since your
previous v1 was reviewed by Laszlo. I'll review your patches, but please
increase the version between series next time so I won't miss it that
easily ;)
>
> Thanks,
> Li Qiang
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
[not found] ` <20190319023030.947-3-liq3ea@163.com>
@ 2019-04-18 21:01 ` Philippe Mathieu-Daudé
2019-04-18 21:01 ` Philippe Mathieu-Daudé
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-18 21:01 UTC (permalink / raw)
To: Li Qiang, thuth, lvivier, pbonzini, lersek, kraxel; +Cc: qemu-devel, liq3ea
Hi Li,
On 3/19/19 3:30 AM, Li Qiang wrote:
> Signed-off-by: Li Qiang <liq3ea@163.com>
> ---
> tests/fw_cfg-test.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> index 1c5103fe1c..551b51e38f 100644
> --- a/tests/fw_cfg-test.c
> +++ b/tests/fw_cfg-test.c
> @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==, boot_menu);
> }
>
> +static void test_fw_cfg_reboot_timeout(void)
> +{
> + uint32_t reboot_timeout = 0;
> + size_t filesize;
> +
> + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> + &reboot_timeout, sizeof(reboot_timeout));
> + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> + g_assert_cmpint(reboot_timeout, ==, 15);
> +}
> +
> int main(int argc, char **argv)
> {
> QTestState *s;
> @@ -106,7 +117,8 @@ int main(int argc, char **argv)
>
> g_test_init(&argc, &argv, NULL);
>
> - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> + "-boot reboot-timeout=15");
This modify all tests. I'd rather add a specific test with this option.
Doing so, we can easily modify the timeout and add the <0 and >0xffff cases.
Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
Regards,
Phil.
>
> fw_cfg = pc_fw_cfg_init(s);
>
> @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
>
> ret = g_test_run();
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
2019-04-18 21:01 ` [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout " Philippe Mathieu-Daudé
@ 2019-04-18 21:01 ` Philippe Mathieu-Daudé
2019-04-19 2:23 ` Li Qiang
2019-04-20 10:07 ` Li Qiang
2 siblings, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-18 21:01 UTC (permalink / raw)
To: Li Qiang, thuth, lvivier, pbonzini, lersek, kraxel; +Cc: liq3ea, qemu-devel
Hi Li,
On 3/19/19 3:30 AM, Li Qiang wrote:
> Signed-off-by: Li Qiang <liq3ea@163.com>
> ---
> tests/fw_cfg-test.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> index 1c5103fe1c..551b51e38f 100644
> --- a/tests/fw_cfg-test.c
> +++ b/tests/fw_cfg-test.c
> @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==, boot_menu);
> }
>
> +static void test_fw_cfg_reboot_timeout(void)
> +{
> + uint32_t reboot_timeout = 0;
> + size_t filesize;
> +
> + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> + &reboot_timeout, sizeof(reboot_timeout));
> + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> + g_assert_cmpint(reboot_timeout, ==, 15);
> +}
> +
> int main(int argc, char **argv)
> {
> QTestState *s;
> @@ -106,7 +117,8 @@ int main(int argc, char **argv)
>
> g_test_init(&argc, &argv, NULL);
>
> - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> + "-boot reboot-timeout=15");
This modify all tests. I'd rather add a specific test with this option.
Doing so, we can easily modify the timeout and add the <0 and >0xffff cases.
Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
Regards,
Phil.
>
> fw_cfg = pc_fw_cfg_init(s);
>
> @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
>
> ret = g_test_run();
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
2019-04-18 21:01 ` [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout " Philippe Mathieu-Daudé
2019-04-18 21:01 ` Philippe Mathieu-Daudé
@ 2019-04-19 2:23 ` Li Qiang
2019-04-19 2:23 ` Li Qiang
2019-04-20 10:07 ` Li Qiang
2 siblings, 1 reply; 12+ messages in thread
From: Li Qiang @ 2019-04-19 2:23 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Li Qiang, Thomas Huth, lvivier, Paolo Bonzini, Laszlo Ersek,
Gerd Hoffmann, Qemu Developers
Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月19日周五 上午5:01写道:
> Hi Li,
>
> On 3/19/19 3:30 AM, Li Qiang wrote:
> > Signed-off-by: Li Qiang <liq3ea@163.com>
> > ---
> > tests/fw_cfg-test.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> > index 1c5103fe1c..551b51e38f 100644
> > --- a/tests/fw_cfg-test.c
> > +++ b/tests/fw_cfg-test.c
> > @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> > g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==,
> boot_menu);
> > }
> >
> > +static void test_fw_cfg_reboot_timeout(void)
> > +{
> > + uint32_t reboot_timeout = 0;
> > + size_t filesize;
> > +
> > + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> > + &reboot_timeout, sizeof(reboot_timeout));
> > + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> > + g_assert_cmpint(reboot_timeout, ==, 15);
> > +}
> > +
> > int main(int argc, char **argv)
> > {
> > QTestState *s;
> > @@ -106,7 +117,8 @@ int main(int argc, char **argv)
> >
> > g_test_init(&argc, &argv, NULL);
> >
> > - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> > + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> > + "-boot reboot-timeout=15");
>
> This modify all tests. I'd rather add a specific test with this option.
> Doing so, we can easily modify the timeout and add the <0 and >0xffff
> cases.
>
>
Ok, will do in the next revision.
> Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
Ok.
PS: any comments in the first patch.
Thanks,
Li Qiang
>
> Regards,
>
> Phil.
>
> >
> > fw_cfg = pc_fw_cfg_init(s);
> >
> > @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> > qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> > qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> > qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> > + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
> >
> > ret = g_test_run();
> >
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
2019-04-19 2:23 ` Li Qiang
@ 2019-04-19 2:23 ` Li Qiang
0 siblings, 0 replies; 12+ messages in thread
From: Li Qiang @ 2019-04-19 2:23 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: lvivier, Thomas Huth, Li Qiang, Qemu Developers, Gerd Hoffmann,
Paolo Bonzini, Laszlo Ersek
Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月19日周五 上午5:01写道:
> Hi Li,
>
> On 3/19/19 3:30 AM, Li Qiang wrote:
> > Signed-off-by: Li Qiang <liq3ea@163.com>
> > ---
> > tests/fw_cfg-test.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> > index 1c5103fe1c..551b51e38f 100644
> > --- a/tests/fw_cfg-test.c
> > +++ b/tests/fw_cfg-test.c
> > @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> > g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==,
> boot_menu);
> > }
> >
> > +static void test_fw_cfg_reboot_timeout(void)
> > +{
> > + uint32_t reboot_timeout = 0;
> > + size_t filesize;
> > +
> > + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> > + &reboot_timeout, sizeof(reboot_timeout));
> > + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> > + g_assert_cmpint(reboot_timeout, ==, 15);
> > +}
> > +
> > int main(int argc, char **argv)
> > {
> > QTestState *s;
> > @@ -106,7 +117,8 @@ int main(int argc, char **argv)
> >
> > g_test_init(&argc, &argv, NULL);
> >
> > - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> > + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> > + "-boot reboot-timeout=15");
>
> This modify all tests. I'd rather add a specific test with this option.
> Doing so, we can easily modify the timeout and add the <0 and >0xffff
> cases.
>
>
Ok, will do in the next revision.
> Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
Ok.
PS: any comments in the first patch.
Thanks,
Li Qiang
>
> Regards,
>
> Phil.
>
> >
> > fw_cfg = pc_fw_cfg_init(s);
> >
> > @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> > qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> > qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> > qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> > + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
> >
> > ret = g_test_run();
> >
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file
[not found] ` <20190319023030.947-2-liq3ea@163.com>
@ 2019-04-19 7:03 ` Thomas Huth
2019-04-19 7:03 ` Thomas Huth
2019-04-21 18:48 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 12+ messages in thread
From: Thomas Huth @ 2019-04-19 7:03 UTC (permalink / raw)
To: Li Qiang, lvivier, pbonzini, philmd, lersek, kraxel; +Cc: qemu-devel, liq3ea
On 19/03/2019 03.30, Li Qiang wrote:
> This is useful to write qtest about fw_cfg file entry.
>
> Signed-off-by: Li Qiang <liq3ea@163.com>
> ---
> tests/libqos/fw_cfg.c | 45 +++++++++++++++++++++++++++++++++++++++++++
> tests/libqos/fw_cfg.h | 2 ++
> 2 files changed, 47 insertions(+)
>
> diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c
> index d0889d1e22..2df33df859 100644
> --- a/tests/libqos/fw_cfg.c
> +++ b/tests/libqos/fw_cfg.c
> @@ -16,12 +16,57 @@
> #include "libqos/fw_cfg.h"
> #include "libqtest.h"
> #include "qemu/bswap.h"
> +#include "hw/nvram/fw_cfg.h"
>
> void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
> {
> fw_cfg->select(fw_cfg, key);
> }
>
> +/*
> + * The caller need check the return value. When the return value is
> + * nonzero, it means that some bytes have been transferred.
> + *
> + * If the fw_cfg file in question is smaller than the allocated & passed-in
> + * buffer, then the buffer has been populated only in part.
> + *
> + * If the fw_cfg file in question is larger than the passed-in
> + * buffer, then the return value explains how much room would have been
> + * necessary in total. And, while the caller's buffer has been fully
> + * populated, it has received only a starting slice of the fw_cfg file.
> + */
> +size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
> + void *data, size_t buflen)
> +{
> + uint32_t count;
> + uint32_t i;
> + unsigned char *filesbuf = NULL;
> + size_t dsize;
> + FWCfgFile *pdir_entry;
> + size_t filesize = 0;
> +
> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count));
> + count = be32_to_cpu(count);
> + dsize = sizeof(uint32_t) + count * sizeof(struct fw_cfg_file);
> + filesbuf = g_malloc0(dsize);
> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize);
If I get the code right, qfw_cfg_get() fills the whole buffer here...
in that case, g_malloc() should be sufficient, so you don't need
g_malloc0() here.
Thomas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file
2019-04-19 7:03 ` [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file Thomas Huth
@ 2019-04-19 7:03 ` Thomas Huth
2019-04-21 18:48 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 12+ messages in thread
From: Thomas Huth @ 2019-04-19 7:03 UTC (permalink / raw)
To: Li Qiang, lvivier, pbonzini, philmd, lersek, kraxel; +Cc: liq3ea, qemu-devel
On 19/03/2019 03.30, Li Qiang wrote:
> This is useful to write qtest about fw_cfg file entry.
>
> Signed-off-by: Li Qiang <liq3ea@163.com>
> ---
> tests/libqos/fw_cfg.c | 45 +++++++++++++++++++++++++++++++++++++++++++
> tests/libqos/fw_cfg.h | 2 ++
> 2 files changed, 47 insertions(+)
>
> diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c
> index d0889d1e22..2df33df859 100644
> --- a/tests/libqos/fw_cfg.c
> +++ b/tests/libqos/fw_cfg.c
> @@ -16,12 +16,57 @@
> #include "libqos/fw_cfg.h"
> #include "libqtest.h"
> #include "qemu/bswap.h"
> +#include "hw/nvram/fw_cfg.h"
>
> void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
> {
> fw_cfg->select(fw_cfg, key);
> }
>
> +/*
> + * The caller need check the return value. When the return value is
> + * nonzero, it means that some bytes have been transferred.
> + *
> + * If the fw_cfg file in question is smaller than the allocated & passed-in
> + * buffer, then the buffer has been populated only in part.
> + *
> + * If the fw_cfg file in question is larger than the passed-in
> + * buffer, then the return value explains how much room would have been
> + * necessary in total. And, while the caller's buffer has been fully
> + * populated, it has received only a starting slice of the fw_cfg file.
> + */
> +size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
> + void *data, size_t buflen)
> +{
> + uint32_t count;
> + uint32_t i;
> + unsigned char *filesbuf = NULL;
> + size_t dsize;
> + FWCfgFile *pdir_entry;
> + size_t filesize = 0;
> +
> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count));
> + count = be32_to_cpu(count);
> + dsize = sizeof(uint32_t) + count * sizeof(struct fw_cfg_file);
> + filesbuf = g_malloc0(dsize);
> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize);
If I get the code right, qfw_cfg_get() fills the whole buffer here...
in that case, g_malloc() should be sufficient, so you don't need
g_malloc0() here.
Thomas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
2019-04-18 21:01 ` [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout " Philippe Mathieu-Daudé
2019-04-18 21:01 ` Philippe Mathieu-Daudé
2019-04-19 2:23 ` Li Qiang
@ 2019-04-20 10:07 ` Li Qiang
2019-04-20 10:07 ` Li Qiang
2 siblings, 1 reply; 12+ messages in thread
From: Li Qiang @ 2019-04-20 10:07 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Li Qiang, Thomas Huth, lvivier, Paolo Bonzini, Laszlo Ersek,
Gerd Hoffmann, Qemu Developers
Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月19日周五 上午5:01写道:
> Hi Li,
>
> On 3/19/19 3:30 AM, Li Qiang wrote:
> > Signed-off-by: Li Qiang <liq3ea@163.com>
> > ---
> > tests/fw_cfg-test.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> > index 1c5103fe1c..551b51e38f 100644
> > --- a/tests/fw_cfg-test.c
> > +++ b/tests/fw_cfg-test.c
> > @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> > g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==,
> boot_menu);
> > }
> >
> > +static void test_fw_cfg_reboot_timeout(void)
> > +{
> > + uint32_t reboot_timeout = 0;
> > + size_t filesize;
> > +
> > + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> > + &reboot_timeout, sizeof(reboot_timeout));
> > + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> > + g_assert_cmpint(reboot_timeout, ==, 15);
> > +}
> > +
> > int main(int argc, char **argv)
> > {
> > QTestState *s;
> > @@ -106,7 +117,8 @@ int main(int argc, char **argv)
> >
> > g_test_init(&argc, &argv, NULL);
> >
> > - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> > + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> > + "-boot reboot-timeout=15");
>
> This modify all tests. I'd rather add a specific test with this option.
> Doing so, we can easily modify the timeout and add the <0 and >0xffff
> cases.
>
> Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
>
>
Hi Philippe,
I have sent out the new revision patchset.
Please notice as the new patchset changed a lot(refactor the fw_cfg_test
and add two test cases)
I don't bump the version.
Thanks,
Li Qiang
> Regards,
>
> Phil.
>
> >
> > fw_cfg = pc_fw_cfg_init(s);
> >
> > @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> > qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> > qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> > qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> > + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
> >
> > ret = g_test_run();
> >
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout test case
2019-04-20 10:07 ` Li Qiang
@ 2019-04-20 10:07 ` Li Qiang
0 siblings, 0 replies; 12+ messages in thread
From: Li Qiang @ 2019-04-20 10:07 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: lvivier, Thomas Huth, Li Qiang, Qemu Developers, Gerd Hoffmann,
Paolo Bonzini, Laszlo Ersek
Philippe Mathieu-Daudé <philmd@redhat.com> 于2019年4月19日周五 上午5:01写道:
> Hi Li,
>
> On 3/19/19 3:30 AM, Li Qiang wrote:
> > Signed-off-by: Li Qiang <liq3ea@163.com>
> > ---
> > tests/fw_cfg-test.c | 15 ++++++++++++++-
> > 1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c
> > index 1c5103fe1c..551b51e38f 100644
> > --- a/tests/fw_cfg-test.c
> > +++ b/tests/fw_cfg-test.c
> > @@ -99,6 +99,17 @@ static void test_fw_cfg_boot_menu(void)
> > g_assert_cmpint(qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU), ==,
> boot_menu);
> > }
> >
> > +static void test_fw_cfg_reboot_timeout(void)
> > +{
> > + uint32_t reboot_timeout = 0;
> > + size_t filesize;
> > +
> > + filesize = qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait",
> > + &reboot_timeout, sizeof(reboot_timeout));
> > + g_assert_cmpint(filesize, ==, sizeof(reboot_timeout));
> > + g_assert_cmpint(reboot_timeout, ==, 15);
> > +}
> > +
> > int main(int argc, char **argv)
> > {
> > QTestState *s;
> > @@ -106,7 +117,8 @@ int main(int argc, char **argv)
> >
> > g_test_init(&argc, &argv, NULL);
> >
> > - s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8");
> > + s = qtest_init("-uuid 4600cb32-38ec-4b2f-8acb-81c6ea54f2d8 "
> > + "-boot reboot-timeout=15");
>
> This modify all tests. I'd rather add a specific test with this option.
> Doing so, we can easily modify the timeout and add the <0 and >0xffff
> cases.
>
> Can you think of a 'splash-time' test (for commit 6912bb0b3d3b1)?
>
>
Hi Philippe,
I have sent out the new revision patchset.
Please notice as the new patchset changed a lot(refactor the fw_cfg_test
and add two test cases)
I don't bump the version.
Thanks,
Li Qiang
> Regards,
>
> Phil.
>
> >
> > fw_cfg = pc_fw_cfg_init(s);
> >
> > @@ -125,6 +137,7 @@ int main(int argc, char **argv)
> > qtest_add_func("fw_cfg/max_cpus", test_fw_cfg_max_cpus);
> > qtest_add_func("fw_cfg/numa", test_fw_cfg_numa);
> > qtest_add_func("fw_cfg/boot_menu", test_fw_cfg_boot_menu);
> > + qtest_add_func("fw_cfg/reboot_timeout", test_fw_cfg_reboot_timeout);
> >
> > ret = g_test_run();
> >
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file
2019-04-19 7:03 ` [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file Thomas Huth
2019-04-19 7:03 ` Thomas Huth
@ 2019-04-21 18:48 ` Philippe Mathieu-Daudé
2019-04-21 18:48 ` Philippe Mathieu-Daudé
1 sibling, 1 reply; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-21 18:48 UTC (permalink / raw)
To: Thomas Huth, Li Qiang, lvivier, pbonzini, lersek, kraxel
Cc: qemu-devel, liq3ea
Hi Thomas,
On 4/19/19 9:03 AM, Thomas Huth wrote:
> On 19/03/2019 03.30, Li Qiang wrote:
>> This is useful to write qtest about fw_cfg file entry.
>>
>> Signed-off-by: Li Qiang <liq3ea@163.com>
>> ---
>> tests/libqos/fw_cfg.c | 45 +++++++++++++++++++++++++++++++++++++++++++
>> tests/libqos/fw_cfg.h | 2 ++
>> 2 files changed, 47 insertions(+)
>>
>> diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c
>> index d0889d1e22..2df33df859 100644
>> --- a/tests/libqos/fw_cfg.c
>> +++ b/tests/libqos/fw_cfg.c
>> @@ -16,12 +16,57 @@
>> #include "libqos/fw_cfg.h"
>> #include "libqtest.h"
>> #include "qemu/bswap.h"
>> +#include "hw/nvram/fw_cfg.h"
>>
>> void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
>> {
>> fw_cfg->select(fw_cfg, key);
>> }
>>
>> +/*
>> + * The caller need check the return value. When the return value is
>> + * nonzero, it means that some bytes have been transferred.
>> + *
>> + * If the fw_cfg file in question is smaller than the allocated & passed-in
>> + * buffer, then the buffer has been populated only in part.
>> + *
>> + * If the fw_cfg file in question is larger than the passed-in
>> + * buffer, then the return value explains how much room would have been
>> + * necessary in total. And, while the caller's buffer has been fully
>> + * populated, it has received only a starting slice of the fw_cfg file.
>> + */
>> +size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
>> + void *data, size_t buflen)
>> +{
>> + uint32_t count;
>> + uint32_t i;
>> + unsigned char *filesbuf = NULL;
>> + size_t dsize;
>> + FWCfgFile *pdir_entry;
>> + size_t filesize = 0;
>> +
>> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count));
>> + count = be32_to_cpu(count);
>> + dsize = sizeof(uint32_t) + count * sizeof(struct fw_cfg_file);
>> + filesbuf = g_malloc0(dsize);
>> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize);
>
> If I get the code right, qfw_cfg_get() fills the whole buffer here...
> in that case, g_malloc() should be sufficient, so you don't need
> g_malloc0() here.
Correct.
Apparently Li did address your suggestion in his next iteration of this
patch (same subject, Message-Id: <20190420100056.116305-3-liq3ea@163.com>).
Thanks,
Phil.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file
2019-04-21 18:48 ` Philippe Mathieu-Daudé
@ 2019-04-21 18:48 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-21 18:48 UTC (permalink / raw)
To: Thomas Huth, Li Qiang, lvivier, pbonzini, lersek, kraxel
Cc: liq3ea, qemu-devel
Hi Thomas,
On 4/19/19 9:03 AM, Thomas Huth wrote:
> On 19/03/2019 03.30, Li Qiang wrote:
>> This is useful to write qtest about fw_cfg file entry.
>>
>> Signed-off-by: Li Qiang <liq3ea@163.com>
>> ---
>> tests/libqos/fw_cfg.c | 45 +++++++++++++++++++++++++++++++++++++++++++
>> tests/libqos/fw_cfg.h | 2 ++
>> 2 files changed, 47 insertions(+)
>>
>> diff --git a/tests/libqos/fw_cfg.c b/tests/libqos/fw_cfg.c
>> index d0889d1e22..2df33df859 100644
>> --- a/tests/libqos/fw_cfg.c
>> +++ b/tests/libqos/fw_cfg.c
>> @@ -16,12 +16,57 @@
>> #include "libqos/fw_cfg.h"
>> #include "libqtest.h"
>> #include "qemu/bswap.h"
>> +#include "hw/nvram/fw_cfg.h"
>>
>> void qfw_cfg_select(QFWCFG *fw_cfg, uint16_t key)
>> {
>> fw_cfg->select(fw_cfg, key);
>> }
>>
>> +/*
>> + * The caller need check the return value. When the return value is
>> + * nonzero, it means that some bytes have been transferred.
>> + *
>> + * If the fw_cfg file in question is smaller than the allocated & passed-in
>> + * buffer, then the buffer has been populated only in part.
>> + *
>> + * If the fw_cfg file in question is larger than the passed-in
>> + * buffer, then the return value explains how much room would have been
>> + * necessary in total. And, while the caller's buffer has been fully
>> + * populated, it has received only a starting slice of the fw_cfg file.
>> + */
>> +size_t qfw_cfg_get_file(QFWCFG *fw_cfg, const char *filename,
>> + void *data, size_t buflen)
>> +{
>> + uint32_t count;
>> + uint32_t i;
>> + unsigned char *filesbuf = NULL;
>> + size_t dsize;
>> + FWCfgFile *pdir_entry;
>> + size_t filesize = 0;
>> +
>> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, &count, sizeof(count));
>> + count = be32_to_cpu(count);
>> + dsize = sizeof(uint32_t) + count * sizeof(struct fw_cfg_file);
>> + filesbuf = g_malloc0(dsize);
>> + qfw_cfg_get(fw_cfg, FW_CFG_FILE_DIR, filesbuf, dsize);
>
> If I get the code right, qfw_cfg_get() fills the whole buffer here...
> in that case, g_malloc() should be sufficient, so you don't need
> g_malloc0() here.
Correct.
Apparently Li did address your suggestion in his next iteration of this
patch (same subject, Message-Id: <20190420100056.116305-3-liq3ea@163.com>).
Thanks,
Phil.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-04-21 18:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190319023030.947-1-liq3ea@163.com>
[not found] ` <4359b7c8.12ac0.169c3e7ba5d.Coremail.liq3ea@163.com>
2019-04-05 15:47 ` [Qemu-devel] [PATCH 0/2] tests: fw_cfg: add reboot-timeout test case Philippe Mathieu-Daudé
2019-04-05 15:47 ` Philippe Mathieu-Daudé
[not found] ` <20190319023030.947-3-liq3ea@163.com>
2019-04-18 21:01 ` [Qemu-devel] [PATCH 2/2] tests: fw_cfg: add reboot_timeout " Philippe Mathieu-Daudé
2019-04-18 21:01 ` Philippe Mathieu-Daudé
2019-04-19 2:23 ` Li Qiang
2019-04-19 2:23 ` Li Qiang
2019-04-20 10:07 ` Li Qiang
2019-04-20 10:07 ` Li Qiang
[not found] ` <20190319023030.947-2-liq3ea@163.com>
2019-04-19 7:03 ` [Qemu-devel] [PATCH 1/2] tests: fw_cfg: add a function to get the fw_cfg file Thomas Huth
2019-04-19 7:03 ` Thomas Huth
2019-04-21 18:48 ` Philippe Mathieu-Daudé
2019-04-21 18:48 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).