Looks pretty good. The test failure is unrelated.
Some comments on the implementation in src/contrib/mrunit/src/java/org/apache/hadoop/mrunit/MapReduceDriverBase.java:
+ keyValueOrderComparator = simpleComparator;
Are these ordinarily ordered by default? I thought they were placed in an undefined ordering. Does this change the semantics of the programs under test to enforce here? I think that the keyValueOrderComparator should remain null, and in in shuffle() step 2, if this comparator is null, the secondary sort is just skipped.
+ groupedKeyList = new Vector<Pair<K2,V2>>();
Don't use Vector; use ArrayList instead unless you specifically need thread safety (I don't think you do here).