Test a complete failure of the JVM
Join the DZone community and get the full member experience.Join For Free
Say you want to test that your application behaves correctly on restart even after the application crashes. One approach is to trigger a crash in test code and check that data is in a correctable state on restart.
Unsafe unsafe = getUnsafe(); // use reflection unsafe.setMemory(0, 1, (byte) 0);This triggers a SIGSEGV
# # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00000032b967ae09, pid=17870, tid=1082034496 # # JRE version: 7.0_01-b08 # Java VM: Java HotSpot(TM) 64-Bit Server VM (21.1-b02 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libc.so.6+0x7ae09] memset+0x9 #If your tests still pass, you can be reasonably confident it is recoverable even on a complete failure of the JVM.
Opinions expressed by DZone contributors are their own.