If neither <filesystem> nor <experimental/filesystem> is detected,
then require <boost/filesystem.hpp>.
If user defines BOOST_GIL_IO_USE_BOOST_FILESYSTEM macro,
then <boost/filesystem.hpp> is pre-selected and required,
and search for any of the C++ standard implementation is skipped.
Remove end-user macro BOOST_GIL_IO_ADD_FS_PATH_SUPPORT
Require tests to always build with support of either
detected C++ filesystem or pre-selected Boost.Filesystem.
Closes ##222
Improve utilities sending channels, pixels and other GIL objects to
output stream for logging of test errors.
Fix missing namespace qualification in IO tests.
Comment TARGA test case with FIXME that was accidentally
uncommented in cc64bdd1a4
Remove use of compile-time configuration macros
- BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
- BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
Remove BOOST_GIL_IO_USE_TARGA_FILEFORMAT_TEST_SUITE_IMAGES as not used anymore.
Remove use of compile-time configuration macros
- BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
- BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
Narrow use of BOOST_GIL_IO_USE_BMP_TEST_SUITE_IMAGES macro.
This is part of efforts removing use of compile-time configuration macros
BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
Move test sources to format-specific directories.
Add FIXME and TODO comments about issues discovered while building the format-specific tests.
Add missing `#include`-s with standard library headers.
Apply minor corrections and tidying up.
Continues #459Closes#461
Motivation is to:
- use on simpler and light test framework,
- eliminate dependency on libraries like Boost.MPL,
- achieve faster compilation times for CI builds (20% seems feasible)
- have test programs easy to run and debug
- avoid macros
Remove outdated FIXME-s for bugs that have been already fixed.
Fix off-by-one bug in test/core/test_fixture.hpp generators.
Minor corrections and tidying up.
Add missing test assertions to numeric extension tests.
Fixes#458
* CMake: Fix look-up for TIFF add-in library for C++ (tiffxx)
* IO: Add missing rgba8_image_t to any_image for tiff
- test/extension/io/images/tiff/test.tif is RGBA
* Add corrupted png read test
Add test provided by
https://github.com/misos1
that shows segfault behavior when
png header is corrupted
* Throw exception if errored in png func
This commit modified apply and
read_rows functions to guard against
errors that appear in libpng functions,
and throws exceptions instead of
segfaulting
Refactoring to unify use of the common framework across GIL tests.
Merge `unit_test_utility.hpp` into `unit_test.hpp` for convenience.
Add several test cases to `gil::point` tests.
There is no need for format-specific subfolders.
There is no code in place that checks if all those folders exist and
creates them.
This change simplifies the structure to simplify running of I/O tests.
Rename images/jpg/ to images/jpeg/ in tests
The `jpeg` is name of the format used in the I/O extension and
the folders inside `images/` are named after those formats.
The tests cover issue #117 and pull request #118, extending the coverage
for all color types that may have tRNS chunks:
- color type 0 (grayscale), the tRNS chunk contains a single gray level
- color type 2 (truecolor), the tRNS chunk contains a single RGB color
- color type 3 (indexed color), the tRNS chunk contains a series of
one-byte alpha values
Add sample PNG files from the "official" test-suite for PNG
created by Willem van Schaik.
Add <define>BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES to Jamfile for PNG tests.
NOTE: Deliberately not defined BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
as it seems to require some extra configuration, currently it causes
some tests to fail. So, Jamfile likely needs more updates and clean-up.
Closes#120
Split header tests accordingly i.e. test core headers as part of
core tests, numeric extension headers as part of numeric tests, etc.
It extends the convention of sub-directories already established in
`include/boost/gil` directory. It is sensible to follow it in other
areas of the source tree (i.e. `test/`, `doc/` and `benchmark/`).
Another important reason to move the tests is to enable removal of
the top-level `Jamfile` with all its definitions of test-specific
requirements.
The top-level `Jamfile` is not advised, especially if it specifies
build requirements like C++ language version.
Those affect non-tests builds e.g. documentation, causing failures
during generation of HTML documentation (leads to missing docs).