mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-11 04:07:21 +03:00
7da17ad41e
The previous test configuration made it difficult to run a single test with the pytest CLI. There were two major issues: - The Tests directory was not a package. It now includes a __init__.py file and imports from other tests modules are done with relative imports. - setup.cfg always specified the Tests directory. So even if a specific test were specified as a CLI arg, this configuration would also always include all tests. This configuration has been removed to allow specifying a single test on the command line. Contributors can now run specific tests with a single command such as: $ tox -e py37 -- Tests/test_file_pdf.py::TestFilePdf.test_rgb This makes it easy and faster to iterate on a single test failure and is very familiar to those that have previously used tox and pytest. When running tox or pytest with no arguments, they still discover and runs all tests in the Tests directory.
38 lines
992 B
Python
38 lines
992 B
Python
import sys
|
|
|
|
from .helper import unittest, PillowTestCase
|
|
|
|
# This test is not run automatically.
|
|
#
|
|
# It requires > 2gb memory for the >2 gigapixel image generated in the
|
|
# second test. Running this automatically would amount to a denial of
|
|
# service on our testing infrastructure. I expect this test to fail
|
|
# on any 32-bit machine, as well as any smallish things (like
|
|
# Raspberry Pis). It does succeed on a 3gb Ubuntu 12.04x64 VM on Python
|
|
# 2.7 and 3.2.
|
|
|
|
from PIL import Image
|
|
YDIM = 32769
|
|
XDIM = 48000
|
|
|
|
|
|
@unittest.skipIf(sys.maxsize <= 2**32, "requires 64-bit system")
|
|
class LargeMemoryTest(PillowTestCase):
|
|
|
|
def _write_png(self, xdim, ydim):
|
|
f = self.tempfile('temp.png')
|
|
im = Image.new('L', (xdim, ydim), 0)
|
|
im.save(f)
|
|
|
|
def test_large(self):
|
|
""" succeeded prepatch"""
|
|
self._write_png(XDIM, YDIM)
|
|
|
|
def test_2gpx(self):
|
|
"""failed prepatch"""
|
|
self._write_png(XDIM, XDIM)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|