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).
This commit adds:
- The csharp-compiler test that passes when the compiler is available
- The csc and csc_flags variables to invoke the compiler from tests
* 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
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.
These actions can be used to make the execution of a test depend on
whether the compiler has been configured with -flat-float-array or
-no-flat-float-array.
-(un)safe-string becomes -(no-)force-safe-string
-(un)safe-string-default becomes -default-unsafe-string
Config.safe_string (and Clflags.unsafe_string) keep their name for
backward-compatibility, as well as the C define CAML_SAFE_STRING
(which corresponds to -force-safe-string).
Before this commit, ocamltest systematically tried to use both native
and bytecode compilers, no matter what had been configured.
So the native tests were tried even when configure was called with
the -no-native-compiler option, leading to expected failures.
This commit fixes this and makes sure the test and actions involving native
compilers are run only when those compilers have actually been compiled.
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.