[Pkg-bitcoin-commits] [python-quamash] 183/269: Return correct values from remove_reader/writer

Jonas Smedegaard dr at jones.dk
Fri Nov 24 11:26:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

js pushed a commit to branch master
in repository python-quamash.

commit 80832f8503cb6a9af5a89f7331118d4431d10c7a
Author: Jonas Wielicki <j.wielicki at sotecware.net>
Date:   Fri Jan 9 21:16:52 2015 +0100

    Return correct values from remove_reader/writer
---
 quamash/__init__.py      |  4 ++++
 tests/test_qeventloop.py | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/quamash/__init__.py b/quamash/__init__.py
index 0864924..7941c16 100644
--- a/quamash/__init__.py
+++ b/quamash/__init__.py
@@ -390,8 +390,10 @@ class QEventLoop(_baseclass):
 			self._logger.warning(
 				'Attempt to remove non-existent reader callback for file descriptor {}'.format(fd)
 			)
+			return False
 		else:
 			notifier.setEnabled(False)
+			return True
 
 	def add_writer(self, fd, callback, *args):
 		"""Register a callback for when a file descriptor is ready for writing."""
@@ -426,8 +428,10 @@ class QEventLoop(_baseclass):
 			self._logger.warning(
 				'Attempt to remove non-existent writer callback for file descriptor {}'.format(fd)
 			)
+			return False
 		else:
 			notifier.setEnabled(False)
+			return True
 
 	def __on_notifier_ready(self, notifiers, notifier, fd, callback, args):
 		if fd not in notifiers:
diff --git a/tests/test_qeventloop.py b/tests/test_qeventloop.py
index c975a78..f49d264 100644
--- a/tests/test_qeventloop.py
+++ b/tests/test_qeventloop.py
@@ -612,3 +612,35 @@ def test_add_writer_replace(loop, sock_pair):
 	loop.run_until_complete(asyncio.wait_for(both_done, timeout=0.1))
 	assert not called1
 	assert called2
+
+
+def test_remove_reader_idempotence(loop, sock_pair):
+	fd = sock_pair[0].fileno()
+
+	def cb():
+		pass
+
+	removed0 = loop.remove_reader(fd)
+	loop.add_reader(fd, cb)
+	removed1 = loop.remove_reader(fd)
+	removed2 = loop.remove_reader(fd)
+
+	assert not removed0
+	assert removed1
+	assert not removed2
+
+
+def test_remove_writer_idempotence(loop, sock_pair):
+	fd = sock_pair[0].fileno()
+
+	def cb():
+		pass
+
+	removed0 = loop.remove_writer(fd)
+	loop.add_writer(fd, cb)
+	removed1 = loop.remove_writer(fd)
+	removed2 = loop.remove_writer(fd)
+
+	assert not removed0
+	assert removed1
+	assert not removed2

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bitcoin/python-quamash.git



More information about the Pkg-bitcoin-commits mailing list