@@ -230,6 +230,14 @@ async def test_execute(create_cluster, config):
230230
231231 del a , b
232232
233+ if not isinstance (session ._isolated_session , _IsolatedWebSession ):
234+ worker_pools = session .client ._cluster ._worker_pools
235+ await session .destroy ()
236+ for worker_pool in worker_pools :
237+ _assert_storage_cleaned (
238+ session .session_id , worker_pool .external_address , StorageLevel .MEMORY
239+ )
240+
233241
234242@pytest .mark .asyncio
235243async def test_iterative_tiling (create_cluster ):
@@ -254,6 +262,14 @@ async def test_iterative_tiling(create_cluster):
254262 assert df2 .index_value .min_val >= 1
255263 assert df2 .index_value .max_val <= 30
256264
265+ if not isinstance (session ._isolated_session , _IsolatedWebSession ):
266+ worker_pools = session .client ._cluster ._worker_pools
267+ await session .destroy ()
268+ for worker_pool in worker_pools :
269+ _assert_storage_cleaned (
270+ session .session_id , worker_pool .external_address , StorageLevel .MEMORY
271+ )
272+
257273
258274@pytest .mark .asyncio
259275async def test_execute_describe (create_cluster ):
@@ -271,6 +287,14 @@ async def test_execute_describe(create_cluster):
271287 res = await session .fetch (r )
272288 pd .testing .assert_frame_equal (res , raw .describe ())
273289
290+ if not isinstance (session ._isolated_session , _IsolatedWebSession ):
291+ worker_pools = session .client ._cluster ._worker_pools
292+ await session .destroy ()
293+ for worker_pool in worker_pools :
294+ _assert_storage_cleaned (
295+ session .session_id , worker_pool .external_address , StorageLevel .MEMORY
296+ )
297+
274298
275299@pytest .mark .asyncio
276300async def test_sync_execute_in_async (create_cluster ):
@@ -395,6 +419,12 @@ async def test_web_session(create_cluster, config):
395419 await session .destroy ()
396420 await _run_web_session_test (web_address )
397421
422+ worker_pools = client ._cluster ._worker_pools
423+ for worker_pool in worker_pools :
424+ _assert_storage_cleaned (
425+ session .session_id , worker_pool .external_address , StorageLevel .MEMORY
426+ )
427+
398428
399429@pytest .mark .parametrize ("config" , [{"backend" : "mars" , "incremental_index" : True }])
400430def test_sync_execute (config ):
@@ -546,6 +576,26 @@ def test_decref(setup_session):
546576 ref_counts = session ._get_ref_counts ()
547577 assert len (ref_counts ) == 0
548578
579+ with tempfile .TemporaryDirectory () as tempdir :
580+ file_path = os .path .join (tempdir , "test.csv" )
581+ pdf = pd .DataFrame (
582+ np .random .RandomState (0 ).rand (100 , 10 ),
583+ columns = [f"col{ i } " for i in range (10 )],
584+ )
585+ pdf .to_csv (file_path , index = False )
586+
587+ df = md .read_csv (file_path , chunk_bytes = os .stat (file_path ).st_size / 5 )
588+ df2 = df .head (10 )
589+
590+ result = df2 .execute ().fetch ()
591+ expected = pdf .head (10 )
592+ pd .testing .assert_frame_equal (result , expected )
593+
594+ del df , df2
595+
596+ ref_counts = session ._get_ref_counts ()
597+ assert len (ref_counts ) == 0
598+
549599 worker_addr = session ._session .client ._cluster ._worker_pools [0 ].external_address
550600 _assert_storage_cleaned (session .session_id , worker_addr , StorageLevel .MEMORY )
551601
0 commit comments