Pillow/Tests
Jon Dufresne 7da17ad41e Improve pytest configuration to allow specific tests as CLI args
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.
2019-01-13 09:00:12 -08:00
..
fonts test the accuracy of the font file conversion 2017-11-02 13:07:49 +00:00
icc Corrected filename [ci skip] 2016-05-03 19:23:51 +10:00
images Merge pull request #3540 from radarhere/fp 2019-01-06 12:53:04 +02: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 Set executable flag on scripts with shebang line 2017-03-31 19:43:19 +11:00
bench_cffi_access.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
bench_get.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_fli_overflow.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_icns_dos.py Added py3 variable to _util 2018-04-20 09:19:13 +10:00
check_imaging_leaks.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_j2k_dos.py Added py3 variable to _util 2018-04-20 09:19:13 +10:00
check_j2k_leaks.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_j2k_overflow.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_jpeg_leaks.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_large_memory_numpy.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_large_memory.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_libtiff_segfault.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
check_png_dos.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
createfontdatachunk.py Remove unused 'sys' import 2018-12-04 23:25:28 +02:00
helper.py Remove unused PillowTestCase.__str__ 2019-01-06 15:18:18 -08:00
import_all.py Updated paths for src directory 2017-12-31 07:11:26 +11:00
make_hash.py Clean up commented out debug print statements 2018-09-04 20:02:42 -07:00
README.rst No need to run coverage on dev machines 2017-12-28 14:49:47 +00:00
test_000_sanity.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_binary.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_bmp_reference.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_box_blur.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_color_lut.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_core_resources.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_decompression_bomb.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_features.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_blp.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_bmp.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_bufrstub.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_container.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_cur.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_dcx.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_dds.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_eps.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_fitsstub.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_fli.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_fpx.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_ftex.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gbr.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gd.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gif.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gimpgradient.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gimppalette.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_gribstub.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_hdf5stub.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_icns.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_ico.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_im.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_iptc.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_jpeg.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_jpeg2k.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_libtiff_small.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_libtiff.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_mcidas.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_mic.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_mpo.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_msp.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_palm.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_pcd.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_pcx.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_pdf.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_pixar.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_png.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_ppm.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_psd.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_sgi.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_spider.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_sun.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_tar.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_tga.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_tiff_metadata.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_tiff.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_wal.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_webp_alpha.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_webp_animated.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_webp_lossless.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_webp_metadata.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_webp.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_wmf.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_xbm.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_xpm.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_file_xvthumb.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_font_bdf.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_font_leaks.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_font_pcf.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_format_hsv.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_format_lab.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_access.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_array.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_convert.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_copy.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_crop.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_draft.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_filter.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_frombytes.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_fromqimage.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getbands.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getbbox.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getcolors.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getdata.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getextrema.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getim.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getpalette.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_getprojection.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_histogram.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_load.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_mode.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_paste.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_point.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_putalpha.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_putdata.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_putpalette.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_quantize.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_resample.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_resize.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_rotate.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_split.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_thumbnail.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_tobitmap.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_tobytes.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_transform.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image_transpose.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_image.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagechops.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagecms.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagecolor.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagedraw.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagedraw2.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imageenhance.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagefile.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagefont_bitmap.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagefont.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagefontctl.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagegrab.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagemath.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagemorph.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imageops_usm.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imageops.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagepalette.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagepath.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imageqt.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagesequence.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imageshow.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagestat.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagetk.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagewin_pointers.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_imagewin.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_lib_image.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_lib_pack.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_locale.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_map.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_mode_i16.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_numpy.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_pdfparser.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_pickle.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_psdraw.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_pyroma.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_qt_image_fromqpixmap.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_qt_image_toqimage.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_qt_image_toqpixmap.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_shell_injection.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_tiff_ifdrational.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_uploader.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_util.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
test_webp_leaks.py Improve pytest configuration to allow specific tests as CLI args 2019-01-13 09:00:12 -08:00
threaded_save.py Flake8 blank line fixes 2018-03-04 21:36:33 +11:00
versions.py Do not write custom tags with libtiff < 4 2018-11-12 06:14:04 +11: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
---------

**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::

    pytest -vx Tests

Or with coverage::

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

**If Pillow has been installed**

To run an individual test::

    pytest -k Tests/test_image.py

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

    pytest