From 6ad48a1e9fe81762a5a1adb2306f10c6924cacf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= <sybren@stuvel.eu> Date: Thu, 10 Jan 2019 16:18:34 +0100 Subject: [PATCH] Disconnect from SQLite DB when tearing down tests This allows the temp directory to be cleaned up on Windows. --- flamenco_worker/upstream_update_queue.py | 4 ++++ tests/test_upstream_update_queue.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/flamenco_worker/upstream_update_queue.py b/flamenco_worker/upstream_update_queue.py index c266da3f..26b35ef5 100644 --- a/flamenco_worker/upstream_update_queue.py +++ b/flamenco_worker/upstream_update_queue.py @@ -46,6 +46,8 @@ class TaskUpdateQueue: self._db.isolation_level = '' def _disconnect_db(self): + if self._db is None: + return self._log.info('Disconnecting from database %s', self.db_fname) self._db.close() self._db = None @@ -91,6 +93,8 @@ class TaskUpdateQueue: self._log.debug('Inspecting queued task updates.') await self.flush_and_catch(loop=loop) + + self._disconnect_db() self._log.warning('Stopping work loop') def _queue(self) -> typing.Iterable[typing.Tuple[int, str, object]]: diff --git a/tests/test_upstream_update_queue.py b/tests/test_upstream_update_queue.py index 6a7c894e..8bea08a5 100644 --- a/tests/test_upstream_update_queue.py +++ b/tests/test_upstream_update_queue.py @@ -1,6 +1,7 @@ import asyncio import copy import datetime +import logging import tempfile from unittest.mock import Mock @@ -16,6 +17,8 @@ class TaskUpdateQueueTest(AbstractWorkerTest): from flamenco_worker.cli import construct_asyncio_loop from tests.mock_responses import CoroMock + logging.getLogger('flamenco_worker.upstream_update_queue').setLevel(logging.DEBUG) + self.asyncio_loop = construct_asyncio_loop() self.shutdown_future = self.asyncio_loop.create_future() @@ -31,6 +34,8 @@ class TaskUpdateQueueTest(AbstractWorkerTest): ) def tearDown(self): + self.tuqueue._disconnect_db() + super().tearDown() self.tmpdir.cleanup() def test_queue_push(self): -- GitLab