mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
6239043: 4/4 TransformerManagementThreadAddTests.java failed
Clear fCheckedTransformers in order to properly record transformer() call data. Reviewed-by: sspitsyn
This commit is contained in:
parent
4387f047bc
commit
41dd8d9f6f
1 changed files with 16 additions and 2 deletions
|
@ -79,6 +79,12 @@ public class TransformerManagementThreadAddTests extends ATestCaseScaffold
|
||||||
protected static final int TOTAL_THREADS = MAX_TRANS - MIN_TRANS + 1;
|
protected static final int TOTAL_THREADS = MAX_TRANS - MIN_TRANS + 1;
|
||||||
|
|
||||||
private byte[] fDummyClassBytes;
|
private byte[] fDummyClassBytes;
|
||||||
|
// fCheckedTransformers is a Vector that is used to verify
|
||||||
|
// that the transform() function is called in the same
|
||||||
|
// order in which the transformers were added to the
|
||||||
|
// TransformerManager. The test currently verifies that all
|
||||||
|
// transformers for a specific worker thread are in
|
||||||
|
// increasing order by index value.
|
||||||
private Vector fCheckedTransformers;
|
private Vector fCheckedTransformers;
|
||||||
private Instrumentation fInstrumentation;
|
private Instrumentation fInstrumentation;
|
||||||
private int fFinished;
|
private int fFinished;
|
||||||
|
@ -264,11 +270,19 @@ public class TransformerManagementThreadAddTests extends ATestCaseScaffold
|
||||||
private void
|
private void
|
||||||
executeTransform()
|
executeTransform()
|
||||||
{
|
{
|
||||||
fCheckedTransformers.clear();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ClassDefinition cd = new ClassDefinition(DummyClass.class, fDummyClassBytes);
|
ClassDefinition cd = new ClassDefinition(DummyClass.class, fDummyClassBytes);
|
||||||
|
|
||||||
|
// When the ClassDefinition above is created for the first
|
||||||
|
// time and every time redefineClasses() below is called,
|
||||||
|
// the transform() function is called for each registered
|
||||||
|
// transformer. We only want one complete set of calls to
|
||||||
|
// be logged in the fCheckedTransformers Vector so we clear
|
||||||
|
// any calls logged for ClassDefinition above and just use
|
||||||
|
// the ones logged for redefineClasses() below.
|
||||||
|
fCheckedTransformers.clear();
|
||||||
|
|
||||||
getInstrumentation().redefineClasses(new ClassDefinition[]{ cd });
|
getInstrumentation().redefineClasses(new ClassDefinition[]{ cd });
|
||||||
}
|
}
|
||||||
catch (ClassNotFoundException e)
|
catch (ClassNotFoundException e)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue