Skip to content

Commit bafc4ed

Browse files
committed
ensure more resources are closed in tests
this gets rid of a good amount of ResourceWarnings
1 parent 780420b commit bafc4ed

4 files changed

Lines changed: 62 additions & 24 deletions

File tree

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ def mysql_server(mysql_address):
349349
'WITH "caching_sha2_password" '
350350
'PASSWORD EXPIRE NEVER')
351351
cursor.execute('FLUSH PRIVILEGES')
352+
connection.close()
352353
except Exception:
353354
pytest.fail("Cannot initialize MySQL environment")
354355

tests/sa/test_sa_compiled_cache.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313

1414

1515
@pytest.fixture()
16-
def make_engine(mysql_params, connection):
16+
def make_engine(connection, mysql_params, loop):
17+
engines = []
18+
1719
async def _make_engine(**kwargs):
1820
if "unix_socket" in mysql_params:
1921
conn_args = {"unix_socket": mysql_params["unix_socket"]}
@@ -23,14 +25,24 @@ async def _make_engine(**kwargs):
2325
"port": mysql_params['port'],
2426
}
2527

26-
return (await sa.create_engine(db=mysql_params['db'],
27-
user=mysql_params['user'],
28-
password=mysql_params['password'],
29-
minsize=10,
30-
**conn_args,
31-
**kwargs))
28+
engine = await sa.create_engine(
29+
db=mysql_params['db'],
30+
user=mysql_params['user'],
31+
password=mysql_params['password'],
32+
minsize=10,
33+
**conn_args,
34+
**kwargs,
35+
)
36+
37+
engines.append(engine)
38+
39+
return engine
40+
41+
yield _make_engine
3242

33-
return _make_engine
43+
for engine in engines:
44+
engine.terminate()
45+
loop.run_until_complete(engine.wait_closed())
3446

3547

3648
async def start(engine):

tests/sa/test_sa_default.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020

2121

2222
@pytest.fixture()
23-
def make_engine(mysql_params, connection):
23+
def make_engine(connection, mysql_params, loop):
24+
engines = []
25+
2426
async def _make_engine(**kwargs):
2527
if "unix_socket" in mysql_params:
2628
conn_args = {"unix_socket": mysql_params["unix_socket"]}
@@ -30,14 +32,24 @@ async def _make_engine(**kwargs):
3032
"port": mysql_params['port'],
3133
}
3234

33-
return (await sa.create_engine(db=mysql_params['db'],
34-
user=mysql_params['user'],
35-
password=mysql_params['password'],
36-
minsize=10,
37-
**conn_args,
38-
**kwargs))
35+
engine = await sa.create_engine(
36+
db=mysql_params['db'],
37+
user=mysql_params['user'],
38+
password=mysql_params['password'],
39+
minsize=10,
40+
**conn_args,
41+
**kwargs,
42+
)
43+
44+
engines.append(engine)
45+
46+
return engine
47+
48+
yield _make_engine
3949

40-
return _make_engine
50+
for engine in engines:
51+
engine.terminate()
52+
loop.run_until_complete(engine.wait_closed())
4153

4254

4355
async def start(engine):

tests/sa/test_sa_engine.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313

1414

1515
@pytest.fixture()
16-
def make_engine(connection, mysql_params):
16+
def make_engine(connection, mysql_params, loop):
17+
engines = []
18+
1719
async def _make_engine(**kwargs):
1820
if "unix_socket" in mysql_params:
1921
conn_args = {"unix_socket": mysql_params["unix_socket"]}
@@ -23,13 +25,24 @@ async def _make_engine(**kwargs):
2325
"port": mysql_params['port'],
2426
}
2527

26-
return (await sa.create_engine(db=mysql_params['db'],
27-
user=mysql_params['user'],
28-
password=mysql_params['password'],
29-
minsize=10,
30-
**conn_args,
31-
**kwargs))
32-
return _make_engine
28+
engine = await sa.create_engine(
29+
db=mysql_params['db'],
30+
user=mysql_params['user'],
31+
password=mysql_params['password'],
32+
minsize=10,
33+
**conn_args,
34+
**kwargs,
35+
)
36+
37+
engines.append(engine)
38+
39+
return engine
40+
41+
yield _make_engine
42+
43+
for engine in engines:
44+
engine.terminate()
45+
loop.run_until_complete(engine.wait_closed())
3346

3447

3548
async def start(engine):

0 commit comments

Comments
 (0)