The application that Motumbo works on has huge codebase and very few tests. The majority of these exist to test integration and interact with the DB or other external systems - they either print something out or rely on exceptions being thrown.

The rest, didn't actually work (e.g. reference local paths) and weren't executed in the main build. Instead, there's a separate build which runs them and succeeds even if they fail. Thankfully, this situation was correctly recognized as being ridiculous and the decision was made to clean house and either fix or remove the useless, broken ones.

As part of his research, Motumbo noticed previous builds were taking over two hours. This wasn't necessarily a problem - he figured it was because of the interaction with various external systems. Upon closer inspection, Motumbo learned that this was not entirely right:

public class StatusPoolerIT extends JunitTest {
    
  @Test
  public void testQuartz(){
    
    for(int i=0;i<8;i++){
      try {
        Thread.sleep(812000);
      } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  }
}
[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!