diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 8080a81519d8f..b97ecff3e4cd6 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -25,15 +25,15 @@ jobs: strategy: matrix: settings: [ - [actions-38-downstream_compat.yaml, "not slow and not network and not clipboard", "", "", "", "", ""], - [actions-38-minimum_versions.yaml, "not clipboard", "", "", "", "", ""], - [actions-38.yaml, "not slow and not network", "language-pack-it xsel", "it_IT.utf8", "it_IT.utf8", "", ""], - [actions-38.yaml, "not slow and not network", "language-pack-zh-hans xsel", "zh_CN.utf8", "zh_CN.utf8", "", ""], - [actions-38.yaml, "not clipboard", "", "", "", "", ""], - [actions-pypy-38.yaml, "not slow and not clipboard", "", "", "", "", "--max-worker-restart 0"], - [actions-39.yaml, "not clipboard", "", "", "", "", ""], - [actions-310-numpydev.yaml, "not slow and not network", "xsel", "", "", "deprecate", "-W error"], - [actions-310.yaml, "not clipboard", "", "", "", "", ""], + [actions-38-downstream_compat.yaml, "not slow and not network", "", "", "", "", ""], + [actions-38-minimum_versions.yaml, "", "", "", "", "", ""], + [actions-38.yaml, "not slow and not network", "language-pack-it", "it_IT.utf8", "it_IT.utf8", "", ""], + [actions-38.yaml, "not slow and not network", "language-pack-zh-hans", "zh_CN.utf8", "zh_CN.utf8", "", ""], + [actions-38.yaml, "", "", "", "", "", ""], + [actions-pypy-38.yaml, "not slow", "", "", "", "", "--max-worker-restart 0"], + [actions-39.yaml, "", "", "", "", "", ""], + [actions-310-numpydev.yaml, "not slow and not network", "", "", "", "deprecate", "-W error"], + [actions-310.yaml, "", "", "", "", "", ""], ] fail-fast: false env: @@ -105,7 +105,8 @@ jobs: hashFiles('${{ env.ENV_FILE }}') }} - name: Extra installs - run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 ${{ env.EXTRA_APT }} + # xsel for clipboard tests + run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 xsel ${{ env.EXTRA_APT }} - uses: conda-incubator/setup-miniconda@v2 with: diff --git a/ci/run_tests.sh b/ci/run_tests.sh index 020a3ed7f265c..7c11eb13e0e1d 100755 --- a/ci/run_tests.sh +++ b/ci/run_tests.sh @@ -24,7 +24,11 @@ if [[ $(uname) == "Linux" && -z $DISPLAY ]]; then XVFB="xvfb-run " fi -PYTEST_CMD="${XVFB}pytest -r fEs -m \"$PATTERN\" -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE $PYTEST_TARGET" +PYTEST_CMD="${XVFB}pytest -r fEs -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE $PYTEST_TARGET" + +if [[ "$PATTERN" ]]; then + PYTEST_CMD="$PYTEST_CMD -m \"$PATTERN\"" +fi if [[ $(uname) != "Linux" && $(uname) != "Darwin" ]]; then PYTEST_CMD="$PYTEST_CMD --ignore=pandas/tests/plotting/" @@ -35,7 +39,13 @@ sh -c "$PYTEST_CMD" if [[ "$PANDAS_DATA_MANAGER" != "array" ]]; then # The ArrayManager tests should have already been run by PYTEST_CMD if PANDAS_DATA_MANAGER was already set to array - PYTEST_AM_CMD="PANDAS_DATA_MANAGER=array pytest -m \"$PATTERN and arraymanager\" -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE pandas" + PYTEST_AM_CMD="PANDAS_DATA_MANAGER=array pytest -n $PYTEST_WORKERS --dist=loadfile $TEST_ARGS $COVERAGE pandas" + + if [[ "$PATTERN" ]]; then + PYTEST_AM_CMD="$PYTEST_AM_CMD -m \"$PATTERN and arraymanager\"" + else + PYTEST_AM_CMD="$PYTEST_AM_CMD -m \"arraymanager\"" + fi echo $PYTEST_AM_CMD sh -c "$PYTEST_AM_CMD" diff --git a/pandas/tests/io/test_clipboard.py b/pandas/tests/io/test_clipboard.py index 4a53705193e99..aacfccd38b7da 100644 --- a/pandas/tests/io/test_clipboard.py +++ b/pandas/tests/io/test_clipboard.py @@ -303,16 +303,13 @@ def test_invalid_encoding(self, df): def test_round_trip_valid_encodings(self, enc, df): self.check_round_trip_frame(df, encoding=enc) - -@pytest.mark.single -@pytest.mark.clipboard -@pytest.mark.parametrize("data", ["\U0001f44d...", "Ωœ∑´...", "abcd..."]) -@pytest.mark.xfail( - reason="Flaky test in multi-process CI environment: GH 44584", - raises=AssertionError, - strict=False, -) -def test_raw_roundtrip(data): - # PR #25040 wide unicode wasn't copied correctly on PY3 on windows - clipboard_set(data) - assert data == clipboard_get() + @pytest.mark.parametrize("data", ["\U0001f44d...", "Ωœ∑´...", "abcd..."]) + @pytest.mark.xfail( + reason="Flaky test in multi-process CI environment: GH 44584", + raises=AssertionError, + strict=False, + ) + def test_raw_roundtrip(self, data): + # PR #25040 wide unicode wasn't copied correctly on PY3 on windows + clipboard_set(data) + assert data == clipboard_get()