package autofonce_m4
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
A modern runner for GNU Autoconf Testsuites
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.8.tar.gz
sha256=4838b340c1e99708d6690fdd8658fc8b6ac74e3c38c0c3f1bbf2a50e92e48c4a
doc/CHANGES.html
v0.8 ( 2023-03-13 )
Promotion (
promoteandrun --auto-promote):- Fix
--no-commentfor promotion that was not used - Add argument
--no-exittopromote, to promote everything except the exit code (so that the test will still fail withexitcode) - Don't promote failing
AT_CHECKwithrun-if-failorrun-if-pass
- Fix
Configuration file:
- New config option 'project.run_from' that specifies where
_autofonce/should be created:buildfor build directory (default),sourcefor source directory orconfigfor configuration file directory
- New config option 'project.run_from' that specifies where
Command Arguments and Behavior:
- Support for range of test ids like
1-10or10- - Exit with non-zero status on failed tests
- If testsuite location is a directory instead of a file, scan all directoies and sub-directories for files
*.atcontaining tests, with copying enabled (AT_COPY_ALL([true])). - New option
-o LOGFILEto specify the log file - New command
autofonce configto print the currently read config - New options
-T <FILE.at>,-E <env.sh>and-I <path>to describe a testsuite directly from the command-line - Option
-k KEYWORDS: if a keyword starts is negated with-, then tests matching that keyword will not be executed (same as--not)
- Support for range of test ids like
Improved version of
_autofonce/results.log:- Include all files from failed checks and honor captured files
- New option
captured_filesinautofonce.tomlto include some project files
Standard Macro Language:
- Implements
AT_FAIL_IF([shell-cond]) - To conform with namespace rules for
autoconf, all macros are supported with both aAT_andAF_prefix, andautofoncewill promoteautofoncespecific macros with theAF_prefix, while using theAT_prefix forautoconfcompatible macros
- Implements
Macro language extensions (default is
AF_, butAT_is accepted:- Skip macro definitions with
AC_DEFUN/m4_define. This is currently mostly done to allow the definition of:AC_DEFUN([AF_ENV], [$1]). Print a warning for discarding the macro definition, except forAF_ENV. Add
AF_ENV([env])as a way to define a specific environment for the test (such as environment variables).- At toplevel, declarations by
AF_ENVare added in theautofonce_env.shfile of every test. - At test level, declarations are added directly in all following check scripts
- At toplevel, declarations by
- Add
AF_COPY(files)to copy files from the test source directory to the test run directory - Add
AF_LINK(files), same asAF_COPY, but symlink instead of copy - Add
AF_COPY_ALL([true|false]). If true, used before tests, make tests copy all non .at files in their directory as ifAF_COPYhad been used. If false, disable copying files for following tests. - Add
AF_LINK_ALL(), same asAF_COPY_ALL, but symlink instead of copy - Add
AF_SUBST(variables)to replace occurrences of these env variables in the stdout/stderr. A special case isAUTOFONCEthat replaces${AUTOFONCE_RUN_DIR}/${TEST_ID},${AUTOFONCE_BUILD_DIR}and${AUTOFONCE_SOURCE_DIR}.
- Skip macro definitions with
- Add a testsuite in
test/testsuite.at
v0.7 ( 2023-02-09 )
- Add option
--auto-promote MAXtoautofonce runto iterate run/promote until all changes have been promoted or a maximal number of MAX iterations - Add option
--failures REASONto select tests matching a specific reason likeexitcode,stdoutorstderr - Add config option
build_dir_candidates(default to[ "_build" ]) to automatically try to find build anchors from outside the build dir using alternative candidates
v0.6 ( 2023-02-05 )
Replace
autofonce.envby a configuration file:- Configuration can be stored in
autofonce.toml(typically not committed in sources) or.autofonce(committed in sources) autofoncewill lookupautofonce.tomlfirst, and.autofonceif not found, and fail if none is foundautofonce initwill create aautofonce.tomlin the local directory.- A
autofonce.tomlfile can be renamed to.autofonceand committed. The configuration provides:
[testsuites]section: aliases for testsuites, with the testsuite file, the path for included files, and the env name[envs]section: possibility to define different envs (included in tests scripts) for different testsuitessource_anchorsandbuild_anchorsare used to locate the project source dir and the project build dir in the upper directories
autofoncedefines several variables at the beginning of test scripts envs:AUTOFONCE_TESTSUITE: name of the testsuiteAUTOFONCE_RUN_DIR: directory where tests are run (containing `_autofonce/)AUTOFONCE_SOURCE_DIR: source directory of the project (root/top dir)AUTOFONCE_BUILD_DIR: build directory of the project
- Configuration can be stored in
The run-dir (the directory that will contain the
_autofonce/subdir) is determined by:- the directory containing the file
autofonce.toml, or - the build directory as defined by the anchors in the
.autofoncefile
- the directory containing the file
v0.5 ( 2023-02-04 )
- Add subcommand
autofonce promoteto update tests files with current results. This command can be applied using standard filters. By default, display a diff of changes to be performed. Use--applyto actually perform the tests. - Add selector --failed to run only previously failed tests
- Scripts are run with
AUTOFONCE_SUITE_DIRandAUTOFONCE_SUITE_FILEenv variables (to locate and identify thetestsuite.atfile) - Rename
_autotest/dir to_autofonce/dir - Simplify default
gnucobol.envto useatconfigandatlocal: slower but probably more portable
v0.4 ( 2023-02-02 )
- Improve m4 parsing
- display nchecks performed
- allow if/then/else within tests
- min-edition set to 4.10
v0.3 ( 2023-01-28 )
- add
autofonce newto create new tests
v0.2 ( 2023-01-28 )
- Improved documentation
v0.1 ( 2023-01-28 )
- Initial commit
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page