Skip to content

BLD/CI fix arm64 build #36397 #36403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ matrix:

- arch: arm64
env:
- JOB="3.7, arm64" PYTEST_WORKERS=8 ENV_FILE="ci/deps/travis-37-arm64.yaml" PATTERN="(not slow and not network and not clipboard)"
- JOB="3.7, arm64" PYTEST_WORKERS=8 ENV_FILE="ci/deps/travis-37-arm64.yaml" PATTERN="(not slow and not network and not clipboard and not arm_slow)"

- env:
- JOB="3.7, locale" ENV_FILE="ci/deps/travis-37-locale.yaml" PATTERN="((not slow and not network and not clipboard) or (single and db))" LOCALE_OVERRIDE="zh_CN.UTF-8" SQL="1"
Expand All @@ -58,10 +58,6 @@ matrix:
services:
- mysql
- postgresql
allow_failures:
- arch: arm64
env:
- JOB="3.7, arm64" PYTEST_WORKERS=8 ENV_FILE="ci/deps/travis-37-arm64.yaml" PATTERN="(not slow and not network and not clipboard)"


before_install:
Expand Down
1 change: 0 additions & 1 deletion ci/deps/travis-37-arm64.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
name: pandas-dev
channels:
- defaults
- conda-forge
dependencies:
- python=3.7.*
Expand Down
3 changes: 2 additions & 1 deletion ci/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,9 @@ else
fi

if [ "${TRAVIS_CPU_ARCH}" == "arm64" ]; then
sudo apt-get update
sudo apt-get -y install xvfb
CONDA_URL="https://github.com/conda-forge/miniforge/releases/download/4.8.2-1/Miniforge3-4.8.2-1-Linux-aarch64.sh"
CONDA_URL="https://github.com/conda-forge/miniforge/releases/download/4.8.5-0/Miniforge3-4.8.5-0-Linux-aarch64.sh"
else
CONDA_URL="https://repo.continuum.io/miniconda/Miniconda3-latest-$CONDA_OS.sh"
fi
Expand Down
3 changes: 3 additions & 0 deletions pandas/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ def pytest_configure(config):
)
config.addinivalue_line("markers", "high_memory: mark a test as a high-memory only")
config.addinivalue_line("markers", "clipboard: mark a pd.read_clipboard test")
config.addinivalue_line(
"markers", "arm_slow: mark a test as slow for arm64 architecture"
)


def pytest_addoption(parser):
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/arithmetic/test_datetime64.py
Original file line number Diff line number Diff line change
Expand Up @@ -749,6 +749,7 @@ class TestDatetime64Arithmetic:
# -------------------------------------------------------------
# Addition/Subtraction of timedelta-like

@pytest.mark.arm_slow
def test_dt64arr_add_timedeltalike_scalar(
self, tz_naive_fixture, two_hours, box_with_array
):
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/frame/test_constructors.py
Original file line number Diff line number Diff line change
Expand Up @@ -2588,6 +2588,7 @@ def test_to_frame_with_falsey_names(self):
result = DataFrame(Series(name=0, dtype=object)).dtypes
tm.assert_series_equal(result, expected)

@pytest.mark.arm_slow
@pytest.mark.parametrize("dtype", [None, "uint8", "category"])
def test_constructor_range_dtype(self, dtype):
expected = DataFrame({"A": [0, 1, 2, 3, 4]}, dtype=dtype or "int64")
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/groupby/test_groupby_dropna.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ def test_groupby_dropna_multi_index_dataframe_agg(dropna, tuples, outputs):
tm.assert_frame_equal(grouped, expected)


@pytest.mark.arm_slow
@pytest.mark.parametrize(
"datetime1, datetime2",
[
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/groupby/transform/test_transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,7 @@ def test_groupby_cum_skipna(op, skipna, input, exp):
tm.assert_series_equal(expected, result)


@pytest.mark.arm_slow
@pytest.mark.parametrize(
"op, args, targop",
[
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexes/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,7 @@ def test_is_unique(self):
index_na_dup = index_na.insert(0, np.nan)
assert index_na_dup.is_unique is False

@pytest.mark.arm_slow
def test_engine_reference_cycle(self):
# GH27585
index = self.create_index()
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexes/multi/test_duplicates.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ def test_duplicated(idx_dup, keep, expected):
tm.assert_numpy_array_equal(result, expected)


@pytest.mark.arm_slow
def test_duplicated_large(keep):
# GH 9125
n, k = 200, 5000
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexes/multi/test_integrity.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ def test_consistency():
assert index.is_unique is False


@pytest.mark.arm_slow
def test_hash_collisions():
# non-smoke test that we don't get hash collisions

Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexes/multi/test_setops.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def test_intersection_base(idx, sort, klass):
first.intersection([1, 2, 3], sort=sort)


@pytest.mark.arm_slow
@pytest.mark.parametrize("klass", [MultiIndex, np.array, Series, list])
def test_union_base(idx, sort, klass):
first = idx[::-1]
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexes/period/test_indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ def test_getitem_list_periods(self):
exp = ts.iloc[[1]]
tm.assert_series_equal(ts[[Period("2012-01-02", freq="D")]], exp)

@pytest.mark.arm_slow
def test_getitem_seconds(self):
# GH#6716
didx = date_range(start="2013/01/01 09:00:00", freq="S", periods=4000)
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexing/interval/test_interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ def test_non_matching(self):
with pytest.raises(KeyError, match="^$"):
s.loc[[-1, 3]]

@pytest.mark.arm_slow
def test_large_series(self):
s = Series(
np.arange(1000000), index=IntervalIndex.from_breaks(np.arange(1000001))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ def test_cache_updating():
assert result == 2


@pytest.mark.arm_slow
def test_indexer_caching():
# GH5727
# make sure that indexers are in the _internal_names_set
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexing/test_chaining_and_caching.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ def test_setitem_chained_setfault(self):
result = df.head()
tm.assert_frame_equal(result, expected)

@pytest.mark.arm_slow
def test_detect_chained_assignment(self):

pd.set_option("chained_assignment", "raise")
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/indexing/test_loc.py
Original file line number Diff line number Diff line change
Expand Up @@ -785,6 +785,7 @@ def test_loc_non_unique(self):
expected = DataFrame({"A": [2, 4, 5], "B": [4, 6, 7]}, index=[1, 1, 2])
tm.assert_frame_equal(result, expected)

@pytest.mark.arm_slow
def test_loc_non_unique_memory_error(self):

# GH 4280
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/test_sorting.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def test_int64_overflow(self):
assert left[k] == v
assert len(left) == len(right)

@pytest.mark.arm_slow
def test_int64_overflow_moar(self):

# GH9096
Expand Down
2 changes: 2 additions & 0 deletions pandas/tests/tseries/offsets/test_offsets_properties.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from hypothesis import assume, given, strategies as st
from hypothesis.extra.dateutil import timezones as dateutil_timezones
from hypothesis.extra.pytz import timezones as pytz_timezones
import pytest

import pandas as pd
from pandas import Timestamp
Expand Down Expand Up @@ -84,6 +85,7 @@
# Offset-specific behaviour tests


@pytest.mark.arm_slow
@given(gen_random_datetime, gen_yqm_offset)
def test_on_offset_implementations(dt, offset):
assume(not offset.normalize)
Expand Down
1 change: 1 addition & 0 deletions pandas/tests/tseries/offsets/test_ticks.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ def test_tick_add_sub(cls, n, m):
assert left - right == expected


@pytest.mark.arm_slow
@pytest.mark.parametrize("cls", tick_classes)
@settings(deadline=None)
@example(n=2, m=3)
Expand Down