Releases: OCamlPro/autofonce
Releases · OCamlPro/autofonce
Version 0.9
- New option
-l/--print-seq
to print the result immediately (default is
to print a summary) - Improve filtering
- New option
-A/--match-all
to run all tests that match ALL keywords
instead of the ones matching ANY keyword - Add words of the test name to the test keywords
- Remove comment date during promotion, remove corresponding option --no-comment
- Transform all keywords to lowercase to match in a case-insensitive manner
- New option
- Promotion of tests results:
- Add some spaces between arguments during promotion
- Keep comments and multi-line comments between toplevel commands
- Support for exit code 99: fail the entire AT_CHECK without running
run-if-fail actions - Add opam files for windows cross-compilation (generated by
drom dep
)
Version 0.8
- Promotion (
promote
andrun --auto-promote
):- Fix
--no-comment
for promotion that was not used - Add argument
--no-exit
topromote
, to promote everything except the
exit code (so that the test will still fail withexitcode
) - Don't promote failing
AT_CHECK
withrun-if-fail
orrun-if-pass
- Fix
- Configuration file:
- New config option 'project.run_from' that specifies where
_autofonce/
should be created:build
for build directory (default),source
for
source directory orconfig
for configuration file directory
- New config option 'project.run_from' that specifies where
- Command Arguments and Behavior:
- Support for range of test ids like
1-10
or10-
- 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*.at
containing tests, with copying enabled
(AT_COPY_ALL([true])
). - New option
-o LOGFILE
to specify the log file - New command
autofonce config
to 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_files
inautofonce.toml
to 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, andautofonce
will promoteautofonce
specific macros with theAF_
prefix, while using theAT_
prefix for
autoconf
compatible 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_ENV
are added in theautofonce_env.sh
file 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_COPY
had 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 isAUTOFONCE
that replaces
${AUTOFONCE_RUN_DIR}/${TEST_ID}
,${AUTOFONCE_BUILD_DIR}
and
${AUTOFONCE_SOURCE_DIR}
.
- Skip macro definitions with
- Add a testsuite in
test/testsuite.at
Version 0.7
Changes:
- Add option
--auto-promote MAX
toautofonce run
to iterate run/promote until all changes have been promoted or a maximal number ofMAX
iterations - Add option
--failures REASON
to select tests matching a specific reason likeexitcode
,stdout
orstderr
- Add config option
build_dir_candidates
(default to[ "_build" ]
) to automatically try to find build anchors from outside the build dir using alternative candidates
Version 0.6
-
Replace
autofonce.env
by a configuration file:- Configuration can be stored in
autofonce.toml
(typically not committed in
sources) or.autofonce
(committed in sources) autofonce
will lookupautofonce.toml
first, and.autofonce
if not
found, and fail if none is foundautofonce init
will create aautofonce.toml
in the local directory.- A
autofonce.toml
file can be renamed to.autofonce
and 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_anchors
andbuild_anchors
are used to locate the project source
dir and the project build dir in the upper directories
autofonce
defines 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
.autofonce
file
- the directory containing the file
Version 0.5
- Add subcommand
autofonce promote
to update tests files with current results. This command can be applied using standard filters. By default, it displays a diff of the changes that it would perform. With--apply
, it will apply the changes on the testsuite directly. - Add filter
--failed
to run only previously failed tests - Scripts are run with
AUTOFONCE_SUITE_DIR
andAUTOFONCE_SUITE_FILE
env variables (to locate and identify thetestsuite.at
file) - Rename
_autotest/
dir to_autofonce/
dir - Simplify default
gnucobol.env
to useatconfig
andatlocal
: slower but probably more portable
Version 0.4
- Better support of m4 macros and some simple shell tests
- split testsuite reading from testsuite execution
Version 0.3
- Fix bug in lexing quadrigraphs