From 1d625c5d2579d0ba4d0b5fae95b27bc36343efb8 Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Mon, 2 Jan 2023 16:26:31 +0100 Subject: [PATCH] tests: Check error message in virnetdaemontest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This way we actually check for the proper error, not any error like invalid JSON format. Signed-off-by: Martin Kletzander Reviewed-by: Ján Tomko --- .../output-data-anon-clients.err | 1 + ...utput-data-client-auth-pending-failure.err | 1 + tests/virnetdaemontest.c | 19 +++++++++++-------- 3 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 tests/virnetdaemondata/output-data-anon-clients.err create mode 100644 tests/virnetdaemondata/output-data-client-auth-pending-failure.err diff --git a/tests/virnetdaemondata/output-data-anon-clients.err b/tests/virnetdaemondata/output-data-anon-clients.err new file mode 100644 index 0000000000..6d75757bd5 --- /dev/null +++ b/tests/virnetdaemondata/output-data-anon-clients.err @@ -0,0 +1 @@ +internal error: Server testServer1 was not created diff --git a/tests/virnetdaemondata/output-data-client-auth-pending-failure.err b/tests/virnetdaemondata/output-data-client-auth-pending-failure.err new file mode 100644 index 0000000000..d76079f0c9 --- /dev/null +++ b/tests/virnetdaemondata/output-data-client-auth-pending-failure.err @@ -0,0 +1 @@ +internal error: Invalid auth_pending and auth combination in JSON state document diff --git a/tests/virnetdaemontest.c b/tests/virnetdaemontest.c index 2a8bc0ec93..47d0923bdd 100644 --- a/tests/virnetdaemontest.c +++ b/tests/virnetdaemontest.c @@ -303,8 +303,8 @@ static int testExecRestart(const void *opaque) infile = g_strdup_printf("%s/virnetdaemondata/input-data-%s.json", abs_srcdir, data->jsonfile); - outfile = g_strdup_printf("%s/virnetdaemondata/output-data-%s.json", - abs_srcdir, data->jsonfile); + outfile = g_strdup_printf("%s/virnetdaemondata/output-data-%s.%s", + abs_srcdir, data->jsonfile, data->pass ? "json" : "err"); if (virFileReadAll(infile, 8192, &injsonstr) < 0) goto cleanup; @@ -331,6 +331,9 @@ static int testExecRestart(const void *opaque) if (!(outjson = virNetDaemonPreExecRestart(dmn))) goto cleanup; + if (!data->pass) + goto cleanup; + if (!(outjsonstr = virJSONValueToString(outjson, true))) goto cleanup; @@ -340,15 +343,15 @@ static int testExecRestart(const void *opaque) ret = 0; cleanup: if (ret < 0) { - if (!data->pass) { - VIR_TEST_DEBUG("Got expected error: %s", - virGetLastErrorMessage()); + if (injson && !data->pass) { + ret = virTestCompareToFile(virGetLastErrorMessage(), outfile); + if (ret < 0) + VIR_TEST_DEBUG("Test failed with different error message"); virResetLastError(); - ret = 0; } } else if (!data->pass) { - VIR_TEST_DEBUG("Test should have failed"); - ret = -1; + VIR_TEST_DEBUG("Test should have failed"); + ret = -1; } virObjectUnref(dmn); VIR_FORCE_CLOSE(fdserver[0]);