Skip to content

Commit 9de97f8

Browse files
Do not miss errors in generated test class #1499 (#1508)
Do not miss errors when no executions are found
1 parent 3e81503 commit 9de97f8

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgTestClassConstructor.kt

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -132,35 +132,33 @@ open class CgTestClassConstructor(val context: CgContext) :
132132
}
133133

134134
fun constructTestSet(testSet: CgMethodTestSet): List<CgRegion<CgMethod>>? {
135-
if (testSet.executions.isEmpty()) {
136-
return null
137-
}
138-
139-
successfulExecutionsModels = testSet
140-
.executions
141-
.filter { it.result is UtExecutionSuccess }
142-
.map { (it.result as UtExecutionSuccess).model }
143-
144135
val regions = mutableListOf<CgRegion<CgMethod>>()
145136

146-
runCatching {
147-
when (context.parametrizedTestSource) {
148-
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> createTest(testSet, regions)
149-
ParametrizedTestSource.PARAMETRIZE ->
150-
createParametrizedTestAndDataProvider(
151-
testSet,
152-
regions
153-
)
154-
}
155-
}.onFailure { e -> processFailure(testSet, e) }
137+
if (testSet.executions.any()) {
138+
successfulExecutionsModels = testSet
139+
.executions
140+
.filter { it.result is UtExecutionSuccess }
141+
.map { (it.result as UtExecutionSuccess).model }
142+
143+
runCatching {
144+
when (context.parametrizedTestSource) {
145+
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> createTest(testSet, regions)
146+
ParametrizedTestSource.PARAMETRIZE ->
147+
createParametrizedTestAndDataProvider(
148+
testSet,
149+
regions
150+
)
151+
}
152+
}.onFailure { e -> processFailure(testSet, e) }
153+
}
156154

157155
val errors = testSet.allErrors
158156
if (errors.isNotEmpty()) {
159157
regions += methodConstructor.errorMethod(testSet.executableId, errors)
160158
testsGenerationReport.addMethodErrors(testSet, errors)
161159
}
162160

163-
return regions
161+
return if (regions.any()) regions else null
164162
}
165163

166164
private fun processFailure(testSet: CgMethodTestSet, failure: Throwable) {

0 commit comments

Comments
 (0)