This PR introduces MockVM, a type that implements VMBinding and allows users to control the behavior of each method for testing. This PR also moves all the tests in the current DummyVM to MockVM, and removes the current DummyVM.
This PR closes https://github.com/mmtk/mmtk-core/issues/99. Note that the current MockVM implementation does not allow changing constants or associated types in VMBinding -- I would suggest we create another issue to track this problem.
Changes:
Introduce MockVM, and write all the current DummyVM tests with MockVM.
Remove DummyVM, and remove ./examples which uses DummyVM.
Change CI scripts to run tests with MockVM.
Remove pub visibility for some modules. Those modules were exposed so we can test them from DummyVM. As now MockVM is a part of the main crate, we can test private items. We no longer need pub for those modules.
This PR introduces
MockVM
, a type that implementsVMBinding
and allows users to control the behavior of each method for testing. This PR also moves all the tests in the currentDummyVM
toMockVM
, and removes the currentDummyVM
.This PR closes https://github.com/mmtk/mmtk-core/issues/99. Note that the current
MockVM
implementation does not allow changing constants or associated types inVMBinding
-- I would suggest we create another issue to track this problem.Changes:
MockVM
, and write all the currentDummyVM
tests withMockVM
.DummyVM
, and remove./examples
which usesDummyVM
.MockVM
.pub
visibility for some modules. Those modules were exposed so we can test them fromDummyVM
. As nowMockVM
is a part of the main crate, we can test private items. We no longer needpub
for those modules.