[CRIU] [PATCH 3/3] test: check restoring external fifo-s
Andrey Vagin
avagin at openvz.org
Wed Jan 20 18:07:05 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