33import pytest
44
55
6- def test_leading_zeros_preserved_with_dtype_str (all_parsers ):
6+ def test_leading_zeros_preserved_with_dtype_str (all_parsers , request ):
77 """
88 Ensure that all parser engines preserve leading zeros when dtype=str is passed.
99
@@ -26,29 +26,25 @@ def test_leading_zeros_preserved_with_dtype_str(all_parsers):
2626 )
2727
2828 try :
29- assert result .loc [0 , "col2" ] == "000388907" , (
30- f"{ engine_name } lost zeros in col2 row 0"
31- )
32- assert result .loc [2 , "col2" ] == "000023607" , (
33- f"{ engine_name } lost zeros in col2 row 2"
34- )
35- assert result .loc [0 , "col4" ] == "0150" , (
36- f"{ engine_name } lost zeros in col4 row 0"
37- )
38- assert result .loc [2 , "col4" ] == "0205" , (
39- f"{ engine_name } lost zeros in col4 row 2"
40- )
29+ assert result .shape == (4 , 4 )
30+ assert list (result .columns ) == ["col1" , "col2" , "col3" , "col4" ]
31+
32+ assert result .loc [0 , "col2" ] == "000388907" , "lost zeros in col2 row 0"
33+ assert result .loc [2 , "col2" ] == "000023607" , "lost zeros in col2 row 2"
34+ assert result .loc [0 , "col4" ] == "0150" , "lost zeros in col4 row 0"
35+ assert result .loc [2 , "col4" ] == "0205" , "lost zeros in col4 row 2"
4136
4237 for col in ["col1" , "col2" , "col3" , "col4" ]:
4338 assert result .dtypes [col ] == "object" , (
4439 f"{ engine_name } wrong dtype for { col } "
4540 )
4641
47- assert result .shape == (4 , 4 )
48- assert list (result .columns ) == ["col1" , "col2" , "col3" , "col4" ]
4942 except AssertionError as exc :
5043 if engine_name == "pyarrow" :
5144 # Known issue: pyarrow engine strips leading zeros even with dtype=str.
52- pytest .xfail (f"failed assertions: { exc } " )
45+ request .node .add_marker (
46+ pytest .mark .xfail (reason = f"failed assertions: { exc } " , strict = False )
47+ )
48+ assert False , "trigger xfail for pyarrow"
5349 else :
5450 raise
0 commit comments