Description
Static method without input parameters is using a static field inside.
Concrete execution fails with "java.lang.IllegalArgumentException: wrong number of arguments"
To Reproduce
Steps to reproduce the behavior:
- IntelliJ IDEA with UTBot installed is running.
- Turn fuzzing on // File -> Settings -> Tools -> UTbot -> select some middle Code Analysis slider position
- Run test generation for the following class:
publicclassCheckStatic {
publicfinalstaticIntegerkeyValue = 420;
publicstaticintcheck() {
if (keyValue == 0) {
returnkeyValue;
} else {
return -keyValue;
}
}
}Expected behavior
Tests are supposed to be generated without errors.
Actual behavior
An error test is generated with information about an error in the concrete executor.
Visual proofs (screenshots, logs, images)
Error report:
publicvoidtestCheck_errors() {
// Couldn't generate some tests. List of errors:// // 4 occurrences of:// Default concrete execution failed
}Child process error:
Transforming: org/example/CheckStatic
java.lang.IllegalArgumentException: wrong number of arguments
signature=check()I
this=null: org.example.CheckStatic
arguments={
org.example.CheckStatic@1ad9c76c: org.example.CheckStatic
}
at org.utbot.instrumentation.instrumentation.InvokeInstrumentation.invoke-d1pmJ48(InvokeInstrumentation.kt:77)
at org.utbot.instrumentation.instrumentation.InvokeInstrumentation.invoke(InvokeInstrumentation.kt:17)
at org.utbot.instrumentation.instrumentation.Instrumentation$DefaultImpls.invoke$default(Instrumentation.kt:25)
at org.utbot.framework.concrete.UtExecutionInstrumentation$invoke$$inlined$withReflection$lambda$1$1.invoke(UtExecutionInstrumentation.kt:163)
at org.utbot.common.ThreadBasedExecutor$invokeWithTimeout$2.invoke(ThreadUtil.kt:56)
at org.utbot.common.ThreadBasedExecutor$invokeWithTimeout$1.invoke(ThreadUtil.kt:47)
at org.utbot.common.ThreadBasedExecutor$invokeWithTimeout$1.invoke(ThreadUtil.kt:22)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
Environment
Windows 10 Pro
Gradle 6.8
JDK 8
Additional context
The example was taken from utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java - just added "static" to the clinitMockExample() definition.
Description
Static method without input parameters is using a static field inside.
Concrete execution fails with "java.lang.IllegalArgumentException: wrong number of arguments"
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Tests are supposed to be generated without errors.
Actual behavior
An error test is generated with information about an error in the concrete executor.
Visual proofs (screenshots, logs, images)
Error report:
Child process error:
Environment
Windows 10 Pro
Gradle 6.8
JDK 8
Additional context
The example was taken from utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java - just added "static" to the clinitMockExample() definition.