Skip to content

Commit 9b38fc9

Browse files
committed
Tests update
1 parent acb505b commit 9b38fc9

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

usvm-ts/src/test/kotlin/org/usvm/samples/checkers/UnreachableCodeDetector.kt

+16-13
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,31 @@ import org.usvm.machine.TsOptions
1111
import org.usvm.util.getResourcePath
1212

1313
class UnreachableCodeDetectorTest {
14+
val scene = run {
15+
val name = "UnreachableCode.ts"
16+
val path = getResourcePath("/samples/checkers/$name")
17+
val file = loadEtsFileAutoConvert(
18+
path,
19+
useArkAnalyzerTypeInference = 1
20+
)
21+
EtsScene(listOf(file))
22+
}
23+
1424
@Test
1525
fun testUnreachableCode() {
16-
val scene = run {
17-
val name = "UnreachableCode.ts"
18-
val path = getResourcePath("/samples/checkers/$name")
19-
val file = loadEtsFileAutoConvert(
20-
path,
21-
useArkAnalyzerTypeInference = 1
22-
)
23-
EtsScene(listOf(file))
24-
}
25-
2626
val options = UMachineOptions()
2727
val tsOptions = TsOptions(interproceduralAnalysis = false)
2828
val observer = UnreachableCodeDetector()
2929
val machine = TsMachine(scene, options, tsOptions, observer, observer)
3030
val methods = scene.projectClasses
3131
.flatMap { it.methods }
3232
.filterNot { it.cfg.stmts.isEmpty() }
33-
//.filter { it.name == "simpleUnreachableBranch" }
34-
val results = machine.analyze(methods)
33+
.filter { it.name == "simpleUnreachableBranch" }
34+
machine.analyze(methods)
35+
36+
val uncoveredResults = observer.result.values.singleOrNull() ?: error("No results found")
37+
val uncoveredStatements = uncoveredResults.singleOrNull()
3538

36-
check(results.isNotEmpty())
39+
check(uncoveredStatements != null) { "Uncovered statements are incorrect, results are $uncoveredStatements" }
3740
}
3841
}

0 commit comments

Comments
 (0)