The instrumentation code in the instrumented runtime was replaced
with new APIs to gather runtime statistics and output them in a new format
(Common Trace Format).
This commit also exposes new functions in the Gc module to pause or resume
instrumentation during a program execution (Gc.eventlog_pause and
Gc.eventlog_resume).
The address was loaded from the TOC into register r0. This generated bad code in the "big TOC" case, as r0 was used as index register. The fix is to use another temporary register instead of r0.
Add "arch_power" builtin to ocamltest.
Add test case.
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.
This commit distinguishes the OS tests from the library tests.
It introduces the "libunix" and "libwin32unix" tests to figure out which
library is used.
It also changes to meaning of the "windows" test to pass on all Windows platforms.
Finally, a "not-windows" test is introduced, to be used until negation
on tests is implemented.
This module contains types describing test results and functions to
build and use them.
Before this commit, only successful actions were returning an environemnt.
Starting from this commit, actions always return an environemnt, no matter
their result.
This will make it possible to write negations over tests.
Previously, ocamltest attempted to normalise the output of commands on
Windows to be Unix files. This fails on a Windows git checkout with the
normal core.autocrlf set to true.
The implementation has been revised not to use cmp and to strip \r from
the end of text files if every line ends in one.
Now that actions can occur directly in test blocks, it is no longer
necessary to wrap each action in a test. This commit thus removes
all the single-action tests.
It also renames a few actions to give them simpler names.
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.