aboutsummaryrefslogtreecommitdiff
path: root/test/test_fuse.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_fuse.py')
-rwxr-xr-xtest/test_fuse.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/test_fuse.py b/test/test_fuse.py
new file mode 100755
index 0000000..bbba6e0
--- /dev/null
+++ b/test/test_fuse.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python3
+import pytest
+import sys
+
+if __name__ == '__main__':
+ sys.exit(pytest.main([__file__] + sys.argv[1:]))
+
+import subprocess
+import os
+from util import wait_for_mount, umount, cleanup
+
+basename = os.path.join(os.path.dirname(__file__), '..')
+
+def test_fuse(tmpdir):
+ mnt_dir = str(tmpdir.mkdir('mnt'))
+ src_dir = str(tmpdir.mkdir('src'))
+
+ cmdline = [ os.path.join(basename, 'example', 'fusexmp_fh'),
+ '-f', '-o' , 'use_ino,readdir_ino,kernel_cache',
+ mnt_dir ]
+ mount_process = subprocess.Popen(cmdline)
+ try:
+ wait_for_mount(mount_process, mnt_dir)
+ cmdline = [ os.path.join(basename, 'test', 'test'),
+ os.path.join(mnt_dir, src_dir),
+ ':' + src_dir ]
+ subprocess.check_call(cmdline)
+ except:
+ cleanup(mnt_dir)
+ raise
+ else:
+ umount(mount_process, mnt_dir)