[libvirt] [PATCH V3 1/5] util: Introduce virJSONStringCompare for JSON doc comparisons

Jim Fehlig jfehlig at suse.com
Thu Sep 11 21:57:18 UTC 2014


Daniel P. Berrange wrote:
> On Wed, Sep 03, 2014 at 09:07:35PM -0600, Jim Fehlig wrote:
>   
>> From: "Daniel P. Berrange" <berrange at redhat.com>
>>
>> Comparing JSON docs using strcmp is simple, but is not flexible
>> as it is sensitive to whitespace used in the doc generation.
>> When comparing objects it may also be desirable to treat the
>> existance of keys in the actual object but not expected object
>> as non-fatal. Introduce a virJSONStringCompare function which
>> takes two strings representing expected and actual JSON docs
>> and then does a DOM comparison.  Comparison is controled with
>> the ignore_contexts and flags parameters.  No comparison is
>> done on context paths specified in ignore_contexts.  The
>> VIR_JSON_COMPARE_IGNORE_EXPECTED_NULL flag can be used to
>> ignore actual values that have changed from an expected value
>> of null.
>>
>> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>> ---
>>  src/libvirt_private.syms |   1 +
>>  src/util/virjson.c       | 242 +++++++++++++++++++++++++++++++++++++++++++++++
>>  src/util/virjson.h       |  16 ++++
>>  3 files changed, 259 insertions(+)
>>     
>
> Looks good, but perhaps we should also add to tests/virjsontest.c
> to verify the ignore context support is working as intended
>   

Yes, good idea.  I'll include that in V4.

Regards,
Jim




More information about the libvir-list mailing list