diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-06-08 15:06:14 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-06-08 15:06:14 +0200 |
| commit | 9d759c9bc987965fae8b0c16c000772c546bf3a2 (patch) | |
| tree | bf20f51b434d56e60ad013568ac1a32b912a3b5e /opendc-trace/opendc-trace-wtf | |
| parent | f7a5b200e4767213617774a87113d0b56d8d8a59 (diff) | |
test(trace): Add conformance suite for OpenDC trace API
This change adds a re-usable test suite for the interface of the OpenDC
trace API, so implementors can verify whether they match the
specification of the interfaces.
Diffstat (limited to 'opendc-trace/opendc-trace-wtf')
3 files changed, 23 insertions, 3 deletions
diff --git a/opendc-trace/opendc-trace-wtf/build.gradle.kts b/opendc-trace/opendc-trace-wtf/build.gradle.kts index 35eb32e5..599087e1 100644 --- a/opendc-trace/opendc-trace-wtf/build.gradle.kts +++ b/opendc-trace/opendc-trace-wtf/build.gradle.kts @@ -32,5 +32,6 @@ dependencies { implementation(projects.opendcTrace.opendcTraceParquet) + testImplementation(projects.opendcTrace.opendcTraceTestkit) testRuntimeOnly(libs.slf4j.simple) } diff --git a/opendc-trace/opendc-trace-wtf/src/main/kotlin/org/opendc/trace/wtf/WtfTaskTableReader.kt b/opendc-trace/opendc-trace-wtf/src/main/kotlin/org/opendc/trace/wtf/WtfTaskTableReader.kt index bb5eb668..7d2005b2 100644 --- a/opendc-trace/opendc-trace-wtf/src/main/kotlin/org/opendc/trace/wtf/WtfTaskTableReader.kt +++ b/opendc-trace/opendc-trace-wtf/src/main/kotlin/org/opendc/trace/wtf/WtfTaskTableReader.kt @@ -83,7 +83,7 @@ internal class WtfTaskTableReader(private val reader: LocalParquetReader<Task>) } override fun isNull(index: Int): Boolean { - check(index in COL_ID..COL_USER_ID) { "Invalid column index" } + require(index in COL_ID..COL_USER_ID) { "Invalid column index" } return false } diff --git a/opendc-trace/opendc-trace-wtf/src/test/kotlin/org/opendc/trace/wtf/WtfTraceFormatTest.kt b/opendc-trace/opendc-trace-wtf/src/test/kotlin/org/opendc/trace/wtf/WtfTraceFormatTest.kt index 2312035a..f6b821c2 100644 --- a/opendc-trace/opendc-trace-wtf/src/test/kotlin/org/opendc/trace/wtf/WtfTraceFormatTest.kt +++ b/opendc-trace/opendc-trace-wtf/src/test/kotlin/org/opendc/trace/wtf/WtfTraceFormatTest.kt @@ -22,10 +22,13 @@ package org.opendc.trace.wtf +import org.junit.jupiter.api.* import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows +import org.junit.jupiter.api.Assertions.assertAll +import org.opendc.trace.TableColumn +import org.opendc.trace.TableReader import org.opendc.trace.conv.* +import org.opendc.trace.testkit.TableReaderTestKit import java.nio.file.Paths import java.time.Duration import java.time.Instant @@ -33,6 +36,7 @@ import java.time.Instant /** * Test suite for the [WtfTraceFormat] class. */ +@DisplayName("WTF TraceFormat") class WtfTraceFormatTest { private val format = WtfTraceFormat() @@ -93,4 +97,19 @@ class WtfTraceFormatTest { reader.close() } + + @DisplayName("TableReader for Tasks") + @Nested + inner class TasksTableReaderTest : TableReaderTestKit() { + override lateinit var reader: TableReader + override lateinit var columns: List<TableColumn> + + @BeforeEach + fun setUp() { + val path = Paths.get("src/test/resources/wtf-trace") + + columns = format.getDetails(path, TABLE_TASKS).columns + reader = format.newReader(path, TABLE_TASKS, null) + } + } } |
