[PATCH 3/3] tests: Test BlkioParameters related functions for test driver
Luke Yue
lukedyue at gmail.com
Wed Aug 18 14:34:38 UTC 2021
On Wed, 2021-08-18 at 14:37 +0200, Martin Kletzander wrote:
> On Tue, Jul 13, 2021 at 01:42:14PM +0800, Luke Yue wrote:
> > Signed-off-by: Luke Yue <lukedyue at gmail.com>
> > ---
> > examples/xml/test/testdomfv0.xml | 11 +++++++++
> > examples/xml/test/testnodeinline.xml | 11 +++++++++
> > tests/virshtest.c | 36
> > ++++++++++++++++++++++++++++
> > 3 files changed, 58 insertions(+)
> >
> > diff --git a/examples/xml/test/testdomfv0.xml
> > b/examples/xml/test/testdomfv0.xml
> > index fc209cce29..e60b5d69b7 100644
> > --- a/examples/xml/test/testdomfv0.xml
> > +++ b/examples/xml/test/testdomfv0.xml
> > @@ -38,4 +38,15 @@
> > </disk>
> > <graphics type='vnc' port='5904'/>
> > </devices>
> > + <blkiotune>
> > + <weight>800</weight>
> > + <device>
> > + <path>/dev/hda</path>
> > + <weight>700</weight>
> > + <read_bytes_sec>700</read_bytes_sec>
> > + <write_bytes_sec>700</write_bytes_sec>
> > + <read_iops_sec>700</read_iops_sec>
> > + <write_iops_sec>700</write_iops_sec>
> > + </device>
> > + </blkiotune>
> > </domain>
> > diff --git a/examples/xml/test/testnodeinline.xml
> > b/examples/xml/test/testnodeinline.xml
> > index 0ec0f1ace6..78f3c6a671 100644
> > --- a/examples/xml/test/testnodeinline.xml
> > +++ b/examples/xml/test/testnodeinline.xml
> > @@ -48,6 +48,17 @@
> > </disk>
> > <graphics type="vnc" port="5904"/>
> > </devices>
> > + <blkiotune>
> > + <weight>800</weight>
> > + <device>
> > + <path>/dev/hda</path>
> > + <weight>700</weight>
> > + <read_bytes_sec>700</read_bytes_sec>
> > + <write_bytes_sec>700</write_bytes_sec>
> > + <read_iops_sec>700</read_iops_sec>
> > + <write_iops_sec>700</write_iops_sec>
> > + </device>
> > + </blkiotune>
> > </domain>
> > <domain type="test">
> > <name>fc4</name>
> > diff --git a/tests/virshtest.c b/tests/virshtest.c
> > index c1974c46cb..43daf8b9c2 100644
> > --- a/tests/virshtest.c
> > +++ b/tests/virshtest.c
> > @@ -22,6 +22,7 @@ main(void)
> >
> > # define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
> > # define SECURITY_LABEL "libvirt-test (enforcing)"
> > +# define BLKIO_PARAMETER "/dev/hda,700"
> >
> > static const char *dominfo_fc4 = "\
> > Id: 2\n\
> > @@ -43,6 +44,14 @@ static const char *domuuid_fc4 = DOM_UUID
> > "\n\n";
> > static const char *domid_fc4 = "2\n\n";
> > static const char *domname_fc4 = "fc4\n\n";
> > static const char *domstate_fc4 = "running\n\n";
> > +static const char *blkioparameters = "\
> > +weight : 800\n\
> > +device_weight : " BLKIO_PARAMETER "\n\
> > +device_read_iops_sec: " BLKIO_PARAMETER "\n\
> > +device_write_iops_sec: " BLKIO_PARAMETER "\n\
> > +device_read_bytes_sec: " BLKIO_PARAMETER "\n\
> > +device_write_bytes_sec: " BLKIO_PARAMETER "\n\
> > +\n";
> >
> > static int testFilterLine(char *buffer,
> > const char *toRemove)
> > @@ -250,6 +259,25 @@ static int testCompareDomstateByName(const
> > void *data G_GNUC_UNUSED)
> > return testCompareOutputLit(exp, NULL, argv);
> > }
> >
> > +static int testCompareGetBlkioParameters(const void *data
> > G_GNUC_UNUSED)
> > +{
> > + const char *const argv[] = { VIRSH_CUSTOM, "blkiotune", "fv0",
> > NULL };
> > + const char *exp = blkioparameters;
> > + return testCompareOutputLit(exp, NULL, argv);
> > +}
> > +
> > +static int testCompareSetBlkioParameters(const void *data
> > G_GNUC_UNUSED)
> > +{
> > + const char *const argv[] = { VIRSH_CUSTOM, "blkiotune", "fv0",
> > + "--device-weights", "/dev/hda,500",
> > + "--device-read-iops-sec", "/dev/hda,1000",
> > + "--device-write-iops-sec", "/dev/hda,1000",
> > + "--device-read-bytes-sec", "/dev/hda,26214400",
> > + "--device-write-bytes-sec", "/dev/hda,26214400", NULL };
> > + const char *exp = "\n";
> > + return testCompareOutputLit(exp, NULL, argv);
> > +}
> > +
> > struct testInfo {
> > const char *const *argv;
> > const char *result;
> > @@ -334,6 +362,14 @@ mymain(void)
> > testCompareDomstateByName, NULL) != 0)
> > ret = -1;
> >
> > + if (virTestRun("virsh blkiotune (get parameters)",
> > + testCompareGetBlkioParameters, NULL) != 0)
> > + ret = -1;
> > +
> > + if (virTestRun("virsh blkiotune (set parameters)",
> > + testCompareSetBlkioParameters, NULL) != 0)
> > + ret = -1;
> > +
>
> Patches are fine, but please rebase them. I would also appreciate
> testing setting some different value and then checking it was set.
>
Thanks for the review! I will send v2 soon with improvements in tests.
> > /* It's a bit awkward listing result before argument, but
> > that's a
> > * limitation of C99 vararg macros. */
> > # define DO_TEST(i, result, ...) \
> > --
> > 2.32.0
> >
More information about the libvir-list
mailing list