summaryrefslogtreecommitdiff
path: root/simulator/opendc-harness
diff options
context:
space:
mode:
Diffstat (limited to 'simulator/opendc-harness')
-rw-r--r--simulator/opendc-harness/build.gradle.kts6
-rw-r--r--simulator/opendc-harness/src/main/kotlin/org/opendc/harness/runner/junit5/OpenDCTestEngine.kt12
2 files changed, 7 insertions, 11 deletions
diff --git a/simulator/opendc-harness/build.gradle.kts b/simulator/opendc-harness/build.gradle.kts
index 25ffbd57..132b9b3b 100644
--- a/simulator/opendc-harness/build.gradle.kts
+++ b/simulator/opendc-harness/build.gradle.kts
@@ -32,14 +32,12 @@ dependencies {
api("org.jetbrains.kotlinx:kotlinx-coroutines-core")
api("org.junit.platform:junit-platform-commons:${versions.junitPlatform}")
+ implementation("org.junit.platform:junit-platform-engine:${versions.junitPlatform}")
implementation("io.github.classgraph:classgraph:${versions["classgraph"]}")
implementation("io.github.microutils:kotlin-logging")
+
implementation("com.github.ajalt.clikt:clikt:${versions["clikt"]}")
implementation("me.tongfei:progressbar:${versions["progressbar"]}")
- implementation("org.junit.platform:junit-platform-engine:${versions.junitPlatform}")
- implementation("org.junit.platform:junit-platform-suite-api:${versions.junitPlatform}")
- implementation("org.junit.platform:junit-platform-launcher:${versions.junitPlatform}")
-
runtimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:${versions.log4j}")
}
diff --git a/simulator/opendc-harness/src/main/kotlin/org/opendc/harness/runner/junit5/OpenDCTestEngine.kt b/simulator/opendc-harness/src/main/kotlin/org/opendc/harness/runner/junit5/OpenDCTestEngine.kt
index 685cd41a..0a420405 100644
--- a/simulator/opendc-harness/src/main/kotlin/org/opendc/harness/runner/junit5/OpenDCTestEngine.kt
+++ b/simulator/opendc-harness/src/main/kotlin/org/opendc/harness/runner/junit5/OpenDCTestEngine.kt
@@ -30,13 +30,13 @@ import org.junit.platform.engine.discovery.ClassNameFilter
import org.junit.platform.engine.discovery.ClassSelector
import org.junit.platform.engine.discovery.MethodSelector
import org.junit.platform.engine.support.descriptor.EngineDescriptor
-import org.junit.platform.launcher.LauncherDiscoveryRequest
import org.opendc.harness.api.ExperimentDefinition
import org.opendc.harness.engine.ExperimentEngineLauncher
import org.opendc.harness.engine.discovery.DiscoveryFilter
import org.opendc.harness.engine.discovery.DiscoveryProvider
import org.opendc.harness.engine.discovery.DiscoveryRequest
import org.opendc.harness.engine.discovery.DiscoverySelector
+import java.util.*
/**
* A [TestEngine] implementation that is able to run experiments defined using the harness.
@@ -49,13 +49,11 @@ public class OpenDCTestEngine : TestEngine {
override fun getId(): String = "opendc"
- override fun discover(request: EngineDiscoveryRequest, uniqueId: UniqueId): TestDescriptor {
- // Test whether are excluded from the engines
- val isEnabled = (request as? LauncherDiscoveryRequest)?.engineFilters?.all { it.toPredicate().test(this) } ?: true
- if (!isEnabled) {
- return ExperimentEngineDescriptor(uniqueId, emptyFlow())
- }
+ override fun getGroupId(): Optional<String> = Optional.of("org.opendc")
+ override fun getArtifactId(): Optional<String> = Optional.of("opendc-harness")
+
+ override fun discover(request: EngineDiscoveryRequest, uniqueId: UniqueId): TestDescriptor {
// IntelliJ will pass a [MethodSelector] to run just a single method inside a file. In that
// case, no experiments should be discovered, since we support only experiments by class.
if (request.getSelectorsByType(MethodSelector::class.java).isNotEmpty()) {