axel22/scalameter — pull request #32 by Blaisorblade (2013-09-26 22:26:38+00:00)
Title: Topic/accumulate tests in hierarchies

Ensure that all tests are executed in code like this:
```scala
class A extends PerformanceTest {
//some tests
}
class B extends A {
//other tests
}
```

In the above code, `delayedInit` is called twice:

```scala
class A extends DelayedInit {
def delayedInit(body: => Unit) {
println("delayedInit START")
body
println("delayedInit END")
}
println("A's constructor!")
}
class B extends A {
println("B's constructor!")
}
```

REPL interaction for the above minimal test:
```
scala> new B
delayedInit START
A's constructor!
delayedInit END
delayedInit START
B's constructor!
delayedInit END
```

I verified this behavior in 2.10.2, and it seems to agree with a careful reading of the specification and documentation of `DelayedInit`, since both `A` and `B` inherit from `DelayedInit` hence their constructors are both transformed.