bpo-33655: Also ignore test_posix_fallocate failures on BSD platforms (GH-7134)


The failure may be due to the use oF ZFS, a case we already ignore
for Solaris-based systems where ZFS is frequently used.
(cherry picked from commit 09c4a7dee2eb39b515e5f499f184257cdbe9cb42)

Co-authored-by: Ned Deily <nad@python.org>
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index bf7c8c2..7dea1be 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -343,7 +343,12 @@
         except OSError as inst:
             # issue10812, ZFS doesn't appear to support posix_fallocate,
             # so skip Solaris-based since they are likely to have ZFS.
-            if inst.errno != errno.EINVAL or not sys.platform.startswith("sunos"):
+            # issue33655: Also ignore EINVAL on *BSD since ZFS is also
+            # often used there.
+            if inst.errno == errno.EINVAL and sys.platform.startswith(
+                ('sunos', 'freebsd', 'netbsd', 'openbsd', 'gnukfreebsd')):
+                raise unittest.SkipTest("test may fail on ZFS filesystems")
+            else:
                 raise
         finally:
             os.close(fd)