This looks like a good start! The test failure in Hudson is unrelated to this patch.
Here's some comments on the patch itself:
- Can you wrap your new lines at 80 columns?
- The withConfiguration() methods will need to be pushed down (as they are) into all the specific classes (MapDriver, ReduceDriver, etc). But I think the getConfiguration() method can live in TestDriver, eliminating redundant code.
- For API consistency, we should have a public void setConfiguration(Configuration conf) method of TestDriver as well. (And withConfiguration() should call setConfiguration() rather than manipulating the field explicitly.)
- withConfiguration()'s Javadoc @return needs to be filled out.
- For MockMapContext/MockReduceContext, instead of changing the existing constructor, can you add another constructor that takes the configuration as an argument? The existing constructor can call the new one with a new Configuration() there.
When you fix these, please just attach another patch to this issue and redo the cancel patch / submit patch dance.