[libvirt] [PATCH v3 2/2] virnetdevbandwidthtest: Introduce testVirNetDevBandwidthSet
Ján Tomko
jtomko at redhat.com
Wed Jan 29 08:36:48 UTC 2014
On 01/28/2014 07:37 PM, Michal Privoznik wrote:
> The test tries to set some QoS limits and check if the commands
> that are actually executed are the expected ones.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> tests/virnetdevbandwidthtest.c | 76 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 76 insertions(+)
>
> diff --git a/tests/virnetdevbandwidthtest.c b/tests/virnetdevbandwidthtest.c
> index 989018e..044decd 100644
> --- a/tests/virnetdevbandwidthtest.c
> +++ b/tests/virnetdevbandwidthtest.c
> @@ -104,6 +112,48 @@ cleanup:
> }
>
> static int
> +testVirNetDevBandwidthSet(const void *data)
> +{
> + int ret = -1;
> + const struct testSetStruct *info = data;
> + const char *iface = info->iface;
> + virNetDevBandwidthPtr band = NULL;
> + virBuffer buf = VIR_BUFFER_INITIALIZER;
> + char *actual_cmd = NULL;
> +
> + PARSE(info->band, band);
> +
> + if (!iface)
> + iface = "eth0";
> +
> + virCommandSetDryRun(&buf);
> +
> + if (virNetDevBandwidthSet(iface, band, info->hierarchical_class) < 0)
> + goto cleanup;
> +
> + if (!(actual_cmd = virBufferContentAndReset(&buf))) {
> + int err = virBufferError(&buf);
> + if (err) {
> + fprintf(stderr, "buffer's in error state: %d", err);
> + goto cleanup;
> + }
> + /* This is interesting, no command has been executed.
> + * Maybe that's expected, actually. */
> + }
> +
> + if (STRNEQ_NULLABLE(info->exp_cmd, actual_cmd)) {
> + virtTestDifference(stderr, info->exp_cmd, actual_cmd);
> + goto cleanup;
> + }
> +
> + ret = 0;
> +cleanup:
if virNetDevBandwidthSet executes some commands but fails, you should
virBufferFreeAndReset(&buf)
here
> + virNetDevBandwidthFree(band);
> + VIR_FREE(actual_cmd);
> + return ret;
> +}
> +
> +static int
> mymain(void)
> {
> int ret = 0;
ACK
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140129/0404ffd4/attachment-0001.sig>
More information about the libvir-list
mailing list