[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 1/2] qemumonitorjsontest: Test CPU state handling code



On 09/18/2013 12:16 PM, Michal Privoznik wrote:
> Signed-off-by: Michal Privoznik <mprivozn redhat com>
> ---
>  tests/qemumonitorjsontest.c | 56 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
> 
> diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
> index b287747..0a3f717 100644
> --- a/tests/qemumonitorjsontest.c
> +++ b/tests/qemumonitorjsontest.c
> @@ -942,6 +942,61 @@ cleanup:
>      return ret;
>  }
>  
> +static int
> +testQemuMonitorJSONCPU(const void *data)
> +{
> +    const virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
> +    qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);

Coverity complains:

(1) Event returned_null: 	Function "qemuMonitorTestNew(bool, virDomainXMLOptionPtr, virDomainObjPtr, virQEMUDriverPtr)" returns null (checked 14 out of 16 times). [details]
(11) Event var_assigned: 	Assigning: "test" = null return value from "qemuMonitorTestNew(bool, virDomainXMLOptionPtr, virDomainObjPtr, virQEMUDriverPtr)".

> +    int ret = -1;
> +    bool running = false;
> +    virDomainPausedReason reason = 0;
> +
> +    if (qemuMonitorTestAddItem(test, "stop", "{\"return\": {}}") < 0 ||


(12) Event dereference: 	Dereferencing a pointer that might be null "test" when calling "qemuMonitorTestAddItem(qemuMonitorTestPtr, char const *, char const *)". [details]


John

> +        qemuMonitorTestAddItem(test, "query-status",
> +                               "{\"return\": {"
> +                               "   \"status\": \"paused\","
> +                               "   \"singlestep\": false,"
> +                               "   \"running\": false}}") < 0 ||
> +        qemuMonitorTestAddItem(test, "cont", "{\"return\": {}}") < 0 ||
> +        qemuMonitorTestAddItem(test, "query-status",
> +                               "{\"return\": {"
> +                               "    \"status\": \"running\","
> +                               "    \"singlestep\": false,"
> +                               "    \"running\": true}}") < 0)
> +        goto cleanup;
> +
> +    if (qemuMonitorJSONStopCPUs(qemuMonitorTestGetMonitor(test)) < 0)
> +        goto cleanup;
> +
> +    if (qemuMonitorGetStatus(qemuMonitorTestGetMonitor(test),
> +                             &running, &reason) < 0)
> +        goto cleanup;
> +
> +    if (running) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                       "Running was not false");
> +        goto cleanup;
> +    }
> +
> +    if (qemuMonitorJSONStartCPUs(qemuMonitorTestGetMonitor(test), NULL) < 0)
> +        goto cleanup;
> +
> +    if (qemuMonitorGetStatus(qemuMonitorTestGetMonitor(test),
> +                             &running, &reason) < 0)
> +        goto cleanup;
> +
> +    if (!running) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                       "Running was not true");
> +        goto cleanup;
> +    }
> +
> +    ret = 0;
> +
> +cleanup:
> +    qemuMonitorTestFree(test);
> +    return ret;
> +}
>  
>  static int
>  mymain(void)
> @@ -977,6 +1032,7 @@ mymain(void)
>      DO_TEST(GetObjectProperty);
>      DO_TEST(SetObjectProperty);
>      DO_TEST(GetDeviceAliases);
> +    DO_TEST(CPU);
>  
>      virObjectUnref(xmlopt);
>  
> 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]