SRFI 252: Property Testing

by Antero Mejr

status: draft (2024-01-13)

keywords: Testing

See also SRFI 64: A Scheme API for test suites, SRFI 158: Generators and Accumulators, and SRFI 194: Random data generators.

Abstract

This defines an extension of the SRFI 64 test suite API to support property testing. It uses SRFI 158 generators to generate test inputs, which allows for the creation of custom input generators. It uses SRFI 194 as the source of random data, so that the generation of random test inputs can be made deterministic. For convenience, it also provides helper procedures to create test input generators for the types specified in R7RS-small. The interface to run property tests is similar to that of SRFI 64, and a property-testing-specific test runner is specified in order to display the results of the propertized tests.