Pillow/Tests
Peter Rowlands 7c0df1034f Add APNG test cases
Includes tests for reading and writing APNG files.

The tests for reading files are based on the APNG browser compatibility
tests from https://philip.html5.org/tests/apng/tests.html
(which is linked in the Tests section of https://wiki.mozilla.org/APNG_Specification)
2020-02-23 15:14:06 +11:00
..
fonts add test for #3777 2019-06-25 22:16:00 +10:00
icc Corrected filename [ci skip] 2016-05-03 19:23:51 +10:00
images Add APNG test cases 2020-02-23 15:14:06 +11:00
__init__.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
32bit_segfault_check.py Introduce isort to automate import ordering and formatting 2019-07-06 16:11:35 -07:00
bench_cffi_access.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_fli_overflow.py Use context managers 2019-11-26 07:03:23 +11:00
check_icns_dos.py Use bytes literals instead of bytes(str) 2019-10-06 19:26:55 -07:00
check_imaging_leaks.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_j2k_dos.py Use bytes literals instead of bytes(str) 2019-10-06 19:26:55 -07:00
check_j2k_leaks.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
check_j2k_overflow.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_jpeg_leaks.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_large_memory_numpy.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_large_memory.py Import unittest from stdlib rather than helper.py 2019-11-20 18:42:52 -08:00
check_libtiff_segfault.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
check_png_dos.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
conftest.py Move safe imports to the top of test files 2020-02-17 10:49:27 -08:00
createfontdatachunk.py Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
helper.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
README.rst Cover tests https://nedbatchelder.com/blog/201908/dont_omit_tests_from_coverage.html 2019-11-20 17:28:12 +02:00
test_000_sanity.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_binary.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_bmp_reference.py Replace PillowTestCase.assert_warning with pytest.warns 2020-02-03 11:11:32 +02:00
test_box_blur.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_color_lut.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_core_resources.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_decompression_bomb.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_features.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_file_blp.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_file_bmp.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_file_bufrstub.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_file_container.py Return strings or bytes from ContainerIO according to the file object mode 2020-02-15 22:13:10 +11:00
test_file_cur.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_dcx.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_dds.py Remove commas 2020-02-15 16:21:37 +02:00
test_file_eps.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_fitsstub.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_fli.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_fpx.py Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
test_file_ftex.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_file_gbr.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_gd.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_file_gif.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_gimpgradient.py Move safe imports to the top of test files 2020-02-17 10:49:27 -08:00
test_file_gimppalette.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_file_gribstub.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_hdf5stub.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_icns.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_ico.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_im.py Replace PillowTestCase.assert_warning with pytest.warns 2020-02-03 11:11:32 +02:00
test_file_iptc.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_jpeg.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_jpeg2k.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_libtiff_small.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_libtiff.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_mcidas.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_mic.py Merge remote-tracking branch 'upstream/master' into pytest.importorskip 2020-02-19 19:26:52 +02:00
test_file_mpo.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_file_msp.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_palm.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_pcd.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_file_pcx.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_pdf.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_pixar.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_png.py Add APNG test cases 2020-02-23 15:14:06 +11:00
test_file_ppm.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_psd.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_sgi.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_spider.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_sun.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_tar.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_file_tga.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_tiff_metadata.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_tiff.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_wal.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_file_webp_alpha.py Convert to use pytest 2020-02-18 15:50:34 +02:00
test_file_webp_animated.py Merge remote-tracking branch 'upstream/master' into pytest.importorskip 2020-02-19 19:26:52 +02:00
test_file_webp_lossless.py Merge remote-tracking branch 'upstream/master' into pytest.importorskip 2020-02-19 19:26:52 +02:00
test_file_webp_metadata.py _webp not needed in this file 2020-02-20 12:24:46 +02:00
test_file_webp.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_wmf.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_file_xbm.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_xpm.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_file_xvthumb.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_font_bdf.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_font_leaks.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_font_pcf.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_format_hsv.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_format_lab.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_access.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_array.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_convert.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_copy.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_crop.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_draft.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_image_entropy.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_filter.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_frombytes.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_fromqimage.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_image_getbands.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getbbox.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getcolors.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_getdata.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_getextrema.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_getim.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getpalette.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getprojection.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_histogram.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_load.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_mode.py Move safe imports to the top of test files 2020-02-17 10:49:27 -08:00
test_image_paste.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_point.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_putalpha.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_putdata.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_putpalette.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_quantize.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_reduce.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_resample.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_resize.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_rotate.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_split.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_thumbnail.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_tobitmap.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image_tobytes.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_transform.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_image_transpose.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_image.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagechops.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_imagecms.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_imagecolor.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_imagedraw.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_imagedraw2.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_imageenhance.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_imagefile.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagefont_bitmap.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_imagefont.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagefontctl.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagegrab.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagemath.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_imagemorph.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imageops_usm.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imageops.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08:00
test_imagepalette.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagepath.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imageqt.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imagesequence.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_imageshow.py Corrected skip condition 2020-01-28 19:59:41 +11:00
test_imagestat.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_imagetk.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_imagewin_pointers.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_imagewin.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_lib_image.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_lib_pack.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_locale.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_main.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_map.py Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
test_mode_i16.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_numpy.py Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
test_pdfparser.py Replace unittest with pytest 2020-02-13 12:15:05 +02:00
test_pickle.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_psdraw.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_pyroma.py Use pytest.importorskip to skip on a missing import dependency 2020-02-18 14:30:56 +02:00
test_qt_image_fromqpixmap.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_qt_image_toqimage.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_qt_image_toqpixmap.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_shell_injection.py Use context managers 2019-11-26 07:03:23 +11:00
test_tiff_ifdrational.py Converted most assert statements to pytest 2020-02-23 00:06:21 +11:00
test_uploader.py Convert most PillowTestCase methods to pytest 2020-02-02 12:26:01 +02:00
test_util.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_webp_leaks.py Streamline test skipping based on supported features 2020-02-18 13:07:01 -08: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 pytest pytest-cov

Execution
---------

To run an individual test::

    pytest Tests/test_image.py

Or::

    pytest -k test_image.py

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

    pytest

Or with coverage::

    pytest --cov PIL --cov Tests --cov-report term
    coverage html
    open htmlcov/index.html