example/ioctl: build on FreeBSD, but add protocol check instead.
authorNikolaus Rath <Nikolaus@rath.org>
Fri, 25 Aug 2017 08:48:09 +0000 (10:48 +0200)
committerNikolaus Rath <Nikolaus@rath.org>
Fri, 25 Aug 2017 08:48:09 +0000 (10:48 +0200)
example/meson.build
test/test_examples.py

index 8440e001a0212b1624eee09851a8b7e2fb63da5c..673982cd28c76df33eec5ea3962c9a55206c6973 100644 (file)
@@ -1,15 +1,15 @@
 examples = [ 'passthrough', 'passthrough_fh',
              'hello', 'hello_ll', 'printcap',
-             'ioctl_client', 'poll_client',
+             'ioctl_client', 'poll_client', 'ioctl',
              'cuse', 'cuse_client' ]
 
 if not platform.endswith('bsd')
     examples += 'passthrough_ll'
 
-    # Is this really not supported? We should check with
-    # the FreeBSD guys, maybe we're just doing something
-    # wrong.
-    examples += [ 'null', 'ioctl' ]
+    # According to Conrad Meyer <cem@freebsd.org>, FreeBSD doesn't
+    # support mounting files, This is enforced in vfs_domount_first()
+    # with the v_type != VDIR check.
+    examples += [ 'null' ]
 endif
 
 threaded_examples = [ 'notify_inval_inode',
index 609cf2447a0c27411d1e45f3e1cf30dc7418f86e..60b688879cf881dd38824c14b2d7f2d83df3db4a 100755 (executable)
@@ -166,6 +166,8 @@ def test_passthrough(tmpdir, name, debug, capfd):
     else:
         umount(mount_process, mnt_dir)
 
+@pytest.mark.skipif(fuse_proto < (7,11),
+                    reason='not supported by running kernel')
 def test_ioctl(tmpdir):
     progname = pjoin(basename, 'example', 'ioctl')
     if not os.path.exists(progname):