diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/executor/InstrumentationProcessRunner.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/executor/InstrumentationProcessRunner.kt index 9a2b7572a2..a7332a0815 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/executor/InstrumentationProcessRunner.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/executor/InstrumentationProcessRunner.kt @@ -11,7 +11,8 @@ import org.usvm.instrumentation.rd.InstrumentedProcess import org.usvm.instrumentation.testcase.UTest import org.usvm.instrumentation.testcase.api.UTestExecutionResult import org.usvm.instrumentation.util.InstrumentationModuleConstants -import osSpecificJavaExecutable +import org.usvm.instrumentation.util.OpenModulesContainer +import org.usvm.instrumentation.util.osSpecificJavaExecutable import java.io.File import java.nio.file.Paths import kotlin.reflect.KClass diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/JcRuntimeTraceInstrumenter.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/JcRuntimeTraceInstrumenter.kt index b54622d4f2..a0c812d867 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/JcRuntimeTraceInstrumenter.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/JcRuntimeTraceInstrumenter.kt @@ -9,7 +9,6 @@ import org.objectweb.asm.tree.ClassNode import org.objectweb.asm.tree.MethodNode import org.usvm.instrumentation.collector.trace.TraceCollector import org.usvm.instrumentation.instrumentation.JcInstructionTracer.StaticFieldAccessType -import org.usvm.instrumentation.org.usvm.instrumentation.instrumentation.TraceHelper import org.usvm.instrumentation.util.isSameSignature import org.usvm.instrumentation.util.replace diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/TraceHelper.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/TraceHelper.kt index 9ba3dab54a..532ee7ccc7 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/TraceHelper.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/instrumentation/TraceHelper.kt @@ -1,4 +1,4 @@ -package org.usvm.instrumentation.org.usvm.instrumentation.instrumentation +package org.usvm.instrumentation.instrumentation import org.jacodb.api.JcClasspath import org.jacodb.api.cfg.JcRawCallInst diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockClassRebuilder.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockClassRebuilder.kt index 6b5ff16992..366f2c2eda 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockClassRebuilder.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockClassRebuilder.kt @@ -1,4 +1,4 @@ -package org.usvm.instrumentation.org.usvm.instrumentation.mock +package org.usvm.instrumentation.mock import org.jacodb.api.JcClassOrInterface import org.jacodb.api.JcMethod diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockHelper.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockHelper.kt index 13c19ccbf7..76f43ad6d6 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockHelper.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/mock/MockHelper.kt @@ -1,4 +1,4 @@ -package org.usvm.instrumentation.org.usvm.instrumentation.mock +package org.usvm.instrumentation.mock import org.jacodb.api.* import org.jacodb.api.cfg.* @@ -9,7 +9,7 @@ import org.objectweb.asm.tree.ClassNode import org.objectweb.asm.tree.MethodNode import org.usvm.instrumentation.classloader.WorkerClassLoader import org.usvm.instrumentation.instrumentation.JcInstructionTracer -import org.usvm.instrumentation.org.usvm.instrumentation.instrumentation.TraceHelper +import org.usvm.instrumentation.instrumentation.TraceHelper import org.usvm.instrumentation.collector.trace.MockCollector import org.jacodb.impl.cfg.* import org.usvm.instrumentation.util.* diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/rd/UTestExecutor.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/rd/UTestExecutor.kt index 81502b4986..3cc95b184c 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/rd/UTestExecutor.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/rd/UTestExecutor.kt @@ -8,7 +8,7 @@ import org.usvm.instrumentation.classloader.WorkerClassLoader import org.usvm.instrumentation.collector.trace.MockCollector import org.usvm.instrumentation.collector.trace.TraceCollector import org.usvm.instrumentation.instrumentation.JcInstructionTracer -import org.usvm.instrumentation.org.usvm.instrumentation.mock.MockHelper +import org.usvm.instrumentation.mock.MockHelper import org.usvm.instrumentation.testcase.UTest import org.usvm.instrumentation.testcase.api.* import org.usvm.instrumentation.testcase.descriptor.StaticDescriptorsBuilder diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/testcase/executor/UTestExpressionExecutor.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/testcase/executor/UTestExpressionExecutor.kt index 2b8bb5d270..8be151d775 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/testcase/executor/UTestExpressionExecutor.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/testcase/executor/UTestExpressionExecutor.kt @@ -6,7 +6,7 @@ import org.jacodb.api.JcField import org.jacodb.api.ext.* import org.usvm.instrumentation.classloader.WorkerClassLoader import org.usvm.instrumentation.instrumentation.JcInstructionTracer.StaticFieldAccessType -import org.usvm.instrumentation.org.usvm.instrumentation.mock.MockHelper +import org.usvm.instrumentation.mock.MockHelper import org.usvm.instrumentation.testcase.api.* import org.usvm.instrumentation.collector.trace.MockCollector import org.usvm.instrumentation.collector.trace.MockCollector.MockValueArrayWrapper diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/instrumentation.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/instrumentation.kt index c9802d03e5..2ccfa63347 100644 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/instrumentation.kt +++ b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/instrumentation.kt @@ -1,3 +1,4 @@ +package org.usvm.instrumentation.util import java.nio.file.Path import java.nio.file.Paths import java.util.* diff --git a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/sandbox.kt b/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/sandbox.kt deleted file mode 100644 index 2cff35cf6a..0000000000 --- a/usvm-jvm-instrumentation/src/main/kotlin/org/usvm/instrumentation/util/sandbox.kt +++ /dev/null @@ -1,35 +0,0 @@ -//package org.usvm.instrumentation.util -// -//import sun.security.provider.PolicyFile -//import java.nio.file.Files -//import java.nio.file.Paths -//import java.security.* -//import java.security.cert.Certificate -// -//object SecurityManager { -// private val policyPath = Paths.get("./usvm.policy") -// -// private val permissions = Permissions() -// private val allCodeSource = CodeSource(null, emptyArray()) -// -// init { -// permissions.add(RuntimePermission("accessDeclaredMembers")) -// permissions.add(RuntimePermission("getStackWalkerWithClassReference")) -// permissions.add(RuntimePermission("getClassLoader")) -// -// if (Files.exists(policyPath)) { -// val policyFile = PolicyFile(policyPath.toUri().toURL()) -// policyFile.getPermissions(allCodeSource).elements().toList().forEach { permissions.add(it) } -// } -// } -// -//// fun sandbox(block: () -> T): T { -//// val acc = AccessControlContext(arrayOf(ProtectionDomain(allCodeSource, permissions))) -//// return try { -//// AccessController.doPrivileged(PrivilegedAction { block() }, acc) -//// } catch (e: PrivilegedActionException) { -//// throw e.exception -//// } -//// } -// -//} diff --git a/usvm-jvm-instrumentation/src/test/kotlin/org/usvm/instrumentation/executor/SimpleUTestConcreteExecutor.kt b/usvm-jvm-instrumentation/src/test/kotlin/org/usvm/instrumentation/executor/SimpleUTestConcreteExecutor.kt index 02194b592e..62799aeeae 100644 --- a/usvm-jvm-instrumentation/src/test/kotlin/org/usvm/instrumentation/executor/SimpleUTestConcreteExecutor.kt +++ b/usvm-jvm-instrumentation/src/test/kotlin/org/usvm/instrumentation/executor/SimpleUTestConcreteExecutor.kt @@ -36,14 +36,14 @@ class SimpleUTestConcreteExecutor: UTestConcreteExecutorTest() { fun `simple test`() = executeTest { val uTest = UTestCreator.C.lol(jcClasspath) val res = uTestConcreteExecutor.executeAsync(uTest) - check(res is UTestExecutionSuccessResult) + assertIs(res) } @Test fun `arithmetic operation`() = executeTest { val uTest = UTestCreator.A.arithmeticOperation(jcClasspath) val res = uTestConcreteExecutor.executeAsync(uTest) - check(res is UTestExecutionSuccessResult) + assertIs(res) val result = res.result assertIs(result) assertEquals(239, result.value) @@ -53,8 +53,7 @@ class SimpleUTestConcreteExecutor: UTestConcreteExecutorTest() { fun `exception`() = executeTest { val uTest = UTestCreator.A.exception(jcClasspath) val res = uTestConcreteExecutor.executeAsync(uTest) - assert(res is UTestExecutionExceptionResult) - res as UTestExecutionExceptionResult + assertIs(res) check(res.cause.stackTrace.isNotEmpty()) assertEquals(res.cause.type, jcClasspath.findTypeOrNull()) } @@ -63,7 +62,7 @@ class SimpleUTestConcreteExecutor: UTestConcreteExecutorTest() { fun `java reflection test`() = executeTest { val uTest = UTestCreator.A.getNumberOfClassConstructors(jcClasspath) val res = uTestConcreteExecutor.executeAsync(uTest) - check(res is UTestExecutionSuccessResult) + assertIs(res) val result = res.result assertNotNull(result) assertIs(result)