* Eric Blake (ebl...@redhat.com) wrote: > On 04/06/2017 10:41 AM, Dr. David Alan Gilbert (git) wrote: > > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > > > Gcc 7 (on Fedora 26) spotted odd use of integers instead of a > > boolean; it's got a point. > > > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > --- > > tests/check-qdict.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tests/check-qdict.c b/tests/check-qdict.c > > index 81162ee572..6f3fbcf9c1 100644 > > --- a/tests/check-qdict.c > > +++ b/tests/check-qdict.c > > @@ -559,7 +559,7 @@ static void qdict_join_test(void) > > g_assert(qdict_size(dict1) == 2); > > g_assert(qdict_size(dict2) == !overwrite); > > > > - g_assert(qdict_get_int(dict1, "foo") == overwrite ? 84 : 42); > > + g_assert(qdict_get_int(dict1, "foo") == (overwrite ? 84 : 42)); > > How is the test passing pre-patch, and why does it not change the test > post-patch? Does that mean that overwrite is not doing what we expected?
Pre-patch it passes because either 84 or 42 are valid 'true' values into g_assert. Post patch it ends up as either: qdict_get_int(dict1, "foo") == 42 or qdict_get_int(dict1, "foo") == 84 which is what's intended. Dave > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK