diff --git a/lang/python/python-pyfuse3/Makefile b/lang/python/python-pyfuse3/Makefile index 555c7483e4..f1456e9a9f 100644 --- a/lang/python/python-pyfuse3/Makefile +++ b/lang/python/python-pyfuse3/Makefile @@ -8,16 +8,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pyfuse3 -PKG_VERSION:=3.4.1 +PKG_VERSION:=3.4.2 PKG_RELEASE:=1 PYPI_NAME:=pyfuse3 -PKG_HASH:=602f9c5f944bcdbd5e7f526c0e7f44af41970abedabc72d94ac16563e1b49209 +PKG_HASH:=0a59031969c4ba51a5ec1b67f3c5c24f641a6a3f8119a86edad56debcb9084d9 PKG_LICENSE:=LGPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Julien Malik +PKG_BUILD_DEPENDS:=python-cython/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -31,6 +33,7 @@ define Package/python3-pyfuse3 DEPENDS:= \ +python3-light \ +python3-asyncio \ + +python3-urllib \ +python3-logging \ +python3-trio \ +libfuse3 diff --git a/lang/python/python-pyfuse3/test.sh b/lang/python/python-pyfuse3/test.sh new file mode 100644 index 0000000000..5481fe178a --- /dev/null +++ b/lang/python/python-pyfuse3/test.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +[ "$1" = python3-pyfuse3 ] || exit 0 + +python3 - << 'EOF' +import pyfuse3 + +# Verify key attributes are accessible +assert hasattr(pyfuse3, "Operations") +assert hasattr(pyfuse3, "EntryAttributes") +assert hasattr(pyfuse3, "FUSEError") +assert hasattr(pyfuse3, "ROOT_INODE") +assert pyfuse3.ROOT_INODE == 1 + +# Verify EntryAttributes can be instantiated +attrs = pyfuse3.EntryAttributes() +assert attrs is not None + +# Verify FUSEError can be raised +import errno +try: + raise pyfuse3.FUSEError(errno.ENOENT) +except pyfuse3.FUSEError as e: + assert e.errno == errno.ENOENT + +from pyfuse3 import Operations, EntryAttributes, FUSEError, FileInfo, StatvfsData + +# Verify key constants +assert isinstance(pyfuse3.ROOT_INODE, int), "ROOT_INODE should be an int" + +# Verify exception hierarchy +assert issubclass(FUSEError, Exception) +e = FUSEError(2) # ENOENT +assert e.errno == 2 + +# Verify EntryAttributes can be instantiated and fields set +attr = EntryAttributes() +attr.st_ino = 1 +attr.st_size = 0 +attr.st_mode = 0o755 | 0o040000 # S_IFDIR +assert attr.st_ino == 1 + +# Verify a minimal Operations subclass can be defined +class MinimalFS(Operations): + pass + +fs = MinimalFS() +assert isinstance(fs, Operations) + +print("python3-pyfuse3 OK") +EOF