[CRIU] [PATCH 2/2] test: check restoring external fifo-s

Andrey Vagin avagin at openvz.org
Sat Feb 13 09:55:25 PST 2016


From: Andrew Vagin <avagin at virtuozzo.com>

Signed-off-by: Andrew Vagin <avagin at virtuozzo.com>
---
 test/inhfd/fifo.py      | 35 +++++++++++++++++++++++++++++++++++
 test/inhfd/fifo.py.desc |  1 +
 2 files changed, 36 insertions(+)
 create mode 100755 test/inhfd/fifo.py
 create mode 100644 test/inhfd/fifo.py.desc

diff --git a/test/inhfd/fifo.py b/test/inhfd/fifo.py
new file mode 100755
index 0000000..a4b4fc8
--- /dev/null
+++ b/test/inhfd/fifo.py
@@ -0,0 +1,35 @@
+import os, tempfile
+
+id_str = ""
+
+def create_fds():
+	tdir = tempfile.mkdtemp("zdtm.inhfd.XXXXXX")
+	if os.system("mount -t tmpfs zdtm.inhfd %s" % tdir) != 0:
+		raise Exception("Unable to mount tmpfs")
+	tfifo = os.path.join(tdir, "test_fifo")
+	os.mkfifo(tfifo)
+	fd2 = open(tfifo, "w+")
+	fd1 = open(tfifo, "r")
+	os.system("umount -l %s" % tdir)
+	os.rmdir(tdir)
+
+	mnt_id = -1;
+	f = open("/proc/self/fdinfo/%d" % fd1.fileno())
+	for l in f:
+		l = l.split()
+		if l[0] == "mnt_id:":
+			mnt_id = int(l[1])
+			break
+	else:
+		raise Exception("Unable to find mnt_id")
+
+	global id_str
+	id_str = "file[%x:%x]" % (mnt_id, os.fstat(fd1.fileno()).st_ino)
+
+	return (fd2, fd1)
+
+def filename(pipef):
+	return id_str
+
+def dump_opts(sockf):
+	return [ "--external", id_str ]
diff --git a/test/inhfd/fifo.py.desc b/test/inhfd/fifo.py.desc
new file mode 100644
index 0000000..10666c8
--- /dev/null
+++ b/test/inhfd/fifo.py.desc
@@ -0,0 +1 @@
+{ 'flavor': 'h' }
-- 
2.4.3



More information about the CRIU mailing list