Here's a patch to clean up test_capi a little bit; it removes a __future__ import, converts from test_main to unittest.main, and makes use of subtests to run each _testcapi function. I'll post a separate patch for 3.3; there's just enough difference between branches to make a single patch impossible and merging slightly hairy.
Well, this is embarrassing. I'm so used to there not being much difference between 3.3 and 3.4; I didn't even think about subTest being new, and obviously I didn't test it as I should have. Here's a new patch for 3.3 (tested this time!) that just removes the subTest usage of the old patch, leaving all of the _testcapi tests in a single test method. It's still an improvement over the old situation, but not as good as it is in 3.4.