Pillow/Tests
Alessio Sergi 7e8a6c61f8 Use pathlib2 for Path objects on Python < 3.4
The pathlib backport module is no longer maintained. The development
has moved to the pathlib2 module instead.

Quoting from the pathlib's README:
"Attention: this backport module isn't maintained anymore. If you want
to report issues or contribute patches, please consider the pathlib2
project instead."

Other projects have already switched to pathlib2, most notably IPython
and its dependencies.
2016-12-17 18:50:50 +01:00
..
fonts Testcase added. 2015-01-07 21:38:35 -08:00
icc Corrected filename [ci skip] 2016-05-03 19:23:51 +10:00
images replace test "1"-mode image 2016-12-07 03:09:13 +03:00
32bit_segfault_check.py flake8 2014-08-28 14:44:19 +03:00
bench_cffi_access.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
bench_get.py Flake8 fixes 2015-08-25 22:27:18 +10:00
check_fli_overflow.py Health fixes 2016-04-01 21:49:30 +11:00
check_icns_dos.py flake8 2014-08-28 14:44:19 +03:00
check_imaging_leaks.py Various Flake8 fixes 2015-07-03 16:22:56 +10:00
check_j2k_dos.py flake8 2014-08-28 14:44:19 +03:00
check_j2k_leaks.py Removed or commented unused variables 2015-04-24 16:02:38 +10:00
check_j2k_overflow.py Replace try/except/fail pattern with TestCase.assertRaises() 2016-11-06 13:43:09 -08:00
check_jpeg_leaks.py Changed lines to be below 80 characters 2015-12-02 16:41:26 +11:00
check_large_memory_numpy.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
check_large_memory.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
check_libtiff_segfault.py Replace try/except/fail pattern with TestCase.assertRaises() 2016-11-06 13:43:09 -08:00
check_png_dos.py ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled 2016-06-20 17:33:10 +03:00
check_webp_leaks.py Removed or commented unused variables 2015-04-24 16:02:38 +10:00
helper.py fix I;16 mode 2016-12-07 05:16:10 +03:00
import_all.py Flake8 fixes 2015-08-25 22:27:18 +10:00
make_hash.py Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
README.rst Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_000_sanity.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_binary.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_bmp_reference.py Added future print_function imports 2016-11-26 11:05:56 +11:00
test_box_blur.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_decompression_bomb.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_features.py Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
test_file_bmp.py flake8 2016-08-04 09:40:12 +03:00
test_file_bufrstub.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_cur.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_dcx.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_dds.py Add support for BC7 to DdsImagePlugin 2016-08-26 02:26:03 -05:00
test_file_eps.py Flake8 fixes 2016-09-03 12:17:22 +10:00
test_file_fitsstub.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_fli.py Remove unused, open files at top level of tests. 2016-11-01 06:34:17 -07:00
test_file_fpx.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_ftex.py Move DDS decoders to C 2016-08-25 19:27:48 -05:00
test_file_gbr.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_gif.py Use generator expressions instead of list comprehension 2016-11-14 18:11:15 -08:00
test_file_gimpgradient.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_gimppalette.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_gribstub.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_hdf5stub.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_icns.py Remove unused, open files at top level of tests. 2016-11-01 06:34:17 -07:00
test_file_ico.py Test case for #2266 2016-11-30 16:36:04 +02:00
test_file_im.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_iptc.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_jpeg.py Fix for issue 2272, CMYK images miss the heuristic for the maxblock buffer scaling 2016-12-03 14:45:45 +00:00
test_file_jpeg2k.py Replace try/except/fail pattern with TestCase.assertRaises() 2016-11-06 13:43:09 -08:00
test_file_libtiff_small.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_libtiff.py Merge pull request #2263 from wiredfool/tiff_bytesio 2016-12-09 11:04:41 +02:00
test_file_mcidas.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_mic.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_mpo.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_msp.py replace test "1"-mode image 2016-12-07 03:09:13 +03:00
test_file_palm.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_pcd.py Health fixes 2016-04-01 21:49:30 +11:00
test_file_pcx.py Revert "temporary disable PCX P mode test due to errors in codec" 2016-08-07 13:48:01 +03:00
test_file_pdf.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_png.py Merge pull request #2184 from jdufresne/isinstance 2016-11-01 19:07:06 +02:00
test_file_ppm.py Remove unused, open files at top level of tests. 2016-11-01 06:34:17 -07:00
test_file_psd.py Remove unused, open files at top level of tests. 2016-11-01 06:34:17 -07:00
test_file_sgi.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_spider.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_sun.py Review comments 2016-11-23 05:33:02 -08:00
test_file_tar.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_tga.py Test TGA RLE file 2016-04-21 17:49:35 +03:00
test_file_tiff_metadata.py Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_file_tiff.py Moving tests requiring libtiff to test_file_libtiff 2016-12-05 08:25:10 -08:00
test_file_webp_alpha.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_webp_lossless.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_webp_metadata.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_webp.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_wmf.py EMF: support negative bounding box coordinates (#2249) 2016-11-27 16:03:51 +00:00
test_file_xbm.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_file_xpm.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_font_bdf.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_font_pcf.py Use generator expressions instead of list comprehension 2016-11-14 18:11:15 -08:00
test_format_hsv.py Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
test_format_lab.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_access.py Replace try/except/fail pattern with TestCase.assertRaises() 2016-11-06 13:43:09 -08:00
test_image_array.py Fixed typos 2016-08-31 20:12:07 +10:00
test_image_convert.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_copy.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_crop.py Make Image.crop an immediate operation, not lazy. Fixes #1077 2016-09-29 13:28:24 -07:00
test_image_draft.py protect .draft() from second call 2016-11-22 04:28:04 +03:00
test_image_filter.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_frombytes.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_fromqimage.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_fromqpixmap.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getbands.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getbbox.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getcolors.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getdata.py Merge branch 'master' into rotation-pixel-center 2016-08-07 13:47:16 +03:00
test_image_getextrema.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getim.py Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_image_getpalette.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_getprojection.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_histogram.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_load.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_mode.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_paste.py Added test 2016-11-15 06:38:54 +11:00
test_image_point.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_putalpha.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_putdata.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_putpalette.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_quantize.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_resample.py Added future print_function imports 2016-11-26 11:05:56 +11:00
test_image_resize.py fix typo! 2016-11-24 04:07:06 +03:00
test_image_rotate.py Merge pull request #2052 from uploadcare/rotate-loading 2016-08-05 19:35:06 +03:00
test_image_split.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_thumbnail.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_tobitmap.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_tobytes.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_image_toqimage.py Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_image_toqpixmap.py Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_image_transform.py Fixed typos 2016-08-31 20:12:07 +10:00
test_image_transpose.py Further health fixes 2015-04-24 18:24:52 +10:00
test_image.py Use pathlib2 for Path objects on Python < 3.4 2016-12-17 18:50:50 +01:00
test_imagechops.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagecms.py remove old version 2016-12-07 04:39:36 +03:00
test_imagecolor.py added more case insensitivity tests 2016-09-19 12:12:16 +03:00
test_imagedraw.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imageenhance.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagefile.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagefont_bitmap.py Flake8 fixes 2015-12-31 07:27:27 +11:00
test_imagefont.py Increase epsilon for FreeType 2.7 2016-12-12 15:16:43 +02:00
test_imagegrab.py Renamed references to OS X to macOS 2016-09-23 21:12:03 +10:00
test_imagemath.py Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
test_imagemorph.py Use generator expressions instead of list comprehension 2016-11-14 18:11:15 -08:00
test_imageops_usm.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imageops.py Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
test_imagepalette.py Py3 bytes 2016-12-03 14:49:44 +00:00
test_imagepath.py Replace try/except/fail pattern with TestCase.assertRaises() 2016-11-06 13:43:09 -08:00
test_imageqt.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagesequence.py Force reloading palette when using mmap in ImageFile. 2016-09-29 14:54:25 +02:00
test_imageshow.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagestat.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_imagetk.py flake8 2016-08-04 09:40:12 +03:00
test_imagewin_pointers.py Drop support for Python 2.6 2016-11-22 04:23:55 -08:00
test_imagewin.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_lib_image.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_lib_pack.py Merged BGRa test into Tests/test_lib_pack.py 2016-08-08 00:07:08 +02:00
test_locale.py Added future print_function imports 2016-11-26 11:05:56 +11:00
test_map.py Vulnerable map function is not called on windows 2016-10-03 07:42:48 -07:00
test_mode_i16.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_numpy.py Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
test_pickle.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_psdraw.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_pyroma.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_scipy.py Added missing top-level test code 2016-11-14 21:12:25 +11:00
test_shell_injection.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
test_tiff_ifdrational.py Fix bug in test_idf_rational_save 2016-12-01 11:10:03 -06:00
test_util.py remove end of file banner from all files 2016-07-10 14:11:28 +03:00
threaded_save.py Added missing future print imports and removed unnecessary imports 2015-05-23 20:28:41 +10:00
versions.py Added missing future print imports and removed unnecessary imports 2015-05-23 20:28:41 +10:00

Pillow Tests
============

Test scripts are named ``test_xxx.py`` and use the ``unittest`` module. A base class and helper functions can be found in ``helper.py``.

Dependencies
-----------

Install::

    pip install coverage nose

Execution
---------

**If Pillow has been built in-place**

To run an individual test::

    python Tests/test_image.py

Run all the tests from the root of the Pillow source distribution::

    nosetests -vx Tests/test_*.py

Or with coverage::

    coverage run --append --include=PIL/* -m nose -vx Tests/test_*.py
    coverage report
    coverage html
    open htmlcov/index.html

**If Pillow has been installed**

To run an individual test::

    ./test-installed.py Tests/test_image.py

Run all the tests from the root of the Pillow source distribution::

    ./test-installed.py