python-pyudev: add some basic tests
authorAlexandru Ardelean <redacted>
Tue, 10 Mar 2026 12:32:38 +0000 (12:32 +0000)
committerAlexandru Ardelean <redacted>
Mon, 30 Mar 2026 05:45:39 +0000 (08:45 +0300)
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 <redacted>
lang/python/python-pyudev/test.sh [new file with mode: 0755]

diff --git a/lang/python/python-pyudev/test.sh b/lang/python/python-pyudev/test.sh
new file mode 100755 (executable)
index 0000000..a892c61
--- /dev/null
@@ -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
git clone https://git.99rst.org/PROJECT