diff --git a/testable-agent/src/main/java/com/alibaba/testable/agent/handler/MockClassHandler.java b/testable-agent/src/main/java/com/alibaba/testable/agent/handler/MockClassHandler.java index d8d4c8a..5469571 100644 --- a/testable-agent/src/main/java/com/alibaba/testable/agent/handler/MockClassHandler.java +++ b/testable-agent/src/main/java/com/alibaba/testable/agent/handler/MockClassHandler.java @@ -99,6 +99,8 @@ public class MockClassHandler extends BaseClassWithContextHandler { ((IincInsnNode)in).var++; } else if (in instanceof VarInsnNode && ((VarInsnNode)in).var > 0) { ((VarInsnNode)in).var++; + } else if (in instanceof FrameNode && ((FrameNode)in).type == F_FULL) { + ((FrameNode)in).local.add(1, targetClassName); } } mn.maxLocals++; diff --git a/testable-agent/src/main/java/com/alibaba/testable/agent/transformer/TestableClassTransformer.java b/testable-agent/src/main/java/com/alibaba/testable/agent/transformer/TestableClassTransformer.java index f19d16c..49a0ce0 100644 --- a/testable-agent/src/main/java/com/alibaba/testable/agent/transformer/TestableClassTransformer.java +++ b/testable-agent/src/main/java/com/alibaba/testable/agent/transformer/TestableClassTransformer.java @@ -41,7 +41,7 @@ public class TestableClassTransformer implements ClassFileTransformer { * Just avoid spend time to scan those surely non-user classes Should keep these lists as tiny as possible */ private final String[] WHITELIST_PREFIXES = new String[] {"com/alibaba/testable/demo/"}; - private final String[] BLACKLIST_PREFIXES = new String[] {"jdk/", "java/", "javax/", "com/sun/", + private final String[] BLACKLIST_PREFIXES = new String[] {"jdk/", "java/", "javax/", "sun/", "com/sun/", "org/apache/maven/", "com/alibaba/testable/", "junit/", "org/junit/", "org/testng/"}; public MockClassParser mockClassParser = new MockClassParser();