• 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+)

  1. Create classes: C1, C2, C3 (see attached)
  2. Instrument classes as follows:
    • For classes matching expression: C1+
    • honor transient
    • defined on-load method = restoreTransient
  3. 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
  4. Delete C2 + C3 from “Includes classes - Includes” C2 + C3 no longer marked w/ red-checks … even though they *are* instrumented.
  5. Run main() method for all classes. No exceptions are thrown.
  6. Run main() method for all classes again. No exceptions are thrown.

Expected results:

  1. 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

  2. C2 + C3 should not lose red-checks at step 4. They should be covered by C1+ rule.

Comments

Howard Mak 2009-03-09

Attached is the tc-config.xml that works (step 4 in reproduce case is done)

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 [email protected] at C1.test(C1.java:15) at C2.main(C2.java:6)

and

Exception in thread “main” java.lang.Exception: test failed for [email protected] 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?