Blob Blame History Raw
From 2803498d804fedc6de37ceb52f5f28072ace247a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Tue, 26 Nov 2019 18:39:09 +0100
Subject: [PATCH 033/181] umockdev-test: Make possible to use a wrapper to run
 tests

Support LIBFPRINT_TEST_WRAPPER env variable to run tests with a wrapper.
---
 tests/umockdev-test.py | 31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/tests/umockdev-test.py b/tests/umockdev-test.py
index f1387d6..d91fcb9 100755
--- a/tests/umockdev-test.py
+++ b/tests/umockdev-test.py
@@ -50,18 +50,23 @@ def cmp_pngs(png_a, png_b):
         for y in range(img_a.get_height()):
             assert(data_a[y * stride + x * 4] == data_b[y * stride + x * 4])
 
-def capture():
-    ioctl = os.path.join(ddir, "capture.ioctl")
+def get_umockdev_runner(ioctl_basename):
+    ioctl = os.path.join(ddir, "{}.ioctl".format(ioctl_basename))
     device = os.path.join(ddir, "device")
     dev = open(ioctl).readline().strip()
     assert dev.startswith('@DEV ')
     dev = dev[5:]
 
-    subprocess.check_call(['umockdev-run', '-d', device,
-                                           '-i', "%s=%s" % (dev, ioctl),
-                                           '--',
-                                           '%s' % os.path.join(edir, "capture.py"),
-                                             '%s' % os.path.join(tmpdir, "capture.png")])
+    umockdev = ['umockdev-run', '-d', device,
+                '-i', "%s=%s" % (dev, ioctl),
+                '--']
+    wrapper = os.getenv('LIBFPRINT_TEST_WRAPPER')
+    return umockdev + (wrapper.split(' ') if wrapper else []) + [sys.executable]
+
+def capture():
+    subprocess.check_call(get_umockdev_runner("capture") +
+                          ['%s' % os.path.join(edir, "capture.py"),
+                           '%s' % os.path.join(tmpdir, "capture.png")])
 
     assert os.path.isfile(os.path.join(tmpdir, "capture.png"))
     if os.path.isfile(os.path.join(ddir, "capture.png")):
@@ -69,16 +74,8 @@ def capture():
         cmp_pngs(os.path.join(tmpdir, "capture.png"), os.path.join(ddir, "capture.png"))
 
 def custom():
-    ioctl = os.path.join(ddir, "custom.ioctl")
-    device = os.path.join(ddir, "device")
-    dev = open(ioctl).readline().strip()
-    assert dev.startswith('@DEV ')
-    dev = dev[5:]
-
-    subprocess.check_call(['umockdev-run', '-d', device,
-                                           '-i', "%s=%s" % (dev, ioctl),
-                                           '--',
-                                           '%s' % os.path.join(ddir, "custom.py")])
+    subprocess.check_call(get_umockdev_runner("custom") +
+                          ['%s' % os.path.join(ddir, "custom.py")])
 
 try:
     if os.path.exists(os.path.join(ddir, "capture.ioctl")):
-- 
2.24.1