This variable contains a command that can be used to invoke make.
Its initial value is the one of the MAKE variable in the syste
environment of ocamltest. If this value is undefined, it defaults to "make".
This commit introduces a reason variable. It is used by the pass, skip and
fail actions and provides the possibility to give a more precise reason
for why a test succeeds, passes or fails.
* a new test ocamldoc
* three new modifiers: html, latex and man for each ocamldoc backend
* new variables:
* plugins
* skip_header_lines, skip_header_bytes
* ocamldoc_{backend,exit_status,flags,output,reference}
* make it possible to skip lines in the result file in text mode
* check_output reads skip_header_{lines,bytes} when comparing
output and reference files
When -promote is set, running the test automatically overwrites each
reference output file with the actual output of the test. This option,
which mirrors the "make promote" target of old-style testsuite tests,
is very useful when a minor change in compiler/toplevel output affects
a lot of reference files in innocuous ways.
This is the only option of ocamltest that overwrites file in the
source directory, so it should be used with care -- under strict
version-control supervision.
The 'make promote' target is not yet supported for new-style testsuite
tests, as this feature depends on the not-yet-merged GPR#1574
https://github.com/ocaml/ocaml/pull/1574
For a previous discussions of this feature, see GPR#1519
https://github.com/ocaml/ocaml/pull/1519
Before this commit, ocamltest hooks could modify environment when they
succeded, but they were not able to report a reason when they returned a
skip or falure result.
This commit removes this limitation. To do so, the ocamltest_env variable
has been renamed to ocamltest_response.
When the hook returns a PASS result, the content of the ${ocamltest_response}
file is interpreted as a list of environment modifiers, as was the case for the content of
${ocamltest_env} before this commit.
However, from now on, the content of ${ocamltest_response} is also read
(as a string, which is trimmed), when the hook returns a skip or
failure result.
This string should describe why the hook returned the skip or fail result.
This commit contains:
- The initial version of the tool itself, in the ocamltest directory
- The required additions to the main .gitignore and .merlin files.
The integration of ocamltest in OCaml's main build system and its use
in the testsuite are not part of this commit.
Credits go to David Allsopp for
- Extending the computation of ocamlsrcdir to the Windows case
- Making ocamltest compile when flexlink
is being bootstrapped.