Stop greenlets when deleting a site in test
This commit is contained in:
parent
b41a03674f
commit
5d113757df
1 changed files with 5 additions and 6 deletions
|
@ -178,9 +178,7 @@ def site(request):
|
||||||
site.announce = mock.MagicMock(return_value=True) # Don't try to find peers from the net
|
site.announce = mock.MagicMock(return_value=True) # Don't try to find peers from the net
|
||||||
|
|
||||||
def cleanup():
|
def cleanup():
|
||||||
site.storage.deleteFiles()
|
site.delete()
|
||||||
site.content_manager.contents.db.deleteSite(site)
|
|
||||||
del SiteManager.site_manager.sites["1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT"]
|
|
||||||
site.content_manager.contents.db.close()
|
site.content_manager.contents.db.close()
|
||||||
SiteManager.site_manager.sites.clear()
|
SiteManager.site_manager.sites.clear()
|
||||||
db_path = "%s/content.db" % config.data_dir
|
db_path = "%s/content.db" % config.data_dir
|
||||||
|
@ -189,10 +187,12 @@ def site(request):
|
||||||
gevent.killall([obj for obj in gc.get_objects() if isinstance(obj, gevent.Greenlet) and obj not in threads_before])
|
gevent.killall([obj for obj in gc.get_objects() if isinstance(obj, gevent.Greenlet) and obj not in threads_before])
|
||||||
request.addfinalizer(cleanup)
|
request.addfinalizer(cleanup)
|
||||||
|
|
||||||
|
site.greenlet_manager.stopGreenlets()
|
||||||
site = Site("1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT") # Create new Site object to load content.json files
|
site = Site("1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT") # Create new Site object to load content.json files
|
||||||
if not SiteManager.site_manager.sites:
|
if not SiteManager.site_manager.sites:
|
||||||
SiteManager.site_manager.sites = {}
|
SiteManager.site_manager.sites = {}
|
||||||
SiteManager.site_manager.sites["1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT"] = site
|
SiteManager.site_manager.sites["1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT"] = site
|
||||||
|
site.settings["serving"] = True
|
||||||
return site
|
return site
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,13 +201,12 @@ def site_temp(request):
|
||||||
threads_before = [obj for obj in gc.get_objects() if isinstance(obj, gevent.Greenlet)]
|
threads_before = [obj for obj in gc.get_objects() if isinstance(obj, gevent.Greenlet)]
|
||||||
with mock.patch("Config.config.data_dir", config.data_dir + "-temp"):
|
with mock.patch("Config.config.data_dir", config.data_dir + "-temp"):
|
||||||
site_temp = Site("1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT")
|
site_temp = Site("1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT")
|
||||||
|
site_temp.settings["serving"] = True
|
||||||
site_temp.announce = mock.MagicMock(return_value=True) # Don't try to find peers from the net
|
site_temp.announce = mock.MagicMock(return_value=True) # Don't try to find peers from the net
|
||||||
|
|
||||||
def cleanup():
|
def cleanup():
|
||||||
site_temp.storage.deleteFiles()
|
site_temp.delete()
|
||||||
site_temp.content_manager.contents.db.deleteSite(site_temp)
|
|
||||||
site_temp.content_manager.contents.db.close()
|
site_temp.content_manager.contents.db.close()
|
||||||
time.sleep(0.01) # Wait for db close
|
|
||||||
db_path = "%s-temp/content.db" % config.data_dir
|
db_path = "%s-temp/content.db" % config.data_dir
|
||||||
os.unlink(db_path)
|
os.unlink(db_path)
|
||||||
del ContentDb.content_dbs[db_path]
|
del ContentDb.content_dbs[db_path]
|
||||||
|
|
Loading…
Reference in a new issue