Skip to content

Commit c9854d9

Browse files
authored
TST: Make read_csv tests pyarrow 13 compatable on 2.1.x (#55855)
* TST: Make read_csv tests pyarrow 13 compatable on 2.1.x * Skip on windows for ARROW_TIMEZONE_DATABASE
1 parent 7702f41 commit c9854d9

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

pandas/tests/interchange/test_impl.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
import pytest
55

66
from pandas._libs.tslibs import iNaT
7+
from pandas.compat import (
8+
is_ci_environment,
9+
is_platform_windows,
10+
)
711
import pandas.util._test_decorators as td
812

913
import pandas as pd
@@ -309,11 +313,21 @@ def test_datetimetzdtype(tz, unit):
309313
tm.assert_frame_equal(df, from_dataframe(df.__dataframe__()))
310314

311315

312-
def test_interchange_from_non_pandas_tz_aware():
316+
def test_interchange_from_non_pandas_tz_aware(request):
313317
# GH 54239, 54287
314318
pa = pytest.importorskip("pyarrow", "11.0.0")
315319
import pyarrow.compute as pc
316320

321+
if is_platform_windows() and is_ci_environment():
322+
mark = pytest.mark.xfail(
323+
raises=pa.ArrowInvalid,
324+
reason=(
325+
"TODO: Set ARROW_TIMEZONE_DATABASE environment variable "
326+
"on CI to path to the tzdata for pyarrow."
327+
),
328+
)
329+
request.node.add_marker(mark)
330+
317331
arr = pa.array([datetime(2020, 1, 1), None, datetime(2020, 1, 2)])
318332
arr = pc.assume_timezone(arr, "Asia/Kathmandu")
319333
table = pa.table({"arr": arr})

pandas/tests/io/parser/common/test_common_basic.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ def test_read_csv_local(all_parsers, csv1):
8686

8787
fname = prefix + str(os.path.abspath(csv1))
8888
result = parser.read_csv(fname, index_col=0, parse_dates=True)
89-
89+
# TODO: make unit check more specific
90+
if parser.engine == "pyarrow":
91+
result.index = result.index.as_unit("ns")
9092
expected = DataFrame(
9193
[
9294
[0.980269, 3.685731, -0.364216805298, -1.159738],
@@ -177,7 +179,9 @@ def test_read_csv_low_memory_no_rows_with_index(all_parsers):
177179
def test_read_csv_dataframe(all_parsers, csv1):
178180
parser = all_parsers
179181
result = parser.read_csv(csv1, index_col=0, parse_dates=True)
180-
182+
# TODO: make unit check more specific
183+
if parser.engine == "pyarrow":
184+
result.index = result.index.as_unit("ns")
181185
expected = DataFrame(
182186
[
183187
[0.980269, 3.685731, -0.364216805298, -1.159738],

pandas/tests/io/parser/test_parse_dates.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -979,12 +979,15 @@ def test_parse_dates_custom_euro_format(all_parsers, kwargs):
979979
)
980980

981981

982-
def test_parse_tz_aware(all_parsers, request):
982+
def test_parse_tz_aware(all_parsers):
983983
# See gh-1693
984984
parser = all_parsers
985985
data = "Date,x\n2012-06-13T01:39:00Z,0.5"
986986

987987
result = parser.read_csv(StringIO(data), index_col=0, parse_dates=True)
988+
# TODO: make unit check more specific
989+
if parser.engine == "pyarrow":
990+
result.index = result.index.as_unit("ns")
988991
expected = DataFrame(
989992
{"x": [0.5]}, index=Index([Timestamp("2012-06-13 01:39:00+00:00")], name="Date")
990993
)
@@ -2231,6 +2234,9 @@ def test_parse_dates_arrow_engine(all_parsers):
22312234
2000-01-01 00:00:01,1"""
22322235

22332236
result = parser.read_csv(StringIO(data), parse_dates=["a"])
2237+
# TODO: make unit check more specific
2238+
if parser.engine == "pyarrow":
2239+
result["a"] = result["a"].dt.as_unit("ns")
22342240
expected = DataFrame(
22352241
{
22362242
"a": [

0 commit comments

Comments
 (0)