Skip to content

Commit 4e52d21

Browse files
committed
Remove expected error from CgContext
1 parent faa6506 commit 4e52d21

File tree

2 files changed

+25
-26
lines changed

2 files changed

+25
-26
lines changed

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/context/CgContext.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,6 @@ internal interface CgContextOwner {
171171
// a variable representing an actual result of the method under test call
172172
var actual: CgVariable
173173

174-
//a variable representing an expected error in parametrized tests
175-
var expectedErrorVariable: CgVariable
176-
177174
// a variable representing if test method contains reflective call or not
178175
// and should we catch exceptions like InvocationTargetException or not so on
179176
var containsReflectiveCall: Boolean
@@ -432,7 +429,6 @@ internal data class CgContext(
432429
) : CgContextOwner {
433430
override lateinit var statesCache: EnvironmentFieldStateCache
434431
override lateinit var actual: CgVariable
435-
override lateinit var expectedErrorVariable: CgVariable
436432

437433
override val currentTestClass: ClassId by lazy {
438434
val packagePrefix = if (testClassPackageName.isNotEmpty()) "$testClassPackageName." else ""

utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgMethodConstructor.kt

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,20 +1223,22 @@ internal class CgMethodConstructor(val context: CgContext) : CgContextOwner by c
12231223
}
12241224

12251225
if (containsFailureExecution(testSet)) {
1226+
val expectedErrorVariable = currentMethodParameters[CgParameterKind.ExpectedException]
1227+
?: error("Test set $testSet contains failure execution, but test method signature has no error parameter")
12261228
currentTryBlock =
12271229
if (containsReflectiveCall) {
1228-
currentTryBlock.catch(InvocationTargetException::class.java.id) { exception ->
1229-
testFrameworkManager.assertBoolean(
1230-
CgIsInstance(expectedErrorVariable, exception[getTargetException]())
1231-
)
1232-
}
1233-
} else {
1234-
currentTryBlock.catch(Throwable::class.java.id) { throwable ->
1235-
testFrameworkManager.assertBoolean(
1236-
CgIsInstance(expectedErrorVariable, throwable)
1237-
)
1230+
currentTryBlock.catch(InvocationTargetException::class.java.id) { exception ->
1231+
testFrameworkManager.assertBoolean(
1232+
CgIsInstance(expectedErrorVariable, exception[getTargetException]())
1233+
)
1234+
}
1235+
} else {
1236+
currentTryBlock.catch(Throwable::class.java.id) { throwable ->
1237+
testFrameworkManager.assertBoolean(
1238+
CgIsInstance(expectedErrorVariable, throwable)
1239+
)
1240+
}
12381241
}
1239-
}
12401242
}
12411243

12421244
if (statics.isNotEmpty()) {
@@ -1333,19 +1335,20 @@ internal class CgMethodConstructor(val context: CgContext) : CgContextOwner by c
13331335
val containsFailureExecution = containsFailureExecution(testSet)
13341336
if (containsFailureExecution) {
13351337
val classClassId = Class::class.id
1336-
expectedErrorVariable = declareParameter(
1337-
type = BuiltinClassId(
1338-
name = classClassId.name,
1339-
simpleName = classClassId.simpleName,
1340-
canonicalName = classClassId.canonicalName,
1341-
packageName = classClassId.packageName,
1342-
typeParameters = TypeParameters(listOf(Throwable::class.java.id))
1338+
val expectedException = CgParameterDeclaration(
1339+
parameter = declareParameter(
1340+
type = BuiltinClassId(
1341+
name = classClassId.name,
1342+
simpleName = classClassId.simpleName,
1343+
canonicalName = classClassId.canonicalName,
1344+
packageName = classClassId.packageName,
1345+
typeParameters = TypeParameters(listOf(Throwable::class.java.id))
1346+
),
1347+
name = nameGenerator.variableName(expectedErrorVarName)
13431348
),
1344-
name = nameGenerator.variableName(expectedErrorVarName)
1349+
// exceptions are always reference type
1350+
isReferenceType = true,
13451351
)
1346-
1347-
// exceptions are always reference type
1348-
val expectedException = CgParameterDeclaration(parameter = expectedErrorVariable, isReferenceType = true)
13491352
this += expectedException
13501353
currentMethodParameters[CgParameterKind.ExpectedException] = expectedException.parameter
13511354
}

0 commit comments

Comments
 (0)