Pillow/Tests
Hugo van Kemenade fbb74a6050
Merge pull request #6234 from radarhere/font_variant
If font is file-like object, do not re-read from object to get variant
2022-05-19 23:30:44 +03:00
..
fonts Fix Memory DOS in ImageFont 2021-04-01 17:17:27 +03:00
icc Corrected filename [ci skip] 2016-05-03 19:23:51 +10:00
images When reading past the end of a scan line, reduce bytes left 2022-05-17 11:53:24 +03:00
oss-fuzz Updated path after pillow-wheels switched to libjpeg-turbo 2022-01-01 20:15: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 pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
bench_cffi_access.py Remove old Travis CI config 2020-12-19 21:57:32 +02:00
check_fli_oob.py Added context managers 2021-11-25 23:16:07 +11:00
check_fli_overflow.py Removed PillowTestCase helper class 2020-03-28 12:51:28 +11:00
check_icns_dos.py Added context managers 2021-02-11 21:43:54 +11:00
check_imaging_leaks.py Use python3 in shebang line 2021-04-09 19:10:36 +10:00
check_j2k_dos.py Added context managers 2021-02-11 21:43:54 +11:00
check_j2k_leaks.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
check_j2k_overflow.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
check_jp2_overflow.py Added context managers 2021-11-25 23:16:07 +11:00
check_jpeg_leaks.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
check_large_memory_numpy.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
check_large_memory.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
check_libtiff_segfault.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
check_png_dos.py Upgrade Python syntax for 3.6+ 2020-07-30 10:09:18 +03:00
conftest.py make sure we return a mark decorator 2021-04-10 12:03:15 +02:00
createfontdatachunk.py Use python3 in shebang line 2021-04-09 19:10:36 +10:00
helper.py [Test] class names should be CamelCase 2022-04-11 15:29:01 +03:00
README.rst unittest is no longer used in every test [ci skip] 2020-03-27 18:36:36 +11: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 Added file to supported list 2022-03-09 22:36:33 +11:00
test_box_blur.py [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
test_color_lut.py Merge pull request #6195 from hugovk/cleanup 2022-04-26 18:51:44 +10:00
test_core_resources.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_decompression_bomb.py Replaced test image to fix xfail 2022-05-09 22:30:04 +10:00
test_deprecate.py If removal version has arrived, raise an error 2022-04-08 21:22:31 +10:00
test_deprecated_imageqt.py Run deprecated import check before imports from other tests 2022-04-23 08:01:02 +10:00
test_features.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_apng.py Added DeferredError to _fp 2022-04-17 12:14:53 +10:00
test_file_blp.py Added BLP1 saving 2022-02-25 23:58:13 +11:00
test_file_bmp.py Finish reading data at eof 2022-03-09 22:36:34 +11:00
test_file_bufrstub.py Fixed BUFR, GRIB and HDF5 stub saving 2022-02-19 14:29:03 +11: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 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_dcx.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_file_dds.py Use _accept check in _open 2022-02-27 14:48:36 +11:00
test_file_eps.py Improved consistency of returning an image access object from load() 2022-02-02 11:49:31 +11:00
test_file_fits.py Deprecated FitsStubImagePlugin 2022-02-19 14:41:12 +11:00
test_file_fli.py Added DeferredError to _fp 2022-04-17 12:14:53 +10:00
test_file_fpx.py Added context managers 2021-02-11 21:43:54 +11:00
test_file_ftex.py Use _accept check in _open 2022-02-27 14:48:36 +11:00
test_file_gbr.py Improved consistency of returning an image access object from load() 2022-02-02 11:49:31 +11:00
test_file_gd.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_gif.py Merge pull request #6213 from radarhere/fp 2022-05-19 18:52:55 +03: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 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_gribstub.py Fixed BUFR, GRIB and HDF5 stub saving 2022-02-19 14:29:03 +11:00
test_file_hdf5stub.py Fixed BUFR, GRIB and HDF5 stub saving 2022-02-19 14:29:03 +11:00
test_file_icns.py Skip tests unless JPEG 2000 is available 2022-04-29 19:17:03 +10:00
test_file_ico.py Save multiple images at different bit depths if provided 2022-03-12 15:49:36 +11:00
test_file_im.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_file_iptc.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_file_jpeg.py Update URL (#16) 2022-04-28 08:26:57 +10:00
test_file_jpeg2k.py Parametrized test 2022-03-31 22:13:17 +03:00
test_file_libtiff_small.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_libtiff.py Skip test_realloc_overflow unless libtiff 4.0.4 or higher 2022-05-17 13:17:01 +03:00
test_file_mcidas.py Replaced various instances of assert_image_equal with assert_image_equal_tofile 2021-02-21 22:15:56 +11:00
test_file_mic.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_mpo.py Added DeferredError to _fp 2022-04-17 12:14:53 +10:00
test_file_msp.py Replaced various instances of assert_image_equal with assert_image_equal_tofile 2021-02-21 22:15:56 +11:00
test_file_palm.py Removed CONVERT helper variables 2021-03-22 19:50:06 +00:00
test_file_pcd.py Converted to pytest 2020-02-25 20:57:27 +11:00
test_file_pcx.py Handle PCX images with an odd stride 2021-01-21 19:29:11 +11:00
test_file_pdf.py [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
test_file_pixar.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_png.py Raise ValueError if PNG chunks are truncated 2022-05-01 13:45:58 +10:00
test_file_ppm.py Merge pull request #6242 from radarhere/ppm_maxval 2022-05-01 21:21:52 +03:00
test_file_psd.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_file_sgi.py Added test 2021-07-30 20:29:07 +10:00
test_file_spider.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_file_sun.py Replaced various instances of assert_image_equal with assert_image_equal_tofile 2021-02-21 22:15:56 +11:00
test_file_tar.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_file_tga.py When reading past the end of a scan line, reduce bytes left 2022-05-17 11:53:24 +03:00
test_file_tiff_metadata.py [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
test_file_tiff.py Merge pull request #6213 from radarhere/fp 2022-05-19 18:52:55 +03:00
test_file_wal.py Improved consistency of returning an image access object from load() 2022-02-02 11:49:31 +11:00
test_file_webp_alpha.py Replaced various instances of assert_image_similar with assert_image_similar_tofile 2021-02-21 22:22:29 +11:00
test_file_webp_animated.py [Test] function name should be snake_case 2022-04-11 15:29:01 +03:00
test_file_webp_lossless.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_webp_metadata.py lint stuff 2021-04-10 16:58:01 +02:00
test_file_webp.py Test invalid WebP background colors 2022-04-26 18:55:54 +10:00
test_file_wmf.py Improved consistency of returning an image access object from load() 2022-02-02 11:49:31 +11:00
test_file_xbm.py Raise SyntaxError if data is not as expected 2022-02-27 14:48:36 +11:00
test_file_xpm.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_file_xvthumb.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_font_bdf.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_font_leaks.py Rename master to main 2021-10-15 17:30:05 +03:00
test_font_pcf_charsets.py Replaced various instances of assert_image_similar with assert_image_similar_tofile 2021-02-21 22:22:29 +11:00
test_font_pcf.py Replaced various instances of assert_image_similar with assert_image_similar_tofile 2021-02-21 22:22:29 +11:00
test_format_hsv.py Added enums 2022-01-15 09:02:31 +11:00
test_format_lab.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_access.py Only import ctypes as needed on Windows 2022-03-19 14:46:25 +11:00
test_image_array.py Populate Python palette in fromarray() 2022-05-09 18:50:54 +10:00
test_image_convert.py Don't redeclare loop variable 2022-04-10 23:39:54 +03:00
test_image_copy.py Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
test_image_crop.py Raise an error when performing a negative crop 2022-01-18 16:38:00 +11: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 Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
test_image_frombytes.py Remove im.offset, deprecated in 2001; and fromstring and tostring, deprecated in 2013 2020-07-17 10:55:20 +03:00
test_image_fromqimage.py Deprecate support for Qt 5 (PyQt5 and PySide2). Use Qt 6 (PyQt6 or PySide6) instead. 2022-04-22 15:56:11 +03:00
test_image_getbands.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getbbox.py If an alpha channel is present, only use that to get bounding box 2020-02-28 22:33:02 +11:00
test_image_getcolors.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_getdata.py Added enums 2022-01-15 09:02:31 +11:00
test_image_getextrema.py Fixed endian handling for I;16 getextrema 2020-02-29 20:29:28 +11:00
test_image_getim.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_image_getpalette.py Updated tests in light of #6060 2022-02-20 23:54:12 +11: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 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_image_mode.py Merged _MODE_CONV typ into ImageMode as typestr 2022-02-15 18:01:02 +11:00
test_image_paste.py [Test] class names should be CamelCase 2022-04-11 15:29:01 +03:00
test_image_point.py Manually merge radarhere's additional tests 2022-05-03 13:53:50 -07:00
test_image_putalpha.py Convert various tests to pytest style 2020-01-27 22:46:52 +11:00
test_image_putdata.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_image_putpalette.py Allow getpalette() to return less than 256 colors 2022-02-16 09:56:13 +11:00
test_image_quantize.py Use enums for quantize instead of raw values 2022-02-19 10:49:23 +11:00
test_image_reduce.py Added enums 2022-01-15 09:02:31 +11:00
test_image_resample.py Remove redundant parentheses 2022-04-10 23:39:54 +03:00
test_image_resize.py Skip tests unless libtiff is available 2022-04-20 11:10:48 +10:00
test_image_rotate.py Added enums 2022-01-15 09:02:31 +11:00
test_image_split.py Converted to pytest 2020-02-25 20:57:27 +11:00
test_image_thumbnail.py Skip tests unless libtiff is available 2022-04-20 11:10:48 +10: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 Added enums 2022-01-15 09:02:31 +11:00
test_image_transpose.py Added enums 2022-01-15 09:02:31 +11:00
test_image.py Skip tests unless JPEG 2000 is available 2022-04-29 19:17:03 +10:00
test_imagechops.py Added context managers 2021-11-25 23:16:07 +11:00
test_imagecms.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_imagecolor.py Update test case 2021-09-02 15:03:03 +03:00
test_imagedraw.py Merge pull request #5980 from radarhere/polygon 2022-03-27 18:51:10 +03:00
test_imagedraw2.py Replaced various instances of assert_image_similar with assert_image_similar_tofile 2021-02-21 22:22:29 +11:00
test_imageenhance.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_imagefile.py Do not open images with zero or negative height 2022-05-04 21:25:40 +10:00
test_imagefont.py If font is file-like object, do not re-read from object to get variant 2022-04-22 07:31:20 +10:00
test_imagefontctl.py Remove support for FreeType 2.7 and older 2021-10-18 09:29:53 +03:00
test_imagegrab.py Do not compare properties to themselves 2021-12-26 13:27:41 +11:00
test_imagemath.py Restrict builtins within lambdas for ImageMath.eval 2022-02-03 08:42:53 +11:00
test_imagemorph.py Merge branch 'main' into cleanup-names 2022-04-15 20:45:44 +10:00
test_imageops_usm.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_imageops.py Allow 1 mode images to be inverted 2022-02-08 09:12:01 +11:00
test_imagepalette.py Fix ResourceWarning: unclosed file 2021-08-24 10:58:02 +03:00
test_imagepath.py [Test] class names should be CamelCase 2022-04-11 15:29:01 +03:00
test_imageqt.py Ignore warning 2022-04-24 08:28:21 +03:00
test_imagesequence.py Merge pull request #6195 from hugovk/cleanup 2022-04-26 18:51:44 +10:00
test_imageshow.py Added test 2022-02-12 09:07:17 +11:00
test_imagestat.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_imagetk.py Skip test_imagetk if tk raises a RuntimeError 2022-05-05 08:16:06 +10:00
test_imagewin_pointers.py Only import ctypes as needed on Windows 2022-03-19 14:46:25 +11:00
test_imagewin.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_lib_image.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_lib_pack.py Add support for unpacking 16-bit BGRA 2022-03-31 10:42:54 +01:00
test_locale.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_main.py Convert some tests to pytest style 2020-01-18 12:12:10 -08:00
test_map.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_mode_i16.py Variable in function should be snake_case 2022-04-10 23:55:16 +03:00
test_numpy.py Updated checks that no warnings were raised 2022-02-21 13:49:01 +11:00
test_pdfparser.py pre-commit autoupdate --freeze 2022-03-04 16:42:24 +11:00
test_pickle.py Added context managers 2021-11-25 23:16:07 +11:00
test_psdraw.py Corrected error in restoring sys.stdout 2021-05-07 20:44:46 +10:00
test_pyroma.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_qt_image_qapplication.py Deprecate support for Qt 5 (PyQt5 and PySide2). Use Qt 6 (PyQt6 or PySide6) instead. 2022-04-22 15:56:11 +03:00
test_qt_image_toqimage.py Deprecate support for Qt 5 (PyQt5 and PySide2). Use Qt 6 (PyQt6 or PySide6) instead. 2022-04-22 15:56:11 +03:00
test_sgi_crash.py Added context managers 2021-11-25 23:16:07 +11:00
test_shell_injection.py Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
test_tiff_crashes.py Filter out UserWarning: Truncated File Read 2021-08-24 11:03:10 +03:00
test_tiff_ifdrational.py Convert to float for comparison with float in IFDRational __eq__ 2021-05-10 08:36:45 +10:00
test_uploader.py Converted to pytest 2020-02-25 20:57:27 +11:00
test_util.py [Private] class names should be CamelCase 2022-04-10 23:55:16 +03: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``. Helper classes and functions can be found in ``helper.py``.

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

Install::

    python3 -m 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