The cfitsio standard covers a large parameter space of options. When developing new software (or just testing updates to existing software), it's extremely valuable to be able to run a battery of tests that cover this entire parameter space. I would like to request a testing suite of FITS files be created that can be used to test all of the possibilities of the format. For example, create files that have:
Images
image arrays of every allowable numeric type (short, float, etc.)
images of 1, 2, 3, ... dimensions, also of every allowable numeric type
images utilizing the compression algorithm
Headers
usage of the CONTINUE keyword
examples of cards that have/do not have units, comments
Tables
tables that have examples of columns of every allowable type value (numeric, text)
tables that have examples of multidimensional values in each cell, again covering the allowable data types
columns that contain images (WHY!? - but it is allowed)
The above is by no means comprehensive. It would be useful to compile a list of things to test that provide 100% coverage of the specification.
In addition, it is just as useful to ensure that programs that utilize CFITSIO gracefully handle improper or badly formatted files, for example:
missing END statement in header
>999 HDUs
incorrect header keyword length
incorrect header value length
badly formatted SIMPLE keyword (i.e. misidentification of FITS file)
headers with incomplete WCS information
headers that do not provide the dimensions of an image
headers containing disallowed characters
much more!
Yes, this would be a fair amount of work. Even a partial set of test files would be extremely valuable. Any program that utilizes CFITSIO must address all of these points and more, so this effort would be beneficial to every program that uses the library. It would also provide test coverage for the library itself (I've certainly encountered cases that haven't been tested before). Finally, this will ultimately provide a better user experience for our community by identifying problems at a much earlier stage of development.
The cfitsio standard covers a large parameter space of options. When developing new software (or just testing updates to existing software), it's extremely valuable to be able to run a battery of tests that cover this entire parameter space. I would like to request a testing suite of FITS files be created that can be used to test all of the possibilities of the format. For example, create files that have:
Images
Headers
CONTINUE
keywordTables
The above is by no means comprehensive. It would be useful to compile a list of things to test that provide 100% coverage of the specification.
In addition, it is just as useful to ensure that programs that utilize CFITSIO gracefully handle improper or badly formatted files, for example:
END
statement in headerSIMPLE
keyword (i.e. misidentification of FITS file)Yes, this would be a fair amount of work. Even a partial set of test files would be extremely valuable. Any program that utilizes CFITSIO must address all of these points and more, so this effort would be beneficial to every program that uses the library. It would also provide test coverage for the library itself (I've certainly encountered cases that haven't been tested before). Finally, this will ultimately provide a better user experience for our community by identifying problems at a much earlier stage of development.