Closed
Description
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:
public class CheckStatic {
public final static Integer keyValue = 420;
public static int check() {
if (keyValue == 0) {
return keyValue;
} 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:
public void testCheck_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.
Metadata
Metadata
Assignees
Type
Projects
Status
Done