diff --git a/malcolm/controllers/countercontroller.py b/malcolm/controllers/countercontroller.py index c6956d660..f43cb1b99 100644 --- a/malcolm/controllers/countercontroller.py +++ b/malcolm/controllers/countercontroller.py @@ -1,7 +1,7 @@ from malcolm.core.controller import Controller from malcolm.core.attribute import Attribute from malcolm.core.numbermeta import NumberMeta -from malcolm.core.method import takes, returns +from malcolm.core.method import takes import numpy as np @@ -16,7 +16,9 @@ def create_attributes(self): @takes() def reset(self): self.counter.set_value(0) + self.block.notify_subscribers() @takes() def increment(self): self.counter.set_value(self.counter.value + 1) + self.block.notify_subscribers() diff --git a/tests/test_core/test_system_core.py b/tests/test_core/test_system_core.py index a25e6eafe..21a3de28e 100644 --- a/tests/test_core/test_system_core.py +++ b/tests/test_core/test_system_core.py @@ -56,7 +56,8 @@ def test_counter_controller_subscribe(self): q = sync_factory.create_queue() sub = Request.Subscribe(response_queue=q, context="ClientConnection", - endpoint=["counting", "counter"], delta=False) + endpoint=["counting", "counter"], + delta=False) process.q.put(sub) resp = q.get(timeout=1) self.assertEqual(Response.UPDATE, resp.type_) @@ -67,6 +68,9 @@ def test_counter_controller_subscribe(self): endpoint=["counting", "increment"]) process.q.put(post) resp = q.get(timeout=1) + self.assertEqual(Response.UPDATE, resp.type_) + self.assertEqual(resp.value["value"], 1) + resp = q.get(timeout=1) self.assertEqual(Response.RETURN, resp.type_)