Skip to content

Commit b067af9

Browse files
SBOne-KenobiAbdullinAM
authored andcommitted
Fix assertions (UnitTestBot#1096)
1 parent cd3dcd1 commit b067af9

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt

+7
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,13 @@ object UtSettings : AbstractSettings(
240240
*/
241241
var treatOverflowAsError: Boolean by getBooleanProperty(false)
242242

243+
/**
244+
* Generate tests that treat assertions as error suits.
245+
*
246+
* True by default.
247+
*/
248+
var treatAssertAsErrorSuit: Boolean by getBooleanProperty(true)
249+
243250
/**
244251
* Instrument all classes before start
245252
*/

utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/JavaAssertTest.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ import org.utbot.tests.infrastructure.UtValueTestCaseChecker
55
import org.utbot.tests.infrastructure.isException
66
import org.utbot.testcheckers.eq
77

8-
class JavaAssertTest : UtValueTestCaseChecker(testClass = JavaAssert::class){
8+
class JavaAssertTest : UtValueTestCaseChecker(
9+
testClass = JavaAssert::class,
10+
testCodeGeneration = false
11+
) {
912
@Test
1013
fun testAssertPositive() {
1114
checkWithException(

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

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ import org.utbot.summary.SummarySentenceConstants.TAB
113113
import java.lang.reflect.InvocationTargetException
114114
import java.security.AccessControlException
115115
import java.lang.reflect.ParameterizedType
116+
import org.utbot.framework.UtSettings
116117

117118
private const val DEEP_EQUALS_MAX_DEPTH = 5 // TODO move it to plugin settings?
118119

@@ -329,6 +330,7 @@ internal class CgMethodConstructor(val context: CgContext) : CgContextOwner by c
329330
if (exception is AccessControlException) return false
330331
// tests with timeout or crash should be processed differently
331332
if (exception is TimeoutException || exception is ConcreteExecutionFailureException) return false
333+
if (UtSettings.treatAssertAsErrorSuit && exception is AssertionError) return false
332334

333335
val exceptionRequiresAssert = exception !is RuntimeException || runtimeExceptionTestsBehaviour == PASS
334336
val exceptionIsExplicit = execution.result is UtExplicitlyThrownException

0 commit comments

Comments
 (0)