mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[split tests] AT-3274 Override with nullable types
GitOrigin-RevId: 39b4b509b983d2533210e9e7166c22bd9368eb20
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2cb1a8c73f
commit
db00ad5d0c
+24
-22
@@ -12,39 +12,40 @@ import java.lang.reflect.Method
|
||||
*/
|
||||
open class MonolithAndSplitModeInvocationInterceptor : InvocationInterceptor {
|
||||
override fun interceptTestTemplateMethod(
|
||||
invocation: InvocationInterceptor.Invocation<Void>,
|
||||
invocationContext: ReflectiveInvocationContext<Method>,
|
||||
extensionContext: ExtensionContext,
|
||||
invocation: InvocationInterceptor.Invocation<Void?>,
|
||||
invocationContext: ReflectiveInvocationContext<Method?>,
|
||||
extensionContext: ExtensionContext?,
|
||||
) {
|
||||
intercept<Void>(invocation, invocationContext)
|
||||
intercept<Void?>(invocation, invocationContext)
|
||||
}
|
||||
|
||||
override fun interceptTestMethod(
|
||||
invocation: InvocationInterceptor.Invocation<Void>, invocationContext: ReflectiveInvocationContext<Method>,
|
||||
extensionContext: ExtensionContext,
|
||||
invocation: InvocationInterceptor.Invocation<Void?>, invocationContext: ReflectiveInvocationContext<Method?>,
|
||||
extensionContext: ExtensionContext?,
|
||||
) {
|
||||
intercept<Void>(invocation, invocationContext)
|
||||
intercept<Void?>(invocation, invocationContext)
|
||||
}
|
||||
|
||||
override fun <T : Any> interceptTestFactoryMethod(
|
||||
invocation: InvocationInterceptor.Invocation<T>, invocationContext: ReflectiveInvocationContext<Method>,
|
||||
override fun <T> interceptTestFactoryMethod(
|
||||
invocation: InvocationInterceptor.Invocation<T?>, invocationContext: ReflectiveInvocationContext<Method?>,
|
||||
extensionContext: ExtensionContext,
|
||||
): T {
|
||||
return intercept<T>(invocation, invocationContext)
|
||||
): T? {
|
||||
return intercept<T?>(invocation, invocationContext)
|
||||
}
|
||||
|
||||
override fun interceptBeforeEachMethod(
|
||||
invocation: InvocationInterceptor.Invocation<Void>,
|
||||
invocationContext: ReflectiveInvocationContext<Method>,
|
||||
extensionContext: ExtensionContext,
|
||||
invocation: InvocationInterceptor.Invocation<Void?>,
|
||||
invocationContext: ReflectiveInvocationContext<Method?>,
|
||||
extensionContext: ExtensionContext?,
|
||||
) {
|
||||
intercept<Void>(invocation, invocationContext)
|
||||
intercept<Void?>(invocation, invocationContext)
|
||||
}
|
||||
|
||||
private fun <T : Any> intercept(invocation: InvocationInterceptor.Invocation<T>, invocationContext: ReflectiveInvocationContext<Method>): T {
|
||||
private fun <T> intercept(invocation: InvocationInterceptor.Invocation<T?>, invocationContext: ReflectiveInvocationContext<Method?>): T? {
|
||||
if (invocationContext.arguments.any { it::class == BackgroundRunWithLambda::class }) {
|
||||
System.err.println("Test ${invocationContext.executable.name} has ${BackgroundRunWithLambda::class.qualifiedName} parameter. Test is expected to use it directly.")
|
||||
invocation.proceed()
|
||||
System.err.println("Test ${invocationContext.executable?.name} has ${BackgroundRunWithLambda::class.qualifiedName} parameter. Test is expected to use it directly.")
|
||||
return invocation.proceed()
|
||||
// TODO: https://youtrack.jetbrains.com/issue/AT-3414/Lambda-tests-implement-parameterization-for-all-possible-JUnit5-test-scenarios
|
||||
}
|
||||
|
||||
@Suppress("RAW_RUN_BLOCKING")
|
||||
@@ -53,15 +54,16 @@ open class MonolithAndSplitModeInvocationInterceptor : InvocationInterceptor {
|
||||
// TODO: provide and option to start IDE for every test
|
||||
MonolithAndSplitModeIdeInstanceInitializer.ideBackgroundRun.runLambda(InjectedLambda::class,
|
||||
params = mapOf(
|
||||
"testClass" to invocationContext.targetClass.name,
|
||||
"testMethod" to invocationContext.executable.name,
|
||||
"testClass" to (invocationContext.targetClass.name ?: ""),
|
||||
"testMethod" to (invocationContext.executable?.name ?: ""),
|
||||
"methodArguments" to argumentsToString(invocationContext.arguments)
|
||||
))
|
||||
}
|
||||
|
||||
invocation.skip()
|
||||
// TODO: find a way to deal with JUnit5 test factory (see overrides above)
|
||||
return Void.TYPE as T
|
||||
// TODO: https://youtrack.jetbrains.com/issue/AT-3414/Lambda-tests-implement-parameterization-for-all-possible-JUnit5-test-scenarios
|
||||
// find a way to deal with JUnit5 test factory (see overrides above)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user