diff options
author | YAMAMOTO Takashi <yamamoto@valinux.co.jp> | 2015-04-10 17:36:57 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-04-14 05:20:56 +0900 |
commit | 78cb838b2e2f9fbf48b7ec3584a213b7cfa6b358 (patch) | |
tree | c70ecd04feb9ce045471f007971268f0a1fbcad0 | |
parent | cfdba5c12dde50fa691faec8331fa68da7a09599 (diff) |
app_manager: Clean up apps harder
Necessary for neutron functional tests so that a test won't
interfere the next test in a run.
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/base/app_manager.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ryu/base/app_manager.py b/ryu/base/app_manager.py index f0137ea6..e45f9c28 100644 --- a/ryu/base/app_manager.py +++ b/ryu/base/app_manager.py @@ -28,6 +28,7 @@ import itertools import logging import sys import os +import gc from ryu import cfg from ryu import utils @@ -344,6 +345,10 @@ class AppManager(object): hub.joinall(services) finally: app_mgr.close() + for t in services: + t.kill() + hub.joinall(services) + gc.collect() @staticmethod def get_instance(): @@ -511,5 +516,7 @@ class AppManager(object): self._close(app) close_dict.clear() - close_all(self.applications) + for app_name in list(self.applications.keys()): + self.uninstantiate(app_name) + assert not self.applications close_all(self.contexts) |