diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv
new file mode 100644
index 0000000000..6d5c6e1cb8
--- /dev/null
+++ b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.argv
@@ -0,0 +1,5 @@
+mdevctl \
+start \
+--parent=0.0.0052 \
+--jsonfile=/dev/stdin \
+--uuid=cc000052-9b13-9b13-9b13-cc23009b1326
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json
new file mode 100644
index 0000000000..2dced5c695
--- /dev/null
+++ b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-create.json
@@ -0,0 +1 @@
+{"mdev_type":"vfio_ccw-io","start":"manual"}
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv
new file mode 100644
index 0000000000..997ce08fb8
--- /dev/null
+++ b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.argv
@@ -0,0 +1,5 @@
+mdevctl \
+define \
+--parent=0.0.0052 \
+--jsonfile=/dev/stdin \
+--uuid=cc000052-9b13-9b13-9b13-cc23009b1326
diff --git a/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json
new file mode 100644
index 0000000000..2dced5c695
--- /dev/null
+++ b/tests/nodedevmdevctldata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326-define.json
@@ -0,0 +1 @@
+{"mdev_type":"vfio_ccw-io","start":"manual"}
diff --git a/tests/nodedevmdevctldata/mdevctl-list-multiple.json b/tests/nodedevmdevctldata/mdevctl-list-multiple.json
index 98e46584a0..ee6641df6f 100644
--- a/tests/nodedevmdevctldata/mdevctl-list-multiple.json
+++ b/tests/nodedevmdevctldata/mdevctl-list-multiple.json
@@ -52,6 +52,15 @@
]
}
}
+ ],
+ "0.0.0052": [
+ {
+ "cc000052-9b13-9b13-9b13-cc23009b1326": {
+ "mdev_type": "vfio_ccw-io",
+ "start": "manual",
+ "attrs": []
+ }
+ }
]
}
]
diff --git a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
index 4b558a1464..4df5f4f43c 100644
--- a/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
+++ b/tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
@@ -41,3 +41,12 @@
+
+ mdev_cc000052_9b13_9b13_9b13_cc23009b1326_0_0_0052
+ css_0_0_0052
+
+
+ cc000052-9b13-9b13-9b13-cc23009b1326
+
+
+
diff --git a/tests/nodedevmdevctltest.c b/tests/nodedevmdevctltest.c
index 92d3c75766..d660d4cc21 100644
--- a/tests/nodedevmdevctltest.c
+++ b/tests/nodedevmdevctltest.c
@@ -331,6 +331,32 @@ fakeMatrixDevice(void)
return def;
}
+
+/* Add a fake css device that can be used as a parent device for mediated
+ * devices. For our purposes, it only needs to have a name that matches the
+ * parent of the mdev, and it needs the proper name
+ */
+static virNodeDeviceDef *
+fakeCSSDevice(void)
+{
+ virNodeDeviceDef *def = NULL;
+ virNodeDevCapCCW *css_dev;
+
+ def = g_new0(virNodeDeviceDef, 1);
+ def->caps = g_new0(virNodeDevCapsDef, 1);
+
+ def->name = g_strdup("css_0_0_0052");
+ def->parent = g_strdup("computer");
+
+ def->caps->data.type = VIR_NODE_DEV_CAP_CSS_DEV;
+ css_dev = &def->caps->data.ccw_dev;
+ css_dev->cssid = 0;
+ css_dev->ssid = 0;
+ css_dev->devno = 82;
+
+ return def;
+}
+
static int
addDevice(virNodeDeviceDef *def)
{
@@ -354,7 +380,8 @@ nodedevTestDriverAddTestDevices(void)
{
if (addDevice(fakeRootDevice()) < 0 ||
addDevice(fakePCIDevice()) < 0 ||
- addDevice(fakeMatrixDevice()) < 0)
+ addDevice(fakeMatrixDevice()) < 0 ||
+ addDevice(fakeCSSDevice()) < 0)
return -1;
return 0;
@@ -437,6 +464,7 @@ mymain(void)
DO_TEST_CREATE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
DO_TEST_CREATE("mdev_fedc4916_1ca8_49ac_b176_871d16c13076");
DO_TEST_CREATE("mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9");
+ DO_TEST_CREATE("mdev_cc000052_9b13_9b13_9b13_cc23009b1326");
/* Test mdevctl stop command, pass an arbitrary uuid */
DO_TEST_STOP("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
@@ -449,6 +477,7 @@ mymain(void)
DO_TEST_DEFINE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
DO_TEST_DEFINE("mdev_fedc4916_1ca8_49ac_b176_871d16c13076");
DO_TEST_DEFINE("mdev_d2441d39_495e_4243_ad9f_beb3f14c23d9");
+ DO_TEST_DEFINE("mdev_cc000052_9b13_9b13_9b13_cc23009b1326");
DO_TEST_UNDEFINE("mdev_d069d019_36ea_4111_8f0a_8c9a70e21366");
diff --git a/tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml b/tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml
new file mode 100644
index 0000000000..8a779464d8
--- /dev/null
+++ b/tests/nodedevschemadata/mdev_cc000052_9b13_9b13_9b13_cc23009b1326.xml
@@ -0,0 +1,8 @@
+
+ mdev_cc000052_9b13_9b13_9b13_cc23009b1326
+ css_0_0_0052
+
+
+ cc000052-9b13-9b13-9b13-cc23009b1326
+
+