@@ -263,19 +263,17 @@ def parser(request):
263263 return request .param
264264
265265
266- def read_xml_iterparse (data , ** kwargs ):
267- with tm .ensure_clean () as path :
268- with open (path , "w" , encoding = "utf-8" ) as f :
269- f .write (data )
270- return read_xml (path , ** kwargs )
266+ def read_xml_iterparse (data , path , ** kwargs ):
267+ with open (path , "w" , encoding = "utf-8" ) as f :
268+ f .write (data )
269+ return read_xml (path , ** kwargs )
271270
272271
273- def read_xml_iterparse_comp (comp_path , compression_only , ** kwargs ):
272+ def read_xml_iterparse_comp (comp_path , compression_only , path , ** kwargs ):
274273 with get_handle (comp_path , "r" , compression = compression_only ) as handles :
275- with tm .ensure_clean () as path :
276- with open (path , "w" , encoding = "utf-8" ) as f :
277- f .write (handles .handle .read ())
278- return read_xml (path , ** kwargs )
274+ with open (path , "w" , encoding = "utf-8" ) as f :
275+ f .write (handles .handle .read ())
276+ return read_xml (path , ** kwargs )
279277
280278
281279# FILE / URL
@@ -524,7 +522,7 @@ def test_wrong_url(parser, httpserver):
524522# CONTENT
525523
526524
527- def test_whitespace (parser ):
525+ def test_whitespace (parser , temp_file ):
528526 xml = """
529527 <data>
530528 <row sides=" 4 ">
@@ -551,6 +549,7 @@ def test_whitespace(parser):
551549
552550 df_iter = read_xml_iterparse (
553551 xml ,
552+ temp_file ,
554553 parser = parser ,
555554 iterparse = {"row" : ["sides" , "shape" , "degrees" ]},
556555 dtype = "string" ,
@@ -599,7 +598,7 @@ def test_bad_xpath_lxml(xml_books):
599598# NAMESPACE
600599
601600
602- def test_default_namespace (parser ):
601+ def test_default_namespace (parser , temp_file ):
603602 df_nmsp = read_xml (
604603 StringIO (xml_default_nmsp ),
605604 xpath = ".//ns:row" ,
@@ -609,6 +608,7 @@ def test_default_namespace(parser):
609608
610609 df_iter = read_xml_iterparse (
611610 xml_default_nmsp ,
611+ temp_file ,
612612 parser = parser ,
613613 iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
614614 )
@@ -625,15 +625,18 @@ def test_default_namespace(parser):
625625 tm .assert_frame_equal (df_iter , df_expected )
626626
627627
628- def test_prefix_namespace (parser ):
628+ def test_prefix_namespace (parser , temp_file ):
629629 df_nmsp = read_xml (
630630 StringIO (xml_prefix_nmsp ),
631631 xpath = ".//doc:row" ,
632632 namespaces = {"doc" : "http://example.com" },
633633 parser = parser ,
634634 )
635635 df_iter = read_xml_iterparse (
636- xml_prefix_nmsp , parser = parser , iterparse = {"row" : ["shape" , "degrees" , "sides" ]}
636+ xml_prefix_nmsp ,
637+ temp_file ,
638+ parser = parser ,
639+ iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
637640 )
638641
639642 df_expected = DataFrame (
@@ -820,7 +823,7 @@ def test_empty_elems_only(parser):
820823 read_xml (StringIO (xml ), xpath = "./row" , elems_only = True , parser = parser )
821824
822825
823- def test_attribute_centric_xml ():
826+ def test_attribute_centric_xml (temp_file ):
824827 pytest .importorskip ("lxml" )
825828 xml = """\
826829 <?xml version="1.0" encoding="UTF-8"?>
@@ -845,9 +848,11 @@ def test_attribute_centric_xml():
845848 df_lxml = read_xml (StringIO (xml ), xpath = ".//station" )
846849 df_etree = read_xml (StringIO (xml ), xpath = ".//station" , parser = "etree" )
847850
848- df_iter_lx = read_xml_iterparse (xml , iterparse = {"station" : ["Name" , "coords" ]})
851+ df_iter_lx = read_xml_iterparse (
852+ xml , temp_file , iterparse = {"station" : ["Name" , "coords" ]}
853+ )
849854 df_iter_et = read_xml_iterparse (
850- xml , parser = "etree" , iterparse = {"station" : ["Name" , "coords" ]}
855+ xml , temp_file , parser = "etree" , iterparse = {"station" : ["Name" , "coords" ]}
851856 )
852857
853858 tm .assert_frame_equal (df_lxml , df_etree )
@@ -882,7 +887,7 @@ def test_names_option_output(xml_books, parser):
882887 tm .assert_frame_equal (df_iter , df_expected )
883888
884889
885- def test_repeat_names (parser ):
890+ def test_repeat_names (parser , temp_file ):
886891 xml = """\
887892 <shapes>
888893 <shape type="2D">
@@ -903,6 +908,7 @@ def test_repeat_names(parser):
903908
904909 df_iter = read_xml_iterparse (
905910 xml ,
911+ temp_file ,
906912 parser = parser ,
907913 iterparse = {"shape" : ["type" , "name" , "type" ]},
908914 names = ["type_dim" , "shape" , "type_edge" ],
@@ -920,7 +926,7 @@ def test_repeat_names(parser):
920926 tm .assert_frame_equal (df_iter , df_expected )
921927
922928
923- def test_repeat_values_new_names (parser ):
929+ def test_repeat_values_new_names (parser , temp_file ):
924930 xml = """\
925931 <shapes>
926932 <shape>
@@ -946,6 +952,7 @@ def test_repeat_values_new_names(parser):
946952
947953 df_iter = read_xml_iterparse (
948954 xml ,
955+ temp_file ,
949956 parser = parser ,
950957 iterparse = {"shape" : ["name" , "family" ]},
951958 names = ["name" , "group" ],
@@ -962,7 +969,7 @@ def test_repeat_values_new_names(parser):
962969 tm .assert_frame_equal (df_iter , df_expected )
963970
964971
965- def test_repeat_elements (parser ):
972+ def test_repeat_elements (parser , temp_file ):
966973 xml = """\
967974 <shapes>
968975 <shape>
@@ -993,6 +1000,7 @@ def test_repeat_elements(parser):
9931000
9941001 df_iter = read_xml_iterparse (
9951002 xml ,
1003+ temp_file ,
9961004 parser = parser ,
9971005 iterparse = {"shape" : ["value" , "value" , "value" , "value" ]},
9981006 names = ["name" , "family" , "degrees" , "sides" ],
@@ -1514,7 +1522,7 @@ def test_bad_xml(parser):
15141522 )
15151523
15161524
1517- def test_comment (parser ):
1525+ def test_comment (parser , temp_file ):
15181526 xml = """\
15191527 <!-- comment before root -->
15201528<shapes>
@@ -1535,7 +1543,7 @@ def test_comment(parser):
15351543 df_xpath = read_xml (StringIO (xml ), xpath = ".//shape" , parser = parser )
15361544
15371545 df_iter = read_xml_iterparse (
1538- xml , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
1546+ xml , temp_file , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
15391547 )
15401548
15411549 df_expected = DataFrame (
@@ -1549,7 +1557,7 @@ def test_comment(parser):
15491557 tm .assert_frame_equal (df_iter , df_expected )
15501558
15511559
1552- def test_dtd (parser ):
1560+ def test_dtd (parser , temp_file ):
15531561 xml = """\
15541562 <?xml version="1.0" encoding="UTF-8"?>
15551563<!DOCTYPE non-profits [
@@ -1571,7 +1579,7 @@ def test_dtd(parser):
15711579 df_xpath = read_xml (StringIO (xml ), xpath = ".//shape" , parser = parser )
15721580
15731581 df_iter = read_xml_iterparse (
1574- xml , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
1582+ xml , temp_file , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
15751583 )
15761584
15771585 df_expected = DataFrame (
@@ -1585,7 +1593,7 @@ def test_dtd(parser):
15851593 tm .assert_frame_equal (df_iter , df_expected )
15861594
15871595
1588- def test_processing_instruction (parser ):
1596+ def test_processing_instruction (parser , temp_file ):
15891597 xml = """\
15901598 <?xml version="1.0" encoding="UTF-8"?>
15911599<?xml-stylesheet type="text/xsl" href="style.xsl"?>
@@ -1607,7 +1615,7 @@ def test_processing_instruction(parser):
16071615 df_xpath = read_xml (StringIO (xml ), xpath = ".//shape" , parser = parser )
16081616
16091617 df_iter = read_xml_iterparse (
1610- xml , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
1618+ xml , temp_file , parser = parser , iterparse = {"shape" : ["name" , "type" ]}
16111619 )
16121620
16131621 df_expected = DataFrame (
@@ -1913,7 +1921,7 @@ def test_online_stylesheet():
19131921# COMPRESSION
19141922
19151923
1916- def test_compression_read (parser , compression_only ):
1924+ def test_compression_read (parser , compression_only , temp_file ):
19171925 with tm .ensure_clean () as comp_path :
19181926 geom_df .to_xml (
19191927 comp_path , index = False , parser = parser , compression = compression_only
@@ -1924,6 +1932,7 @@ def test_compression_read(parser, compression_only):
19241932 df_iter = read_xml_iterparse_comp (
19251933 comp_path ,
19261934 compression_only ,
1935+ temp_file ,
19271936 parser = parser ,
19281937 iterparse = {"row" : ["shape" , "degrees" , "sides" ]},
19291938 compression = compression_only ,
0 commit comments