Stefan Hajnoczi <stefa...@redhat.com> writes: > Use g_assert_cmpstr() instead of combining g_assert() and strcmp(3). > This simplifies the code since we no longer have to play games to > distinguish NULL from "" using "(null)". > > gcc extension haters will also be happy that ?: was dropped. > > Suggested-by: Markus Armbruster <arm...@redhat.com> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > tests/qdev-monitor-test.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tests/qdev-monitor-test.c b/tests/qdev-monitor-test.c > index ba7f9cc..eefaab8 100644 > --- a/tests/qdev-monitor-test.c > +++ b/tests/qdev-monitor-test.c > @@ -32,8 +32,9 @@ static void test_device_add(void) > "}}"); > g_assert(response); > error = qdict_get_qdict(response, "error"); > - g_assert(!strcmp(qdict_get_try_str(error, "desc") ?: "", > - "Device needs media, but drive is empty")); > + g_assert_cmpstr(qdict_get_try_str(error, "desc"), > + ==, > + "Device needs media, but drive is empty"); > QDECREF(response); > > /* Delete the drive */
Outside this patch's scope, but here goes anyway: why do we test the value of member desc? Isn't that awfully fragile? It broke once already, in Andreas's commit 75884af "virtio-blk: Convert to QOM realize". Andreas, do you remember why you tossed the class == GenericError check instead of the desc check? > @@ -42,7 +43,7 @@ static void test_device_add(void) > " \"command-line\": \"drive_del drive0\"" > "}}"); > g_assert(response); > - g_assert(!strcmp(qdict_get_try_str(response, "return") ?: "(null)", "")); > + g_assert_cmpstr(qdict_get_try_str(response, "return"), ==, ""); > QDECREF(response); > > /* Try to re-add the drive. This fails with duplicate IDs if a leaked > @@ -53,8 +54,7 @@ static void test_device_add(void) > " \"command-line\": \"drive_add pci-addr=auto > if=none,id=drive0\"" > "}}"); > g_assert(response); > - g_assert(!strcmp(qdict_get_try_str(response, "return") ?: "", > - "OK\r\n")); > + g_assert_cmpstr(qdict_get_try_str(response, "return"), ==, "OK\r\n"); > QDECREF(response); > > qtest_end(); Reviewed-by: Markus Armbruster <arm...@redhat.com>