diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2012-07-26 11:40:13 +0200 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2012-07-26 11:54:47 +0200 |
commit | 9e04e2365a7210f7e671137d8f70e475688b0885 (patch) | |
tree | 6ff6517a65bcd4f954c916129822e755d3a340b3 /test/files | |
parent | ad08f24448729009fc8d5ff0acf307a43b4cfe0a (diff) | |
download | scala-9e04e2365a7210f7e671137d8f70e475688b0885.tar.gz scala-9e04e2365a7210f7e671137d8f70e475688b0885.tar.bz2 scala-9e04e2365a7210f7e671137d8f70e475688b0885.zip |
Instrument all classes in `instrumented` package.
Extend instrumenting infrastructure to instrument
classes in `instrumented` package. This is useful
because very often you need to put your classes
into non-empty package. E.g. inliner doesn't work
properly with empty package at the moment so in
order to test any behaviour we need to put classes
in some other package that is instrumented.
Added testing code for that to instrumentation
test-case.
Review by @phaller.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/instrumented/InstrumentationTest.check | 4 | ||||
-rw-r--r-- | test/files/instrumented/InstrumentationTest.scala | 16 |
2 files changed, 20 insertions, 0 deletions
diff --git a/test/files/instrumented/InstrumentationTest.check b/test/files/instrumented/InstrumentationTest.check index 3652df270a..f0f447560a 100644 --- a/test/files/instrumented/InstrumentationTest.check +++ b/test/files/instrumented/InstrumentationTest.check @@ -1,4 +1,8 @@ true Method call statistics: + 1 Foo1.<init>()V + 1 Foo1.someMethod()I + 1 instrumented/Foo2.<init>()V + 1 instrumented/Foo2.someMethod()I 1 scala/Predef$.println(Ljava/lang/Object;)V 1 scala/runtime/BoxesRunTime.boxToBoolean(Z)Ljava/lang/Boolean; diff --git a/test/files/instrumented/InstrumentationTest.scala b/test/files/instrumented/InstrumentationTest.scala index ec5314c624..0e53f80857 100644 --- a/test/files/instrumented/InstrumentationTest.scala +++ b/test/files/instrumented/InstrumentationTest.scala @@ -1,11 +1,27 @@ import scala.tools.partest.instrumented.Instrumentation._ +/** We check if classes put in empty package are properly instrumented */ +class Foo1 { + def someMethod = 0 +} + +/** We check if classes put in `instrumented` package are properly instrumented */ +package instrumented { + class Foo2 { + def someMethod = 0 + } +} + /** Tests if instrumentation itself works correctly */ object Test { def main(args: Array[String]) { // force predef initialization before profiling Predef startProfiling() + val foo1 = new Foo1 + foo1.someMethod + val foo2 = new instrumented.Foo2 + foo2.someMethod // should box the boolean println(true) stopProfiling() |