Add missing commas to csv files

This commit is contained in:
Yunir Salimzyanov
2020-04-29 11:42:06 +03:00
parent 856d8e64a2
commit cf8b29a636
9 changed files with 557 additions and 560 deletions
@@ -118,27 +118,23 @@ private fun loadMutedTests(file: File): List<MutedTest> {
}
}
private val MUTE_LINE_PARSE_REGEXP = Regex("^\"?([^,\\[]+)(\\[[^]]+])?\"?(,\\s*)?([^,]+)?(,\\s*)?([^,]+)?$")
private val COLUMN_PARSE_REGEXP = Regex("\\s*(?:(?:\"((?:[^\"]|\"\")*)\")|([^,]*))\\s*")
private val MUTE_LINE_PARSE_REGEXP = Regex("$COLUMN_PARSE_REGEXP,$COLUMN_PARSE_REGEXP,$COLUMN_PARSE_REGEXP")
private fun parseMutedTest(str: String): MutedTest {
val matchResult = MUTE_LINE_PARSE_REGEXP.matchEntire(str) ?: throw ParseError("Can't parse the line: $str")
val methodFull = matchResult.groups[1]?.value ?: throw ParseError("Test key is absent (1 column): $str")
val params = matchResult.groups[2]?.value ?: ""
val key = methodFull + params
val issue = matchResult.groups[4]?.value
val stateStr = matchResult.groups[6]?.value
val resultValues = matchResult.groups.filterNotNull()
val testKey = resultValues[1].value
val issue = resultValues[2].value
val stateStr = resultValues[3].value
val hasFailFile = when (stateStr) {
"MUTE", "", null -> false
"MUTE", "" -> false
"FAIL" -> true
else -> throw ParseError("Invalid state (`$stateStr`), MUTE, FAIL or empty are expected: $str")
}
return MutedTest(key, issue, hasFailFile)
return MutedTest(testKey, issue, hasFailFile)
}
private class ParseError(message: String, override val cause: Throwable? = null) : IllegalArgumentException(message)