python-pyudev: add some basic tests

These are a massive help for keeping things stable on the
mid-to-longterm when updating packages.
We might even feel comfortable partially automating the process.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean
2026-03-10 12:32:38 +00:00
committed by Alexandru Ardelean
parent 08a627a994
commit d3c84656f7
+26
View File
@@ -0,0 +1,26 @@
#!/bin/sh
[ "$1" = "python3-pyudev" ] || exit 0
python3 - << EOF
import sys
import pyudev
if pyudev.__version__ != "$2":
print("Wrong version: " + pyudev.__version__)
sys.exit(1)
# Verify key classes are importable
from pyudev import Context, Device, Devices, Enumerator, Monitor
from pyudev import DeviceNotFoundAtPathError, DeviceNotFoundByNameError
# Create a Context (requires libudev to be available)
ctx = Context()
# Enumerate devices - libudev-zero may return an empty list, just verify no crash
enumerator = ctx.list_devices()
assert isinstance(enumerator, Enumerator)
list(enumerator) # consume iterator
sys.exit(0)
EOF