John Bowler 812c34c13c test: add limit configuration tests
nocompile-limits.dfa: turns off all limits including run-time limits

nolimits.dfa: makes the compile time limits unlimited while leaving on
    the run-time limits.

Fixes compiler warnings exposed by these tests. These are just warnings,
there were no bugs other than a failure to handle systems with a 16-bit
at the appropriate time which would result in a later failure on malloc.

png.c: png_icc_check_length: in-line code was still used in place of
    png_chunk_max when checking the current chunk allocation limit.  The
    in-line code did not handle PNG_MAXSEG_64K and, anyway, issued
    compiler warnings in the 'nocompile-limits' case.  Changed to use
    png_malloc_max.

pngrutil.c: eliminated an erroneous 'truncation' warning with GCC-14 by
    using a safe cast.

pngtest.c: failed to check for PNG_USER_LIMITS_SUPPORTED around API
    calls which don't exist without PNG_USER_LIMITS.

Signed-off-by: John Bowler <jbowler@acm.org>
2025-01-31 09:46:21 -08:00
..
2024-02-02 13:24:02 +02:00
2018-08-19 00:57:20 -04:00

This directory contains test configuration files, currently always '.dfa' files
intended to be used in the build by setting the make macro DFA_XTRA to the name
of the file.

These files are used in release validation of the 'configure' builds of libpng
by building 'make check', or 'make all-am' for cross-builds, with each .dfa
file.

The files in this directory may change between minor releases, however
contributions describing specific builds of libpng are welcomed.  There is no
guarantee that libpng will continue to build with such configurations; support
for given configurations can be, and has been, dropped between successive minor
releases.  However if a .dfa file describing a configuration is not in this
directory it is very unlikely that it will be tested before a minor release!

You can use these .dfa files as the basis of new configurations.  Files in this
directory should not have any use restrictions or restrictive licenses.

This directory is not included in the .zip and .7z distributions, which do
not contain 'configure' scripts.

DOCUMENTATION
=============

Examples:
   ${srcdir}/pngusr.dfa
   ${srcdir}/contrib/pngminim/*/pngusr.dfa

Documentation of the options:
   ${srcdir}/scripts/pnglibconf.dfa

Documentation of the file format:
   ${srcdir}/scripts/options.awk

FILE NAMING
===========

File names in this directory may NOT contain any of the five characters:

   - , + * ?

Neither may they contain any space character.

While other characters may be used it is strongly suggested that file names be
limited to lower case Latiin alphabetic characters (a-z), digits (0-9) and, if
necessary the underscore (_) character.  File names should be about 8 characters
long (excluding the .dfa extension).  Submitted .dfa files should have names
between 7 and 16 characters long, shorter names (6 characters or less) are
reserved for standard tests.