summaryrefslogtreecommitdiff
path: root/test/files/instrumented
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-07-26 11:40:13 +0200
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2012-07-26 11:54:47 +0200
commit9e04e2365a7210f7e671137d8f70e475688b0885 (patch)
tree6ff6517a65bcd4f954c916129822e755d3a340b3 /test/files/instrumented
parentad08f24448729009fc8d5ff0acf307a43b4cfe0a (diff)
downloadscala-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/instrumented')
-rw-r--r--test/files/instrumented/InstrumentationTest.check4
-rw-r--r--test/files/instrumented/InstrumentationTest.scala16
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()