Skip to content
Open
Show file tree
Hide file tree
Changes from 9 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
1 change: 0 additions & 1 deletion .ci/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@

set -e

python3 -m coverage erase
make clean
make install-coverage
6 changes: 0 additions & 6 deletions .ci/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,7 @@ sudo apt-get -qq install libfreetype6-dev liblcms2-dev libtiff-dev python3-tk\

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade wheel
python3 -m pip install coverage
python3 -m pip install defusedxml
python3 -m pip install ipython
python3 -m pip install olefile
python3 -m pip install -U pytest
python3 -m pip install -U pytest-cov
python3 -m pip install -U pytest-timeout
# optional test dependencies, only install if there's a binary package.
python3 -m pip install --only-binary=:all: numpy || true
python3 -m pip install --only-binary=:all: pyarrow || true
Expand Down
3 changes: 2 additions & 1 deletion .ci/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ set -e

python3 -c "from PIL import Image"

python3 -bb -m pytest -vv -x -W always --cov PIL --cov Tests --cov-report term --cov-report xml Tests $REVERSE
python3 -bb -m pytest -vv -x -W always Tests -m "isolated" -n0
python3 -bb -m pytest -vv -x -W always Tests -m "not isolated" --cov PIL --cov Tests --cov-report term --cov-report xml $REVERSE
2 changes: 1 addition & 1 deletion .github/workflows/test-mingw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
pushd depends && ./install_extra_test_images.sh && popd

- name: Build Pillow
run: CFLAGS="-coverage" python3 -m pip install .
run: CFLAGS="-coverage" python3 -m pip install .[tests]

- name: Test Pillow
run: |
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/test-valgrind-memory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,5 +60,10 @@ jobs:
run: |
# The Pillow user in the docker container is UID 1001
sudo chown -R 1001 $GITHUB_WORKSPACE
docker run --name pillow_container -e "PILLOW_VALGRIND_TEST=true" -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} /Pillow/depends/docker-test-valgrind-memory.sh
docker run --name pillow_container \
-e "PILLOW_VALGRIND_TEST=true" \
-e "PYTEST_ADDOPTS=-n0" \
-v $GITHUB_WORKSPACE:/Pillow \
pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }} \
bash -c "python3 -m pip install pytest-xdist && /Pillow/depends/docker-test-valgrind-memory.sh"
sudo chown -R runner $GITHUB_WORKSPACE
6 changes: 5 additions & 1 deletion .github/workflows/test-valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,9 @@ jobs:
run: |
# The Pillow user in the docker container is UID 1001
sudo chown -R 1001 $GITHUB_WORKSPACE
docker run --name pillow_container -e "PILLOW_VALGRIND_TEST=true" -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
docker run --name pillow_container \
-e "PILLOW_VALGRIND_TEST=true" \
-e "PYTEST_ADDOPTS=-n0" \
-v $GITHUB_WORKSPACE:/Pillow \
pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
sudo chown -R runner $GITHUB_WORKSPACE
8 changes: 1 addition & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ install:

.PHONY: install-coverage
install-coverage:
CFLAGS="-coverage -Werror=implicit-function-declaration" python3 -m pip -v install .
CFLAGS="-coverage -Werror=implicit-function-declaration" python3 -m pip -v install .[tests]
python3 selftest.py

.PHONY: debug
Expand Down Expand Up @@ -95,12 +95,6 @@ test:
python3 -c "import pytest" > /dev/null 2>&1 || python3 -m pip install pytest
python3 -m pytest -qq

.PHONY: test-p
test-p:
python3 -c "import xdist" > /dev/null 2>&1 || python3 -m pip install pytest-xdist
python3 -m pytest -qq -n auto


.PHONY: valgrind
valgrind:
python3 -c "import pytest_valgrind" > /dev/null 2>&1 || python3 -m pip install pytest-valgrind
Expand Down
1 change: 1 addition & 0 deletions Tests/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ def mark_if_feature_version(
return pytest.mark.pil_noop_mark()


@pytest.mark.isolated
@pytest.mark.skipif(sys.platform.startswith("win32"), reason="Requires Unix or macOS")
class PillowLeakTestCase:
# requires unix/macOS
Expand Down
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ optional-dependencies.tests = [
"packaging",
"pytest",
"pytest-cov",
"pytest-sugar",
Comment thread
radarhere marked this conversation as resolved.
"pytest-timeout",
"pytest-xdist",
"setuptools",
Expand Down Expand Up @@ -200,7 +201,10 @@ extra_checks = true
pretty = true

[tool.pytest]
addopts = [ "-ra", "--color=auto" ]
addopts = [ "-ra", "--color=auto", "--numprocesses=auto", "--dist=loadscope" ]
Comment thread
hugovk marked this conversation as resolved.
Outdated
markers = [
"isolated: tests that are not compatible with pytest-xdist (deselect with '-m \"not isolated\"')",
]
testpaths = [
"Tests",
]
Loading