From 6d9cc3e81593283f4443cd5f4c789ff61ed0c873 Mon Sep 17 00:00:00 2001 From: Florian Gerlinghoff Date: Sun, 12 Dec 2021 20:57:15 +0100 Subject: fix(trace): Read dependencies from .gwf trace file (#50) Tasks from a .gwf trace file did not have dependencies because this property was not assigned after being read in the GwfTaskTableReader. I removed the conversion from String to Long in parseParents because it seems like other readers (the Parquet reader in particular) return Strings as well, which is why they are converted to Long in line 75 of TraceHelpers.kt. Co-authored-by: Fabian Mastenbroek --- .../kotlin/org/opendc/trace/gwf/GwfTraceFormatTest.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'opendc-trace/opendc-trace-gwf/src/test') diff --git a/opendc-trace/opendc-trace-gwf/src/test/kotlin/org/opendc/trace/gwf/GwfTraceFormatTest.kt b/opendc-trace/opendc-trace-gwf/src/test/kotlin/org/opendc/trace/gwf/GwfTraceFormatTest.kt index 7fe403b2..5dfd02a1 100644 --- a/opendc-trace/opendc-trace-gwf/src/test/kotlin/org/opendc/trace/gwf/GwfTraceFormatTest.kt +++ b/opendc-trace/opendc-trace-gwf/src/test/kotlin/org/opendc/trace/gwf/GwfTraceFormatTest.kt @@ -69,4 +69,23 @@ internal class GwfTraceFormatTest { { assertEquals(emptySet(), reader.get(TASK_PARENTS)) }, ) } + + @Test + fun testReadingRowWithDependencies() { + val path = Paths.get(checkNotNull(GwfTraceFormatTest::class.java.getResource("/trace.gwf")).toURI()) + val reader = format.newReader(path, TABLE_TASKS) + + // Move to row 7 + for (x in 1..6) + reader.nextRow() + + assertAll( + { assertTrue(reader.nextRow()) }, + { assertEquals("0", reader.get(TASK_WORKFLOW_ID)) }, + { assertEquals("7", reader.get(TASK_ID)) }, + { assertEquals(Instant.ofEpochSecond(87), reader.get(TASK_SUBMIT_TIME)) }, + { assertEquals(Duration.ofSeconds(11), reader.get(TASK_RUNTIME)) }, + { assertEquals(setOf("4", "5", "6"), reader.get(TASK_PARENTS)) }, + ) + } } -- cgit v1.2.3