|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

To run the tests suite, all you need is (add the cmake options if you need any
or if the default libs and include paths are not the default) :

In a sub directory:
$ mkdir bld
$ cd bld
$ cmake -DBUILD_TEST=1 ..
$ make
$ ctest .

Or if you like to build in the source tree:
$ cmake -DBUILD_TEST=1 .
$ make
$ ctest .

Add "-DCMAKE_BUILD_TYPE=DEBUG" if you like to have a debug version.

If you like to run the tests against a installed GD library, set the following
environment variables:

export CMAKE_INCLUDE_PATH=/path/to/the/gd/include
export CMAKE_LIBRARY_PATH=/path/to/the/gd/lib

then call cmake using:

$ cmake -DUSE_EXT_GD=1 -DBUILD_TEST=1
$ make
and finally:

$ ctest .

I will certainly add a nice CMake option to give prefix later.

What to do if tests fail on your platform and you use the last GD release?
either from your favorite distributions or from https://www.libgd.org or git?

If you use a packaged version of the GD Library (installed from RPM, deb or
ports, gentoo packages or any other packages format or distribution), please try
to run the tests using the source releases available at:

https://github.com/libgd/libgd/releases

If the tests fail using our source release, please report a bug here:

https://github.com/libgd/libgd/issues

You can attach the two files available in:

./Testing/Temporary

Later versions will have an automatic post mode.

If the tests do not run successfully, please report a bug to the maintainer of the
packages (Debian, BSD, Ubuntu or whoever is responsible for the packages).

Reasons of failures:
Exception: SegFault: self explaining
Failed               test failed, check the log to know where
timeout              the default timeout is 5 seconds. Some test may
                     have infinite loops when compiled against old versions
                     of the GD library (esp. 2.0.33 or earlier)

Some features rely on floating point arithmetic and results may vary from
one architecture to another.
Examples:
On i686, gdimagerotate/bug00067 will fail. The result is still visually
acceptable but i686 default arithmetic mode will generate different results.
Adding "-msse -mfpmath=sse" to CFLAGS will solve this difference.
On s390, ppc64, and aarch64, gdimagecopyresampled/bug00201 will fail.
The result is still visually acceptable.
Adding "-ffp-contract=off" to CFLAGS will solve this difference.
