about summary refs log tree commit diff

Laminar Laminar

run64 is a SRFI-64 runner. It generates pretty, readable, colorful output featuring clear diffs between expected and actual values. run64 is meant to work with a SRFI-64 implementation, and is not a SRFI-64 implementation in itself.

Motivation

TLDR: pytest envy

When hacking on Guile projects, I found myself re-inventing auxiliary scripts to present test results. Meanwhile, in Python land, they have beautiful tooling like pytest. Schemers deserve good tooling too! So, here we are.

Download

Download release tarballs.

Download public signing key.

Browse the development version on cgit or on klaus.

Usage

To use run64, invoke it on the command-line passing files containing SRFI-64 tests as arguments. For example,

$ run64 test-file1.scm test-file2.scm

You might want to invoke the run64 executable specific to your scheme implementation. For example, if you are using GNU Guile,

$ guile-run64 test-file1.scm test-file2.scm

Portability

run64 is written in portable R6RS Scheme. It should work in any R6RS Scheme that supports SRFI-1, SRFI-64 and pattern matching, but has been tested well only with GNU Guile. If you use run64 with other Scheme implementations, we would love to hear of your experience.

Contributing

Feedback, suggestions, feature requests, bug reports and patches are all welcome. Please write to run64@systemreboot.net.

License

run64 is free software released under the terms of the GNU General Public License, either version 3 of the License, or (at your option) any later version.