From b1fe1ef42b3497a3e5afc91dac82d9418be15d98 Mon Sep 17 00:00:00 2001 From: Wyatt Hoodes Date: Sun, 9 Jun 2019 07:20:16 -1000 Subject: [PATCH] test-backend: Clean up leak data import files after test-suite run. This is a simple, non-intrusive way of removing the bulk of the clutter from `var//test-backend` after running `test-backend`. Ideally, we'll replace this logic with proper tearDown methods. --- tools/test-backend | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/test-backend b/tools/test-backend index d1558c6af7..902d5bfddb 100755 --- a/tools/test-backend +++ b/tools/test-backend @@ -16,6 +16,7 @@ import ujson import httplib2 import httpretty import requests +import shutil import django from django.conf import settings @@ -456,6 +457,21 @@ def main() -> None: # an important clue as to why tests fail. report_slow_tests() + # We now cleanup files leaked by certain tests that don't clean up + # after themselves. Ideally, this cleanup would happen in in the + # tearDown() methods for the relevant test classes, but this at least + # prevents a disk leak. + from scripts.lib.zulip_tools import get_or_create_dev_uuid_var_path + for path in glob.glob(os.path.join(get_or_create_dev_uuid_var_path('test-backend'), + "test-*-import-*")): + try: + if os.path.isdir(path): + shutil.rmtree(path) + else: + os.remove(path) + except FileNotFoundError: + pass + # Ideally, we'd check for any leaked test databases here; # but that needs some hackery with database names. #