The specification is covered by the various tests and jvmti.xml specification.
Illegal arguments and capabilities are well handled:
HeapMonitorIllegalArgumentTest.java
HeapMonitorNoCapabilityTest.java
The only method that is exposed touches the sampling rate, covered by these tests:
HeapMonitorStatArrayCorrectnessTest.java
HeapMonitorStatObjectCorrectnessTest.java
HeapMonitorStatRateTest.java
HeapMonitorStatSimpleTest.java
HeapMonitorArrayAllSampledTest.java
Almost all tests cover the callback exposed but also the tests above. So 100% is covered by the current tests.
10-05-2018
I am imagining this is about well defining the specification change and this should be done via the jvmti.xml spec, no? If so, this is considered done then.