From 12f3ca248ad528eee4491f39e1daad4818719b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 1 Jun 2018 13:10:11 +0200 Subject: [PATCH] virjsontest: switch DO_TEST_PARSE_FILE to use output files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also switch the expected output of DO_TEST_PARSE_FILE to be in a file, now that we demonstrated the input files match the expected string representation. Signed-off-by: Ján Tomko --- tests/virjsondata/parse-Harder-out.json | 4 ++ tests/virjsondata/parse-NotSoSimple-out.json | 3 ++ tests/virjsondata/parse-Simple-out.json | 1 + tests/virjsondata/parse-VeryHard-out.json | 24 +++++++++ tests/virjsontest.c | 52 ++++---------------- 5 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 tests/virjsondata/parse-Harder-out.json create mode 100644 tests/virjsondata/parse-NotSoSimple-out.json create mode 100644 tests/virjsondata/parse-Simple-out.json create mode 100644 tests/virjsondata/parse-VeryHard-out.json diff --git a/tests/virjsondata/parse-Harder-out.json b/tests/virjsondata/parse-Harder-out.json new file mode 100644 index 0000000000..31b3edd731 --- /dev/null +++ b/tests/virjsondata/parse-Harder-out.json @@ -0,0 +1,4 @@ +{"return":[{"filename":\ +"unix:/home/berrange/.libvirt/qemu/lib/tck.monitor,server",\ +"label":"charmonitor"},{"filename":"pty:/dev/pts/158",\ +"label":"charserial0"}],"id":"libvirt-3"} diff --git a/tests/virjsondata/parse-NotSoSimple-out.json b/tests/virjsondata/parse-NotSoSimple-out.json new file mode 100644 index 0000000000..e679cd1813 --- /dev/null +++ b/tests/virjsondata/parse-NotSoSimple-out.json @@ -0,0 +1,3 @@ +{"QMP":{"version":{"qemu":\ +{"micro":91,"minor":13,"major":0},\ +"package":" (qemu-kvm-devel)"},"capabilities":[]}} diff --git a/tests/virjsondata/parse-Simple-out.json b/tests/virjsondata/parse-Simple-out.json new file mode 100644 index 0000000000..c6e85e1ceb --- /dev/null +++ b/tests/virjsondata/parse-Simple-out.json @@ -0,0 +1 @@ +{"return":{},"id":"libvirt-1"} diff --git a/tests/virjsondata/parse-VeryHard-out.json b/tests/virjsondata/parse-VeryHard-out.json new file mode 100644 index 0000000000..e10d605950 --- /dev/null +++ b/tests/virjsondata/parse-VeryHard-out.json @@ -0,0 +1,24 @@ +{"return":[{"name":"quit"},{"name":\ +"eject"},{"name":"change"},{"name":"screendump"},\ +{"name":"stop"},{"name":"cont"},{"name":\ +"system_reset"},{"name":"system_powerdown"},\ +{"name":"device_add"},{"name":"device_del"},\ +{"name":"cpu"},{"name":"memsave"},{"name":\ +"pmemsave"},{"name":"migrate"},{"name":\ +"migrate_cancel"},{"name":"migrate_set_speed"},\ +{"name":"client_migrate_info"},{"name":\ +"migrate_set_downtime"},{"name":"netdev_add"},\ +{"name":"netdev_del"},{"name":"block_resize"},\ +{"name":"balloon"},{"name":"set_link"},{"name":\ +"getfd"},{"name":"closefd"},{"name":"block_passwd"},\ +{"name":"set_password"},{"name":"expire_password"},\ +{"name":"qmp_capabilities"},{"name":\ +"human-monitor-command"},{"name":"query-version"},\ +{"name":"query-commands"},{"name":"query-chardev"},\ +{"name":"query-block"},{"name":"query-blockstats"},\ +{"name":"query-cpus"},{"name":"query-pci"},{"name":\ +"query-kvm"},{"name":"query-status"},{"name":\ +"query-mice"},{"name":"query-vnc"},{"name":\ +"query-spice"},{"name":"query-name"},{"name":\ +"query-uuid"},{"name":"query-migrate"},{"name":\ +"query-balloon"}],"id":"libvirt-2"} diff --git a/tests/virjsontest.c b/tests/virjsontest.c index 262fcebca6..4241acd911 100644 --- a/tests/virjsontest.c +++ b/tests/virjsontest.c @@ -23,9 +23,12 @@ testJSONFromFile(const void *data) VIR_AUTOPTR(virJSONValue) injson = NULL; VIR_AUTOFREE(char *) infile = NULL; VIR_AUTOFREE(char *) indata = NULL; + VIR_AUTOFREE(char *) outfile = NULL; VIR_AUTOFREE(char *) actual = NULL; if (virAsprintf(&infile, "%s/virjsondata/parse-%s-in.json", + abs_srcdir, info->name) < 0 || + virAsprintf(&outfile, "%s/virjsondata/parse-%s-out.json", abs_srcdir, info->name) < 0) return -1; @@ -52,10 +55,8 @@ testJSONFromFile(const void *data) if (!(actual = virJSONValueToString(injson, false))) return -1; - if (STRNEQ(info->expect, actual)) { - virTestDifference(stderr, info->expect, actual); + if (virTestCompareToFile(actual, outfile) < 0) return -1; - } return 0; } @@ -499,47 +500,14 @@ mymain(void) #define DO_TEST_PARSE_FAIL(name, doc) \ DO_TEST_FULL(name, FromString, doc, NULL, false) -#define DO_TEST_PARSE_FILE(name, expect) \ - DO_TEST_FULL(name, FromFile, NULL, expect, true) +#define DO_TEST_PARSE_FILE(name) \ + DO_TEST_FULL(name, FromFile, NULL, NULL, true) - DO_TEST_PARSE_FILE("Simple", - "{\"return\":{},\"id\":\"libvirt-1\"}"); - DO_TEST_PARSE_FILE("NotSoSimple", - "{\"QMP\":{\"version\":{\"qemu\":" - "{\"micro\":91,\"minor\":13,\"major\":0}," - "\"package\":\" (qemu-kvm-devel)\"},\"capabilities\":[]}}"); - - DO_TEST_PARSE_FILE("Harder", - "{\"return\":[{\"filename\":" - "\"unix:/home/berrange/.libvirt/qemu/lib/tck.monitor,server\"," - "\"label\":\"charmonitor\"},{\"filename\":\"pty:/dev/pts/158\"," - "\"label\":\"charserial0\"}],\"id\":\"libvirt-3\"}"); - - DO_TEST_PARSE_FILE("VeryHard", "{\"return\":[{\"name\":\"quit\"},{\"name\":" - "\"eject\"},{\"name\":\"change\"},{\"name\":\"screendump\"}," - "{\"name\":\"stop\"},{\"name\":\"cont\"},{\"name\":" - "\"system_reset\"},{\"name\":\"system_powerdown\"}," - "{\"name\":\"device_add\"},{\"name\":\"device_del\"}," - "{\"name\":\"cpu\"},{\"name\":\"memsave\"},{\"name\":" - "\"pmemsave\"},{\"name\":\"migrate\"},{\"name\":" - "\"migrate_cancel\"},{\"name\":\"migrate_set_speed\"}," - "{\"name\":\"client_migrate_info\"},{\"name\":" - "\"migrate_set_downtime\"},{\"name\":\"netdev_add\"}," - "{\"name\":\"netdev_del\"},{\"name\":\"block_resize\"}," - "{\"name\":\"balloon\"},{\"name\":\"set_link\"},{\"name\":" - "\"getfd\"},{\"name\":\"closefd\"},{\"name\":\"block_passwd\"}," - "{\"name\":\"set_password\"},{\"name\":\"expire_password\"}," - "{\"name\":\"qmp_capabilities\"},{\"name\":" - "\"human-monitor-command\"},{\"name\":\"query-version\"}," - "{\"name\":\"query-commands\"},{\"name\":\"query-chardev\"}," - "{\"name\":\"query-block\"},{\"name\":\"query-blockstats\"}," - "{\"name\":\"query-cpus\"},{\"name\":\"query-pci\"},{\"name\":" - "\"query-kvm\"},{\"name\":\"query-status\"},{\"name\":" - "\"query-mice\"},{\"name\":\"query-vnc\"},{\"name\":" - "\"query-spice\"},{\"name\":\"query-name\"},{\"name\":" - "\"query-uuid\"},{\"name\":\"query-migrate\"},{\"name\":" - "\"query-balloon\"}],\"id\":\"libvirt-2\"}"); + DO_TEST_PARSE_FILE("Simple"); + DO_TEST_PARSE_FILE("NotSoSimple"); + DO_TEST_PARSE_FILE("Harder"); + DO_TEST_PARSE_FILE("VeryHard"); DO_TEST_FULL("success", AddRemove, NULL, NULL, true); DO_TEST_FULL("failure", AddRemove, NULL, NULL, false);