Author: coreyfarrell Date: Thu Oct 30 18:49:32 2014 New Revision: 5818 URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=5818 Log: Close ARI websocket connections before stopping reactor.
All (or most) tests in tests/rest_api leak numerous referenced objects by not closing the ARI websocket connection. This adds a hook to stop_reactor that closes the websocket connection. Review: https://reviewboard.asterisk.org/r/4121/ Modified: asterisk/trunk/lib/python/asterisk/ari.py Modified: asterisk/trunk/lib/python/asterisk/ari.py URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/lib/python/asterisk/ari.py?view=diff&rev=5818&r1=5817&r2=5818 ============================================================================== --- asterisk/trunk/lib/python/asterisk/ari.py (original) +++ asterisk/trunk/lib/python/asterisk/ari.py Thu Oct 30 18:49:32 2014 @@ -70,6 +70,7 @@ self.ari_factory = AriClientFactory(receiver=self, host=host, port=port, apps=self.apps, userpass=userpass) + self._ws_connection = None self._ws_event_handlers = [] self.timed_out = False @@ -117,6 +118,7 @@ :param protocol The WS Client protocol object """ + self._ws_connection = protocol reactor.callLater(0, self._create_ami_connection) def on_ws_closed(self, protocol): @@ -124,12 +126,17 @@ :param protocol The WS Client protocol object """ + self._ws_connection = None LOGGER.debug("WebSocket connection closed...") def _create_ami_connection(self): """Create the AMI connection""" self.create_ami_factory(count=self.asterisk_instances) + def stop_reactor(self): + if self._ws_connection != None: + self._ws_connection.dropConnection() + super(AriBaseTestObject, self).stop_reactor() class AriTestObject(AriBaseTestObject): """Class that acts as a Test Object in the pluggable module framework""" -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
