Fix sporadic test failure (#386)
This commit is contained in:
parent
3a4483a0f5
commit
55211ccd73
|
@ -40,6 +40,10 @@ import static context.ContextTestInstrumentation.UntransformableKeyClass
|
|||
|
||||
class FieldBackedProviderTest extends AgentTestRunner {
|
||||
|
||||
static {
|
||||
System.setProperty("ota.integration.context-test-instrumentation.enabled", "true")
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean onInstrumentationError(
|
||||
final String typeName,
|
||||
|
@ -206,6 +210,22 @@ class FieldBackedProviderTest extends AgentTestRunner {
|
|||
*/
|
||||
@Requires({ "false" == System.getProperty("ota.trace.runtime.context.field.injection") })
|
||||
class FieldBackedProviderFieldInjectionDisabledTest extends AgentTestRunner {
|
||||
|
||||
static {
|
||||
System.setProperty("ota.integration.context-test-instrumentation.enabled", "true")
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean onInstrumentationError(
|
||||
final String typeName,
|
||||
final ClassLoader classLoader,
|
||||
final JavaModule module,
|
||||
final boolean loaded,
|
||||
final Throwable throwable) {
|
||||
// Incorrect* classes assert on incorrect api usage. Error expected.
|
||||
return !(typeName.startsWith(ContextTestInstrumentation.getName() + '$Incorrect') && throwable.getMessage().startsWith("Incorrect Context Api Usage detected."))
|
||||
}
|
||||
|
||||
def "Check that structure is not modified when structure modification is disabled"() {
|
||||
setup:
|
||||
def keyClass = ContextTestInstrumentation.DisabledKeyClass
|
||||
|
|
|
@ -32,7 +32,15 @@ import net.bytebuddy.matcher.ElementMatcher;
|
|||
@AutoService(Instrumenter.class)
|
||||
public class ContextTestInstrumentation extends Instrumenter.Default {
|
||||
public ContextTestInstrumentation() {
|
||||
super("context-test-isntrumenter1");
|
||||
super("context-test-instrumentation");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean defaultEnabled() {
|
||||
// this instrumentation is disabled by default, so that it doesn't cause sporadic failures
|
||||
// in other tests that do override AgentTestRunner.onInstrumentationError() to filter out
|
||||
// the instrumentation errors that this instrumentation purposefully introduces
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -62,3 +62,5 @@ tasks.register("testDisabledFieldInjection", Test) {
|
|||
include "context/FieldBackedProviderFieldInjectionDisabledTest.class"
|
||||
}
|
||||
test.dependsOn(testDisabledFieldInjection)
|
||||
|
||||
test.forkEvery = 1
|
||||
|
|
Loading…
Reference in New Issue