Skip to content
This repository has been archived by the owner on Feb 14, 2022. It is now read-only.
/ cif-tests Public archive
forked from comes-group/cif-tests

Test suite for COMES Image Format decoders

Notifications You must be signed in to change notification settings

reticulis/cif-tests

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CIF decoder tests

The CIF losslessness test image

This repository contains various tests for compliance with the CIF specification.

How to use these tests

The tests are split into the following groups:

  • valid - images that are valid and should be decoded without problems
  • invalid - images that are not valid and should cause the parser to exit with a non-zero code (but not a signal)

Additionally, there's a generators directory in which the scripts used to generate these test images are stored.

Compliance

For a decoder/encoder to be standards-compliant, all tests must pass and its source code must be audited. Compliance is measured using three different levels:

  • Gold - the decoder is eligible for Silver rating and @liquidev audited that the decoder's source code does not contain any hacks that aim to work around the test suite.
  • Silver - the decoder passed all valid and all invalid tests.
  • Bronze - the decoder passed all valid tests, but not all invalid tests.

If a decoder does not qualify for any of the above, it is not standards-compliant.

Automating tests

The script test-runner.py can be used to automate running tests.

# To classify for Bronze or Silver:
$ python3 test-runner.py <decoder args...>

Large files

Names of CIF files whose size exceeds 100 KiB should are with .large.cif. These files are tracked using Git Large File Storage (LFS) so as to avoid increasing the size of the repository substantially.

About

Test suite for COMES Image Format decoders

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.4%
  • Shell 3.6%