CDV ❯ Eclipse plugin does not properly handle aspect subtype patterns
-
Bug
-
Status: Open
-
2 Major
-
Resolution:
-
Eclipse Plugin
-
-
gkeim
-
Reporter: hmak
-
March 09, 2009
-
0
-
Watchers: 1
-
June 23, 2010
-
Attachments
Description
Eclipse plugin does properly handle aspect subtype patterns (e.g., Foo+)
- Create classes: C1, C2, C3 (see attached)
- Instrument classes as follows:
- For classes matching expression: C1+
- honor transient
- defined on-load method = restoreTransient
- Use GUI, mark following as DSO roots: C1.ROOT, C2.ROOT, C3.ROOT C2 + C3 will show up in “Instrumented classes - Includes” in DSO Config view
- Delete C2 + C3 from “Includes classes - Includes” C2 + C3 no longer marked w/ red-checks … even though they *are* instrumented.
- Run main() method for all classes. No exceptions are thrown.
- Run main() method for all classes again. No exceptions are thrown.
Expected results:
-
Step 4 should not be necessary to get tests to pass. If omitted, step 6 will throw exception for C2 + C3 … indicating that those classes are *not* instrumented properly
-
C2 + C3 should not lose red-checks at step 4. They should be covered by C1+ rule.
Comments
Howard Mak 2009-03-09
Howard Mak 2009-03-09
Attached is the tc-config.xml that does *not* work (step 4 in reproduce case is skipped). Using this “normal” tc-config.xml, the following exception occur during step 6 of reproduce case:
Exception in thread “main” java.lang.Exception: test failed for C2@5373c8 at C1.test(C1.java:15) at C2.main(C2.java:6)
and
Exception in thread “main” java.lang.Exception: test failed for C3@1a82499 at C1.test(C1.java:15) at C3.main(C3.java:6)
Howard Mak 2009-03-09
Step 5 + 6 in reproduce case should also say:
The following dialog appears when running main, but they are apparently harmless (C1+ rule is apparently applied to C2 + C3) [quote] There are problems with the Terracotta configuration. Continue?
Root type 'C2' not instrumented
Root type 'C3' not instrumented
[OK] [Cancel] [/quote]
Howard Mak 2009-03-09
Clarification: Problem w/ this bug is that Eclipse plugin adds too much to the instrumented class list. Coupled w/ issue CDV-1178, this makes on-load behavior hard to customize. :(
Taylor Gautier 2009-03-10
did you mean to say does *not* properly handle…?
Howard Mak 2009-03-10
Yes, I meant “not handle”. Can the title + description be corrected?
Attached is the tc-config.xml that works (step 4 in reproduce case is done)