package autofonce_share

  1. Overview
  2. Docs
A modern runner for GNU Autoconf Testsuites

Install

Authors

Maintainers

Sources

v0.8.tar.gz
sha256=4838b340c1e99708d6690fdd8658fc8b6ac74e3c38c0c3f1bbf2a50e92e48c4a

Description

autofonce is a modern runner for GNU Autoconf Testsuites: autofonce has a limited understanding of m4 macros that appear in testsuites written for the GNU Autoconf testsuites, and can run such tests in a modern way.

Tags

org:ocamlpro

Published: 16 Mar 2023

README

README.md

autofonce

autofonce is a modern runner for GNU Autoconf Testsuites: autofonce has a limited understanding of m4 macros that appear in testsuites written for the GNU Autoconf testsuites, and can run such tests in a modern way.

  • Website: https://ocamlpro.github.io/autofonce

  • General Documentation: https://ocamlpro.github.io/autofonce/sphinx

  • API Documentation: https://ocamlpro.github.io/autofonce/doc

  • Sources: https://github.com/ocamlpro/autofonce

Main Features

  • automatic run from any directory in the project

  • short display focusing on failed tests

  • automatic parallel execution

  • promotion of tests results to fix tests

Example of Autofonce Test

Here is a simple example of test understood by autofonce:

# Start of a test, and the name that will be displayed
AT_SETUP([Example test])

# can be used to select tests to run:
AT_KEYWORDS([example test autofonce]) 

# create a file `file` with its content
AT_DATA([file], [
content of file
on multiple lines
])

# call some command, check its exit code, stdout, stderr
AT_CHECK([cat file], [0], [stdout of my command], [stderr of my command])
# you can do more, ignore some results, run more tests in case of failure, etc.

# end of the test
AT_CLEANUP

Now, copy this test in a file test.at, and run autofonce:

$ autofonce init
$ autofonce run -T test.at
Project description loaded from $PWD/autofonce.toml
Loading tests from file "$PWD/test.at"
Creating testing directory $PWD/_autofonce

0001 Example test                    FAIL (test.at:14:0 stdout stderr)
Results:
* 1 checks performed
* 0 / 1 tests executed successfully
* 1 tests failed: 0001
File "$PWD/_autofonce/results.log" created with failure results
zsh: exit 1     autofonce run -T test.at

Dependencies (3)

  1. crunch >= "3.2.0"
  2. dune >= "2.7.0"
  3. ocaml >= "4.10.0"

Dev Dependencies (4)

  1. ocamlformat with-test
  2. odoc with-doc
  3. ppx_expect with-test
  4. ppx_inline_test with-test

Conflicts

None