I've confirmed that aborting the test halfway through (for example, with the stop button in Eclipse) will NOT invoke the tearDown function.
Given this, it seems prudent to do out cleanup work beforehand. Otherwise people who manually abort the test halfway through will be hosed. Also, as you pointed out, there is always the possibility of the JVM aborting, which would definitely prevent cleanup.
We definitely want to avoid a situation where the Jenkins machine can't build, but we can, due to some mysterious build artifacts hanging around. So I figure it makes sense to stay on the safe side.
Yea, I buy this, but given that we don't do this anywhere else, I'd rather be consistent with the rest of the test suite.
In general, I'd be in favor of having any test which mucks with persistent file system state both a) clean up after itself using an @After (the normal case) and b) call that same cleanup code in an @Before so that aborted test runs don't cause subsequent test runs to spuriously fail. Perhaps you could file a separate JIRA to do that across all the tests?