Tests Inventory
1. Existing tests
open/test/hotspot/jtreg/runtime/SharedArchiveFile
open/test/hotspot/jtreg/runtime/appcds
open/test/hotspot/jtreg/runtime/appcds/cacheObject
The existing tests in open/test/hotspot/jtreg/runtime/appcds/cacheObject contains functional tests for archiving object in open archive heap regions.
2. New tests
Regression tests: None
Functional tests
1) Check well-known shared library classes should have cached mirror objects at runtime.
2) Check shared application classes should have cached mirror objects at runtime
3) Verify shared classes for user defined class loader do not have cached mirror objects
4) Check static String fields with initial value in cached mirror should be also archived
5) GC should not crash when reference fields in cached mirror are updated at runtime
5.1) Reference fields are updated to point to runtime created objects
5.2) Reference fields are nullified
6) Verify class redefinition has no impact on cached mirror
6.1) Check cached mirror after class redefinition
6.2) No crash with GC
7) Test primitive types via reflection and verify the primitive type mirrors are archived
Stress tests
JCK tests: no new tests
Test execution matrix
1. Tier 1 - Tier 6 tests via mach5
Success criteria
1. Test pass rate - at RDP-2 level of quality
2. Test stability - all new tests are stable
3. No native coverage test required
4. No measurable performance degradation
1. Existing tests
open/test/hotspot/jtreg/runtime/SharedArchiveFile
open/test/hotspot/jtreg/runtime/appcds
open/test/hotspot/jtreg/runtime/appcds/cacheObject
The existing tests in open/test/hotspot/jtreg/runtime/appcds/cacheObject contains functional tests for archiving object in open archive heap regions.
2. New tests
Regression tests: None
Functional tests
1) Check well-known shared library classes should have cached mirror objects at runtime.
2) Check shared application classes should have cached mirror objects at runtime
3) Verify shared classes for user defined class loader do not have cached mirror objects
4) Check static String fields with initial value in cached mirror should be also archived
5) GC should not crash when reference fields in cached mirror are updated at runtime
5.1) Reference fields are updated to point to runtime created objects
5.2) Reference fields are nullified
6) Verify class redefinition has no impact on cached mirror
6.1) Check cached mirror after class redefinition
6.2) No crash with GC
7) Test primitive types via reflection and verify the primitive type mirrors are archived
Stress tests
JCK tests: no new tests
Test execution matrix
1. Tier 1 - Tier 6 tests via mach5
Success criteria
1. Test pass rate - at RDP-2 level of quality
2. Test stability - all new tests are stable
3. No native coverage test required
4. No measurable performance degradation