Message ID | 20181028124004.30494-3-liq3ea@163.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | test: fw_cfg: add reboot-timeout test case | expand |
On 28/10/18 13:40, Li Qiang wrote: > Signed-off-by: Li Qiang <liq3ea@163.com> > --- > tests/fw_cfg-test.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c > index 1c5103fe1c..37765f15f8 100644 > --- a/tests/fw_cfg-test.c > +++ b/tests/fw_cfg-test.c > @@ -99,6 +99,15 @@ 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; > + > + qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", > + &reboot_timeout, sizeof(reboot_timeout)); > + g_assert_cmpint(reboot_timeout, <=, 65535); > +} > + > int main(int argc, char **argv) > { > QTestState *s; > @@ -106,7 +115,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=4294967295"); I'd rather change this test to use qtest_add_data_func() ...: qtest_add_data_func("fw_cfg/reboot_timeout", "-boot reboot-timeout=4294967295 ", test_fw_cfg_reboot_timeout); ... to avoid adding this command line option to all the tests, because all tests are now failing: $ make check-qtest-i386 [...] ERROR:qemu/tests/fw_cfg-test.c:33:test_fw_cfg_signature: assertion failed (buf == "QEMU"): ("\377\377\377\377" == "QEMU") ERROR:qemu/tests/fw_cfg-test.c:40:test_fw_cfg_id: assertion failed: ((id == 1) || (id == 3)) ERROR:qemu/tests/fw_cfg-test.c:52:test_fw_cfg_uuid: assertion failed: (memcmp(buf, uuid, sizeof(buf)) == 0) ERROR:qemu/tests/fw_cfg-test.c:57:test_fw_cfg_ram_size: assertion failed (qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE) == ram_size): (-1 == 134217728) ERROR:qemu/tests/fw_cfg-test.c:62:test_fw_cfg_nographic: assertion failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC) == 0): (65535 == 0) ERROR:qemu/tests/fw_cfg-test.c:67:test_fw_cfg_nb_cpus: assertion failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS) == nb_cpus): (65535 == 1) ERROR:qemu/tests/fw_cfg-test.c:72:test_fw_cfg_max_cpus: assertion failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS) == max_cpus): (65535 == 1) ERROR:qemu/tests/fw_cfg-test.c:80:test_fw_cfg_numa: assertion failed (qfw_cfg_get_u64(fw_cfg, FW_CFG_NUMA) == nb_nodes): (-1 == 0) ERROR:qemu/tests/fw_cfg-test.c:99:test_fw_cfg_boot_menu: assertion failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU) == boot_menu): (65535 == 0) (did you test your patch?) > > fw_cfg = pc_fw_cfg_init(s); > > @@ -125,6 +135,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(); > >
在 2018/10/30 8:08, Philippe Mathieu-Daudé 写道: > On 28/10/18 13:40, Li Qiang wrote: >> Signed-off-by: Li Qiang <liq3ea@163.com> >> --- >> tests/fw_cfg-test.c | 13 ++++++++++++- >> 1 file changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c >> index 1c5103fe1c..37765f15f8 100644 >> --- a/tests/fw_cfg-test.c >> +++ b/tests/fw_cfg-test.c >> @@ -99,6 +99,15 @@ 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; >> + >> + qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", >> + &reboot_timeout, sizeof(reboot_timeout)); >> + g_assert_cmpint(reboot_timeout, <=, 65535); >> +} >> + >> int main(int argc, char **argv) >> { >> QTestState *s; >> @@ -106,7 +115,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=4294967295"); > > I'd rather change this test to use qtest_add_data_func() ...: > > qtest_add_data_func("fw_cfg/reboot_timeout", "-boot > reboot-timeout=4294967295 ", test_fw_cfg_reboot_timeout); > > ... to avoid adding this command line option to all the tests, because > all tests are now failing: > > $ make check-qtest-i386 > [...] > ERROR:qemu/tests/fw_cfg-test.c:33:test_fw_cfg_signature: assertion > failed (buf == "QEMU"): ("\377\377\377\377" == "QEMU") > ERROR:qemu/tests/fw_cfg-test.c:40:test_fw_cfg_id: assertion failed: > ((id == 1) || (id == 3)) > ERROR:qemu/tests/fw_cfg-test.c:52:test_fw_cfg_uuid: assertion failed: > (memcmp(buf, uuid, sizeof(buf)) == 0) > ERROR:qemu/tests/fw_cfg-test.c:57:test_fw_cfg_ram_size: assertion > failed (qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE) == ram_size): (-1 == > 134217728) > ERROR:qemu/tests/fw_cfg-test.c:62:test_fw_cfg_nographic: assertion > failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC) == 0): (65535 == 0) > ERROR:qemu/tests/fw_cfg-test.c:67:test_fw_cfg_nb_cpus: assertion > failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS) == nb_cpus): (65535 == 1) > ERROR:qemu/tests/fw_cfg-test.c:72:test_fw_cfg_max_cpus: assertion > failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS) == max_cpus): (65535 > == 1) > ERROR:qemu/tests/fw_cfg-test.c:80:test_fw_cfg_numa: assertion failed > (qfw_cfg_get_u64(fw_cfg, FW_CFG_NUMA) == nb_nodes): (-1 == 0) > ERROR:qemu/tests/fw_cfg-test.c:99:test_fw_cfg_boot_menu: assertion > failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU) == boot_menu): > (65535 == 0) > > > (did you test your patch?) > Of course I test it, but only in x86_64. Here is the result without the fix patch. xxxqemu# QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/fw_cfg-test /x86_64/fw_cfg/signature: OK /x86_64/fw_cfg/id: OK /x86_64/fw_cfg/uuid: OK /x86_64/fw_cfg/ram_size: OK /x86_64/fw_cfg/nographic: OK /x86_64/fw_cfg/nb_cpus: OK /x86_64/fw_cfg/max_cpus: OK /x86_64/fw_cfg/numa: OK /x86_64/fw_cfg/boot_menu: OK /x86_64/fw_cfg/reboot_timeout: ** ERROR:tests/fw_cfg-test.c:108:test_fw_cfg_reboot_timeout: assertion failed (reboot_timeout <= 65535): (4294967295 <= 65535) Aborted xxxqemu# make check-qtest-x86_64 GTESTER check-qtest-x86_64 ** ERROR:tests/fw_cfg-test.c:108:test_fw_cfg_reboot_timeout: assertion failed (reboot_timeout <= 65535): (4294967295 <= 65535) GTester: last random seed: R02Sfed7191ede4ed60d4f3069f9ec808e73 xxxqemu/tests/Makefile.include:805: recipe for target 'check-qtest-x86_64' failed make: *** [check-qtest-x86_64] Error 1 I did it in i386 right now. Following is the results: xxxqemu# QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386 tests/fw_cfg-test /i386/fw_cfg/signature: OK /i386/fw_cfg/id: OK /i386/fw_cfg/uuid: OK /i386/fw_cfg/ram_size: OK /i386/fw_cfg/nographic: OK /i386/fw_cfg/nb_cpus: OK /i386/fw_cfg/max_cpus: OK /i386/fw_cfg/numa: OK /i386/fw_cfg/boot_menu: OK /i386/fw_cfg/reboot_timeout: ** ERROR:tests/fw_cfg-test.c:108:test_fw_cfg_reboot_timeout: assertion failed (reboot_timeout <= 65535): (4294967295 <= 65535) Aborted xxxqemu# make chek-qtest-i386 make: *** No rule to make target 'chek-qtest-i386'. Stop. xxxqemu# make check-qtest-i386 GTESTER check-qtest-i386 ** ERROR:tests/fw_cfg-test.c:108:test_fw_cfg_reboot_timeout: assertion failed (reboot_timeout <= 65535): (4294967295 <= 65535) GTester: last random seed: R02S7659b379e665961e0060afeb449948b2 xxxqemu/tests/Makefile.include:805: recipe for target 'check-qtest-i386' failed make: *** [check-qtest-i386] Error 1 Thanks, Li Qiang >> fw_cfg = pc_fw_cfg_init(s); >> @@ -125,6 +135,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(); >> >
At 2018-10-30 08:08:55, "Philippe Mathieu-Daudé" <philmd@redhat.com> wrote: >On 28/10/18 13:40, Li Qiang wrote: >> Signed-off-by: Li Qiang <liq3ea@163.com> >> --- >> tests/fw_cfg-test.c | 13 ++++++++++++- >> 1 file changed, 12 insertions(+), 1 deletion(-) >> >> diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c >> index 1c5103fe1c..37765f15f8 100644 >> --- a/tests/fw_cfg-test.c >> +++ b/tests/fw_cfg-test.c >> @@ -99,6 +99,15 @@ 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; >> + >> + qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", >> + &reboot_timeout, sizeof(reboot_timeout)); >> + g_assert_cmpint(reboot_timeout, <=, 65535); >> +} >> + >> int main(int argc, char **argv) >> { >> QTestState *s; >> @@ -106,7 +115,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=4294967295"); > >I'd rather change this test to use qtest_add_data_func() ...: > > qtest_add_data_func("fw_cfg/reboot_timeout", "-boot >reboot-timeout=4294967295 ", test_fw_cfg_reboot_timeout); > Hi here I think use qtest_add_func is ok because there is no need to make such an exception as all of them uses qtest_add_func. Second, the uuid is also uses by all the cases though some of them are not needed. Third, the -boot option will not affect the other cases. Thanks, Li Qiang >... to avoid adding this command line option to all the tests, because >all tests are now failing: > >$ make check-qtest-i386 >[...] >ERROR:qemu/tests/fw_cfg-test.c:33:test_fw_cfg_signature: assertion >failed (buf == "QEMU"): ("\377\377\377\377" == "QEMU") >ERROR:qemu/tests/fw_cfg-test.c:40:test_fw_cfg_id: assertion failed: ((id >== 1) || (id == 3)) >ERROR:qemu/tests/fw_cfg-test.c:52:test_fw_cfg_uuid: assertion failed: >(memcmp(buf, uuid, sizeof(buf)) == 0) >ERROR:qemu/tests/fw_cfg-test.c:57:test_fw_cfg_ram_size: assertion failed >(qfw_cfg_get_u64(fw_cfg, FW_CFG_RAM_SIZE) == ram_size): (-1 == 134217728) >ERROR:qemu/tests/fw_cfg-test.c:62:test_fw_cfg_nographic: assertion >failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_NOGRAPHIC) == 0): (65535 == 0) >ERROR:qemu/tests/fw_cfg-test.c:67:test_fw_cfg_nb_cpus: assertion failed >(qfw_cfg_get_u16(fw_cfg, FW_CFG_NB_CPUS) == nb_cpus): (65535 == 1) >ERROR:qemu/tests/fw_cfg-test.c:72:test_fw_cfg_max_cpus: assertion failed >(qfw_cfg_get_u16(fw_cfg, FW_CFG_MAX_CPUS) == max_cpus): (65535 == 1) >ERROR:qemu/tests/fw_cfg-test.c:80:test_fw_cfg_numa: assertion failed >(qfw_cfg_get_u64(fw_cfg, FW_CFG_NUMA) == nb_nodes): (-1 == 0) >ERROR:qemu/tests/fw_cfg-test.c:99:test_fw_cfg_boot_menu: assertion >failed (qfw_cfg_get_u16(fw_cfg, FW_CFG_BOOT_MENU) == boot_menu): (65535 >== 0) > > >(did you test your patch?) > >> >> fw_cfg = pc_fw_cfg_init(s); >> >> @@ -125,6 +135,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(); >> >>
diff --git a/tests/fw_cfg-test.c b/tests/fw_cfg-test.c index 1c5103fe1c..37765f15f8 100644 --- a/tests/fw_cfg-test.c +++ b/tests/fw_cfg-test.c @@ -99,6 +99,15 @@ 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; + + qfw_cfg_get_file(fw_cfg, "etc/boot-fail-wait", + &reboot_timeout, sizeof(reboot_timeout)); + g_assert_cmpint(reboot_timeout, <=, 65535); +} + int main(int argc, char **argv) { QTestState *s; @@ -106,7 +115,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=4294967295"); fw_cfg = pc_fw_cfg_init(s); @@ -125,6 +135,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();
Signed-off-by: Li Qiang <liq3ea@163.com> --- tests/fw_cfg-test.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)