summaryrefslogtreecommitdiffstatshomepage
path: root/tests/extmod/select_poll_custom.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/extmod/select_poll_custom.py')
-rw-r--r--tests/extmod/select_poll_custom.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/extmod/select_poll_custom.py b/tests/extmod/select_poll_custom.py
index 0cbb610327..b854a8a14d 100644
--- a/tests/extmod/select_poll_custom.py
+++ b/tests/extmod/select_poll_custom.py
@@ -77,7 +77,26 @@ try:
except OSError as er:
print("OSError", er.errno)
+# Register then unregister a socket (a native stream), then test
+# that the Python object is still pollable.
+s2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+x.poll_state = _MP_STREAM_POLL_RD
+poller.register(s2)
+poller.unregister(s2)
+print_poll_output(poller.poll())
+
+# Test registering and unregistering multiple times.
+for _ in range(2):
+ poller.unregister(s)
+ poller.unregister(x)
+ poller.register(s2)
+ poller.register(s, select.POLLIN)
+ poller.register(x, select.POLLIN)
+ poller.unregister(s2)
+ print_poll_output(poller.poll())
+
+# Clean up.
poller.unregister(x)
poller.unregister(s)
-
+s2.close()
s.close()