This module checks all the AST invariants. This is to ensure that all
invariants are written down in one place and are consistently checked
between the various clients of the AST (typer, pprintast, ...).
The invariants are checked in Pparsee, after applying the ppx
rewriters.
Change ``byte_size'' to ``size_in_bytes``, change ``kind_byte_size``
to ``kind_size_in_bytes``.
Add detailed comment indicating size functions do not consider header
of OCaml value.
Some Makefile's displayed "=> skipped" lines; some Makefile's displayed
a summary line including the word skipped; most Makefile's are simply
silent if tests are skipped.
Silent obviously doesn't discern between "skipped" and "broken"!
Patch alters all existing to display an explicit "=> skipped" for any
test which is skipped (including ocamlopt tests if
`BYTECODE_ONLY=true`).
The summary is updated to include:
- The number of skipped tests, and their names (if all tests are
skipped in a directory then just the directory name is displayed)
- The total number of tests considered - which should therefore be the
same on all platforms in all configurations
MAX_TESTSUITE_DIR_RETRIES (which defaults to 1 for the native Windows
ports and 0 for all other platforms) causes the `all` and `list` targets
to re-run any given test directory an additional number of times in
order to eliminate random failures during tests.
The `CANKILL` testsuite variable is eliminated in favour of testing for
`TOOLCHAIN`.
tests/lib-threads/signal.ml can be executed under native Windows by
means of a wrapper program to send CTRL+C.
tests/lib-threads/signal2.ml is not possible under native Windows
because Thread.sigmask is not implemented, so the precheck is updated to
reflect this, rather than the lack of kill -INT.
tests/lib-threads/sockets.ml is re-enabled, since the two MPRs affecting
it have been fixed.
Cygwin doesn't allow the stack limit (uname -s) to be changed, though it
can be queried. Alter the test so that the stack limit is only changed if
it is either unlimited or very large (and skip the tests if ulimit returns
an error)
Testing the parsetree fails on Windows because the .ml files have `\r\n`
endings. For these tests, simplest simply to ensure that they are checked
out using LF endings, even on Windows.