diff --git a/devices/test/common/test_lofar_logging.py b/devices/test/common/test_lofar_logging.py index 98222563f33167e62db9385090e1738aa29b6b24..c1030b28f3b9b7861e6eec9d25b4ca6ef22a0c22 100644 --- a/devices/test/common/test_lofar_logging.py +++ b/devices/test/common/test_lofar_logging.py @@ -14,6 +14,7 @@ from common import lofar_logging import logging from tango.server import Device from tango import device_server +from tango.test_context import DeviceTestContext from test import base @@ -82,11 +83,15 @@ class TestLofarLogging(base.TestCase): logger.info("test") with mock.patch.object(device_server.DeviceImpl, '__info_stream') as m_info_stream: - # logs in the constructor already - mydevice = MyDevice(None, "MyDeviceName") + with DeviceTestContext(MyDevice) as mydevice: + self.assertEqual(1, m_info_stream.call_count, msg="configure_logger did not send logs to active Tango device") - self.assertEqual(mydevice, self.memory_handler.records[0].tango_device, msg="configure_logging did not detect active Tango device") - self.assertEqual(1, m_info_stream.call_count, msg="configure_logger did not send logs to active Tango device") + # Lookup our "test" logline among f.e. the debug messages output by Tango + test_record = [record for record in self.memory_handler.records if record.msg == "test"] + + # Tango uses slightly different class representations of MyDevice, so + # we can't compare them direclty. Just verify we're talking about the same thing. + self.assertEqual(str(mydevice), str(test_record[0].tango_device), msg="configure_logging did not detect active Tango device") def test_log_exceptions(self):