On Sun, Sep 18, 2011 at 3:35 PM, Jesse Yates <jesse.k.ya...@gmail.com> wrote: > I know this was brought up almost a year ago, but it might be time to > revisit breaking out the tests into an integration test suite and a regular > unit test suite. We can use the the maven failsafe plugin ( > http://maven.apache.org/plugins/maven-failsafe-plugin/) which is designed to > run integration tests, like surefire is built to run unit tests. >
I didn't know of the failsafe plugin. > The advantage of breaking them out into two different sets of tests would be > that developers can run tests hierarchically, rather than in bulk. So if you > make a change, first you run the unit tests. If those pass (and unit tests > should really max at 10mins, tops), then go on to run the integration tests, > which actually build full instances of mapreduce/hdfs/zookeeper. This will > help people iterate more quickly on broken pieces but still be 'sure' that > the system still works given a pass w/ the integration tests. > Yes. > I'd be happy to help on this transition, if the we decide to go this route. > Thanks for the offer. Will take you up on it. I created HBASE-4438 as umbrella issue for test speedup. Lets keep chatting here and dump TODOs over into the issue. In 0.90, with new master, we tried to factor out a few Interfaces -- Server, RegionServerServices, MasterServerServices -- and these have helped some with mocking. I haven't looked but if we could hook an HConnection to an HRegion, we might be able to skip minicluster spinups on some of our tests. Bulk loading test data might help some too rather than fill in a data via the API. > As for a 'barney', maybe something through twitter where when someone breaks > the build, the previous person posts a pic of barney to the receiver? > Steve did this over in hadoop: https://issues.apache.org/jira/browse/HADOOP-7406 We could have a 'yellow jersey' and fedex it around (Probably wouldn't leave SF SOMA too often going by past history). St.Ack