Description
We need to make sure we have enough tests to test MMTk with assertions. We have two levels of assertions: 1. assertions that will be enabled as debug_assertions
in Rust, that is for any Rust dev/debug build, and 2. extreme assertions that are only enabled when we turn on the extreme_assertions
feature in mmtk-core.
Our current tests with assertions:
- mmtk-core
- We run all the tests with
debug_assertions
. - We run all the tests with
extreme_assertions
.
- We run all the tests with
- mmtk-openjdk
- We run the old dacapo tests with
debug_assertions
. - We run the new dacapo tests with
debug_assertions
. - We run each plan with 2 of the old dacapo benchmarks with
extreme_assertions
.
- We run the old dacapo tests with
- mmtk-jikesrvm
- We run each plan with 2 benchmarks with
extreme_assertions
on. - We run
fop
with debug builds.
- We run each plan with 2 benchmarks with
- mmtk-v8
- We run tests with a debug build with
debug_assertions
.
- We run tests with a debug build with
- mmtk-julia
- We use a debug build with
debug_assertions
to bootstrap Julia and run hello world.
- We use a debug build with
- mmtk-ruby
- We run all the tests with
debug_assertions
.
- We run all the tests with
In short, for mmtk-core
/mmtk-openjdk
/mmtk-v8
/mmtk-ruby
, we have no issue. We use a debug build for all the tests. For mmtk-jikesrvm
and mmtk-julia
, we need to improve the tests, and include more tests with a debug MMTk build.
For extreme_assertions
, we only selectively run limited tests with OpenJDK and JikesRVM. We could consider running more tests with extreme_assertions
for more bindings (note that not all the bindings can run with extreme_assertions
).