Yes, I elected to do the cleanup in the setup method as a bandaid - I couldn't figure out which tests were leaving junk lying around, so I did the recursive delete at the start. I also sometimes find this technique to be handy since the developer can investigate the state of the test directory after the test has failed. If there's a tearDown method, the state that contained the failure is gone by the time the developer sees that the test failed.
I would vote for a failure of tearDown method by a given test case , so when I see a batch of test failures , after a tearDown failure - I can make a reasonable assumption that there is only 1 base issue that we are concerned about , and the rest may be bogus. Case in point: I was trying to TestStreamingExitStatus / TestStreamingKeyValue test cases. The former did not have a proper cleanup , while the latter failed because of the same. It took me quite a lot of time before concluding that the latter does not have any issue by itself except for incorrect test fixture assumptions.
But as I said - this is something that can be taken up in a separate bug - but given that this patch seems to make the build green and address the primary issue of swallowing exceptions I would say - go ahead and commit this while we discuss the fixtures in a separate bug altogether.