The test deletes the shared edits dir to simulate a failure. Then it calls rollEditLogs() to trigger the deleted dir to be used and fail with an IOException. Unfortunately, deleting the shared dir can put the NN in safe mode due to lack of space. This causes a SafeModeException to be thrown when rollEditDirs() is called. This exception is caught as an IOException in the test but the associated assert in the catch block fails.
This always happens in the debugger because the delay in stepping through causes the safe mode change to happen before rollEditLogs() gets called.