{"id":28615594,"url":"https://github.com/ocamlpro/autofonce","last_synced_at":"2025-06-12T02:09:30.473Z","repository":{"id":65639681,"uuid":"594413937","full_name":"OCamlPro/autofonce","owner":"OCamlPro","description":"A modern runner for GNU Autoconf testsuites in m4","archived":false,"fork":false,"pushed_at":"2024-01-25T23:04:08.000Z","size":6412,"stargazers_count":0,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-01-26T23:54:09.530Z","etag":null,"topics":["autoconf","gnucobol","tests","testsuites"],"latest_commit_sha":null,"homepage":"https://ocamlpro.github.io/autofonce/sphinx","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OCamlPro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-28T13:35:41.000Z","updated_at":"2024-01-26T23:54:09.531Z","dependencies_parsed_at":"2024-01-20T16:39:12.735Z","dependency_job_id":null,"html_url":"https://github.com/OCamlPro/autofonce","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/OCamlPro/autofonce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fautofonce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fautofonce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fautofonce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fautofonce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OCamlPro","download_url":"https://codeload.github.com/OCamlPro/autofonce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fautofonce/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259382324,"owners_count":22848843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoconf","gnucobol","tests","testsuites"],"created_at":"2025-06-12T02:09:28.721Z","updated_at":"2025-06-12T02:09:30.464Z","avatar_url":"https://github.com/OCamlPro.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Actions Status](https://github.com/ocamlpro/autofonce/workflows/Main%20Workflow/badge.svg)](https://github.com/ocamlpro/autofonce/actions)\n[![Release](https://img.shields.io/github/release/ocamlpro/autofonce.svg)](https://github.com/ocamlpro/autofonce/releases)\n\n# autofonce\n\nautofonce is a modern runner for GNU Autoconf Testsuites:\nautofonce has a limited understanding of m4 macros that appear in testsuites\nwritten for the GNU Autoconf testsuites, and can run such tests in a modern\nway.\n\n\n* Website: https://ocamlpro.github.io/autofonce\n* General Documentation: https://ocamlpro.github.io/autofonce/sphinx\n* API Documentation: https://ocamlpro.github.io/autofonce/doc\n* Sources: https://github.com/ocamlpro/autofonce\n\n\n## Main Features\n\n* automatic run from any directory in the project\n* short display focusing on failed tests\n* automatic parallel execution\n* promotion of tests results to fix tests\n\n## Example of Autofonce Test\n\nHere is a simple example of test understood by `autofonce`:\n\n```\n# Start of a test, and the name that will be displayed\nAT_SETUP([Example test])\n\n# can be used to select tests to run:\nAT_KEYWORDS([example test autofonce]) \n\n# create a file `file` with its content\nAT_DATA([file], [\ncontent of file\non multiple lines\n])\n\n# call some command, check its exit code, stdout, stderr\nAT_CHECK([cat file], [0], [stdout of my command], [stderr of my command])\n# you can do more, ignore some results, run more tests in case of failure, etc.\n\n# end of the test\nAT_CLEANUP\n```\n\nNow, copy this test in a file `test.at`, and run `autofonce`:\n```\n$ autofonce init\n$ autofonce run -T test.at\nProject description loaded from $PWD/autofonce.toml\nLoading tests from file \"$PWD/test.at\"\nCreating testing directory $PWD/_autofonce\n\n0001 Example test                    FAIL (test.at:14:0 stdout stderr)\nResults:\n* 1 checks performed\n* 0 / 1 tests executed successfully\n* 1 tests failed: 0001\nFile \"$PWD/_autofonce/results.log\" created with failure results\nzsh: exit 1     autofonce run -T test.at\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focamlpro%2Fautofonce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focamlpro%2Fautofonce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focamlpro%2Fautofonce/lists"}