packages/lang/python/python-pyfuse3/test.sh

52 lines
1.2 KiB
Bash

#!/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