aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_fuse.py
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2016-03-29 15:30:57 -0700
committerNikolaus Rath <Nikolaus@rath.org>2016-03-29 16:06:29 -0700
commit59e58de40c50ac05e24f5dc2d3267890974cde04 (patch)
tree560212f2ea2b7622df1bb6da1fa4a4ad328f82dc /test/test_fuse.py
parent92e2863fb7ff857e424329508d32225eb9b3b3e9 (diff)
downloadlibfuse-59e58de40c50ac05e24f5dc2d3267890974cde04.tar.gz
Added basic unit tests.
Fixes issue #33.
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)