mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
tests: Test IOThread related functions for test driver
testIOThreadAdd tests iothreadinfo and iothreadadd testIOThreadDel tests iothreadinfo and iothreaddel testIOThreadSet tests domstats and iothreadset testIOThreadPin tests iothreadadd, iothreadinfo and iothreadpin Above tests should cover the IOThreads related APIs for test driver Signed-off-by: Luke Yue <lukedyue@gmail.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
28d5ee324a
commit
6cd6225778
@ -32,6 +32,7 @@ main(void)
|
||||
deprecated configuration: CPU model Deprecated-Test"
|
||||
# define GET_BLKIO_PARAMETER "/dev/hda,700"
|
||||
# define SET_BLKIO_PARAMETER "/dev/hda,1000"
|
||||
# define EQUAL "="
|
||||
|
||||
static const char *dominfo_fc4 = "\
|
||||
Id: 2\n\
|
||||
@ -338,6 +339,99 @@ static int testCompareSetBlkioParameters(const void *data G_GNUC_UNUSED)
|
||||
return testCompareOutputLit(exp, NULL, argv);
|
||||
}
|
||||
|
||||
static int testIOThreadAdd(const void *data G_GNUC_UNUSED)
|
||||
{
|
||||
const char *const argv[] = { VIRSH_CUSTOM, "iothreadinfo --domain fc4;\
|
||||
iothreadadd --domain fc4 --id 6;\
|
||||
iothreadinfo --domain fc4", NULL};
|
||||
const char *exp = "\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
2 0\n\
|
||||
4 0\n\
|
||||
\n\
|
||||
\n\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
2 0\n\
|
||||
4 0\n\
|
||||
6 0\n\
|
||||
\n";
|
||||
return testCompareOutputLit(exp, NULL, argv);
|
||||
}
|
||||
|
||||
static int testIOThreadDel(const void *data G_GNUC_UNUSED)
|
||||
{
|
||||
const char *const argv[] = { VIRSH_CUSTOM, "iothreadinfo --domain fc4;\
|
||||
iothreaddel --domain fc4 --id 2;\
|
||||
iothreadinfo --domain fc4", NULL};
|
||||
const char *exp = "\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
2 0\n\
|
||||
4 0\n\
|
||||
\n\
|
||||
\n\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
4 0\n\
|
||||
\n";
|
||||
return testCompareOutputLit(exp, NULL, argv);
|
||||
}
|
||||
|
||||
static int testIOThreadSet(const void *data G_GNUC_UNUSED)
|
||||
{
|
||||
const char *const argv[] = { VIRSH_CUSTOM, "domstats --domain fc4;\
|
||||
iothreadset --domain fc4\
|
||||
--id 2 --poll-max-ns 100\
|
||||
--poll-shrink 10 --poll-grow 10;\
|
||||
domstats --domain fc4", NULL};
|
||||
const char *exp = "\
|
||||
Domain: 'fc4'\n\
|
||||
state.state" EQUAL "1\n\
|
||||
state.reason" EQUAL "0\n\
|
||||
iothread.count" EQUAL "2\n\
|
||||
iothread.2.poll-max-ns" EQUAL "32768\n\
|
||||
iothread.2.poll-grow" EQUAL "0\n\
|
||||
iothread.2.poll-shrink" EQUAL "0\n\
|
||||
iothread.4.poll-max-ns" EQUAL "32768\n\
|
||||
iothread.4.poll-grow" EQUAL "0\n\
|
||||
iothread.4.poll-shrink" EQUAL "0\n\n\
|
||||
\n\
|
||||
Domain: 'fc4'\n\
|
||||
state.state" EQUAL "1\n\
|
||||
state.reason" EQUAL "0\n\
|
||||
iothread.count" EQUAL "2\n\
|
||||
iothread.2.poll-max-ns" EQUAL "100\n\
|
||||
iothread.2.poll-grow" EQUAL "10\n\
|
||||
iothread.2.poll-shrink" EQUAL "10\n\
|
||||
iothread.4.poll-max-ns" EQUAL "32768\n\
|
||||
iothread.4.poll-grow" EQUAL "0\n\
|
||||
iothread.4.poll-shrink" EQUAL "0\n\n";
|
||||
return testCompareOutputLit(exp, NULL, argv);
|
||||
}
|
||||
|
||||
static int testIOThreadPin(const void *data G_GNUC_UNUSED)
|
||||
{
|
||||
const char *const argv[] = { VIRSH_CUSTOM,
|
||||
"iothreadadd --domain fc5 --id 2;\
|
||||
iothreadinfo --domain fc5;\
|
||||
iothreadpin --domain fc5 --iothread 2\
|
||||
--cpulist 0;\
|
||||
iothreadinfo --domain fc5", NULL};
|
||||
const char *exp = "\n\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
2 0-3\n\
|
||||
\n\
|
||||
\n\
|
||||
IOThread ID CPU Affinity\n\
|
||||
-----------------------------\n\
|
||||
2 0\n\
|
||||
\n";
|
||||
return testCompareOutputLit(exp, NULL, argv);
|
||||
}
|
||||
|
||||
struct testInfo {
|
||||
const char *const *argv;
|
||||
const char *result;
|
||||
@ -438,6 +532,22 @@ mymain(void)
|
||||
testCompareSetBlkioParameters, NULL) != 0)
|
||||
ret = -1;
|
||||
|
||||
if (virTestRun("virsh iothreadadd",
|
||||
testIOThreadAdd, NULL) != 0)
|
||||
ret = -1;
|
||||
|
||||
if (virTestRun("virsh iothreaddel",
|
||||
testIOThreadDel, NULL) != 0)
|
||||
ret = -1;
|
||||
|
||||
if (virTestRun("virsh iothreadset",
|
||||
testIOThreadSet, NULL) != 0)
|
||||
ret = -1;
|
||||
|
||||
if (virTestRun("virsh iothreadpin",
|
||||
testIOThreadPin, NULL) != 0)
|
||||
ret = -1;
|
||||
|
||||
/* It's a bit awkward listing result before argument, but that's a
|
||||
* limitation of C99 vararg macros. */
|
||||
# define DO_TEST(i, result, ...) \
|
||||
|
Loading…
Reference in New Issue
Block a user