@@ -33,6 +33,7 @@ use datafusion_physical_plan::ExecutionPlan;
3333use parquet:: arrow:: arrow_reader:: { RowSelection , RowSelector } ;
3434use parquet:: arrow:: ArrowWriter ;
3535use parquet:: file:: properties:: WriterProperties ;
36+ use std:: path:: Path ;
3637use std:: sync:: { Arc , OnceLock } ;
3738use tempfile:: NamedTempFile ;
3839
@@ -314,9 +315,9 @@ impl TestFull {
314315
315316 let TestData {
316317 _temp_file : _,
317- schema,
318- file_name,
319- file_size,
318+ ref schema,
319+ ref file_name,
320+ ref file_size,
320321 } = get_test_data ( ) ;
321322
322323 let new_file_name = if cfg ! ( target_os = "windows" ) {
@@ -362,6 +363,8 @@ impl TestFull {
362363 pretty_format_batches( & results) . unwrap( )
363364 ) ;
364365
366+ std:: fs:: remove_file ( file_name) . unwrap ( ) ;
367+
365368 Ok ( MetricsFinder :: find_metrics ( plan. as_ref ( ) ) . unwrap ( ) )
366369 }
367370}
@@ -376,45 +379,43 @@ struct TestData {
376379 file_size : u64 ,
377380}
378381
379- static TEST_DATA : OnceLock < TestData > = OnceLock :: new ( ) ;
382+ static _TEST_DATA : OnceLock < TestData > = OnceLock :: new ( ) ;
380383
381384/// Return a parquet file with 2 row groups each with 5 rows
382- fn get_test_data ( ) -> & ' static TestData {
383- TEST_DATA . get_or_init ( || {
384- let scenario = Scenario :: UTF8 ;
385- let row_per_group = 5 ;
385+ fn get_test_data ( ) -> TestData {
386+ let scenario = Scenario :: UTF8 ;
387+ let row_per_group = 5 ;
386388
387- let mut temp_file = tempfile:: Builder :: new ( )
388- . prefix ( "user_access_plan" )
389- . suffix ( ".parquet" )
390- . tempfile ( )
391- . expect ( "tempfile creation" ) ;
389+ let mut temp_file = tempfile:: Builder :: new ( )
390+ . prefix ( "user_access_plan" )
391+ . suffix ( ".parquet" )
392+ . tempfile_in ( Path :: new ( "" ) )
393+ . expect ( "tempfile creation" ) ;
392394
393- let props = WriterProperties :: builder ( )
394- . set_max_row_group_size ( row_per_group)
395- . build ( ) ;
395+ let props = WriterProperties :: builder ( )
396+ . set_max_row_group_size ( row_per_group)
397+ . build ( ) ;
396398
397- let batches = create_data_batch ( scenario) ;
398- let schema = batches[ 0 ] . schema ( ) ;
399+ let batches = create_data_batch ( scenario) ;
400+ let schema = batches[ 0 ] . schema ( ) ;
399401
400- let mut writer =
401- ArrowWriter :: try_new ( & mut temp_file, schema. clone ( ) , Some ( props) ) . unwrap ( ) ;
402+ let mut writer =
403+ ArrowWriter :: try_new ( & mut temp_file, schema. clone ( ) , Some ( props) ) . unwrap ( ) ;
402404
403- for batch in batches {
404- writer. write ( & batch) . expect ( "writing batch" ) ;
405- }
406- writer. close ( ) . unwrap ( ) ;
405+ for batch in batches {
406+ writer. write ( & batch) . expect ( "writing batch" ) ;
407+ }
408+ writer. close ( ) . unwrap ( ) ;
407409
408- let file_name = temp_file. path ( ) . to_string_lossy ( ) . to_string ( ) ;
409- let file_size = temp_file. path ( ) . metadata ( ) . unwrap ( ) . len ( ) ;
410+ let file_name = temp_file. path ( ) . to_string_lossy ( ) . to_string ( ) ;
411+ let file_size = temp_file. path ( ) . metadata ( ) . unwrap ( ) . len ( ) ;
410412
411- TestData {
412- _temp_file : temp_file,
413- schema,
414- file_name,
415- file_size,
416- }
417- } )
413+ TestData {
414+ _temp_file : temp_file,
415+ schema,
416+ file_name,
417+ file_size,
418+ }
418419}
419420
420421/// Return the total value of the specified metric name
0 commit comments