Skip to content

Commit 288ed4c

Browse files
authored
Adding extra logging for matched warnings (#326)
### What's done: - Now MATCHED warnings are printed even in case of FAIL or PASS
1 parent 0ece3ff commit 288ed4c

File tree

4 files changed

+29
-23
lines changed

4 files changed

+29
-23
lines changed

save-core/src/commonNonJsTest/kotlin/org/cqfn/save/core/test/utils/TestUtilsCommon.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ fun runTestsWithDiktat(
6666
if (test.resources.test.name == "ThisShouldAlwaysFailTest.kt") {
6767
assertEquals(
6868
Fail(
69-
"Some warnings were expected but not received:" +
69+
"(MISSING WARNINGS):" +
7070
" [Warning(message=[DUMMY_ERROR] this error should not match, line=8, column=1," +
7171
" fileName=ThisShouldAlwaysFailTest.kt)]",
72-
"Some warnings were expected but not received (1)"
72+
"(MISSING WARNINGS): (1). (MATCHED WARNINGS): (1)"
7373
), test.status
7474
)
7575
} else if (test.resources.test.toString().contains("warn${Path.DIRECTORY_SEPARATOR}chapter2")) {

save-plugins/warn-plugin/src/commonMain/kotlin/org/cqfn/save/plugin/warn/utils/ResultsChecker.kt

+25-19
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,22 @@ class ResultsChecker(
4040
val unexpectedWarnings = actualWarnings - actualMatchedWithExpectedWarnings
4141

4242
return when (missingWarnings.isEmpty() to unexpectedWarnings.isEmpty()) {
43-
false to true -> createFailFromSingleMiss(EXPECTED_BUT_NOT_RECEIVED, missingWarnings)
44-
false to false -> createFailFromDoubleMiss(missingWarnings, unexpectedWarnings)
45-
true to true -> Pass(
46-
"$ALL_EXPECTED: ${expectedWarningsMatchedWithActual.size} warnings",
43+
false to true -> Fail(
44+
"$MISSING $missingWarnings",
45+
"$MISSING (${missingWarnings.size}). $MATCHED (${expectedWarningsMatchedWithActual.size})"
4746
)
47+
false to false -> createFailFromDoubleMiss(missingWarnings, unexpectedWarnings, expectedWarningsMatchedWithActual)
48+
true to true -> Pass("$ALL_EXPECTED (${expectedWarningsMatchedWithActual.size})")
4849
true to false -> if (warnPluginConfig.exactWarningsMatch == false) {
4950
Pass(
50-
"$UNEXPECTED: $unexpectedWarnings",
51-
"$EXPECTED: ${expectedWarningsMatchedWithActual.size} warnings, $UNEXPECTED: ${unexpectedWarnings.size} warnings"
51+
"$UNEXPECTED $unexpectedWarnings",
52+
"$UNEXPECTED (${unexpectedWarnings.size}). $MATCHED (${expectedWarningsMatchedWithActual.size})"
5253
)
5354
} else {
54-
createFailFromSingleMiss(UNEXPECTED, unexpectedWarnings)
55+
Fail(
56+
"$UNEXPECTED $unexpectedWarnings",
57+
"$UNEXPECTED (${unexpectedWarnings.size}). $MATCHED (${expectedWarningsMatchedWithActual.size})"
58+
)
5559
}
5660
else -> Fail("N/A", "N/A")
5761
}
@@ -83,19 +87,21 @@ class ResultsChecker(
8387
matchedWarning != null
8488
}
8589

86-
private fun createFailFromSingleMiss(baseText: String, warnings: List<Warning>) =
87-
Fail("$baseText: $warnings", "$baseText (${warnings.size})")
88-
89-
private fun createFailFromDoubleMiss(missingWarnings: List<Warning>, unexpectedWarnings: List<Warning>) =
90-
Fail(
91-
"$EXPECTED_BUT_NOT_RECEIVED: $missingWarnings, and ${UNEXPECTED.lowercase()}: $unexpectedWarnings",
92-
"$EXPECTED_BUT_NOT_RECEIVED (${missingWarnings.size}), and ${UNEXPECTED.lowercase()} (${unexpectedWarnings.size})"
93-
)
90+
private fun createFailFromDoubleMiss(
91+
missingWarnings: List<Warning>,
92+
unexpectedWarnings: List<Warning>,
93+
matchedWarnings: List<Warning>
94+
) = Fail(
95+
"$MISSING $missingWarnings. $UNEXPECTED $unexpectedWarnings.",
96+
"$MISSING (${missingWarnings.size}). " +
97+
"$UNEXPECTED (${unexpectedWarnings.size}). " +
98+
"$MATCHED (${matchedWarnings.size})"
99+
)
94100

95101
companion object {
96-
private const val ALL_EXPECTED = "All warnings were expected"
97-
private const val EXPECTED = "Received expected warnings"
98-
private const val EXPECTED_BUT_NOT_RECEIVED = "Some warnings were expected but not received"
99-
private const val UNEXPECTED = "Some warnings were unexpected"
102+
private const val ALL_EXPECTED = "(ALL WARNINGS MATCHED):"
103+
private const val MATCHED = "(MATCHED WARNINGS):"
104+
private const val MISSING = "(MISSING WARNINGS):"
105+
private const val UNEXPECTED = "(UNEXPECTED WARNINGS):"
100106
}
101107
}

save-plugins/warn-plugin/src/commonNonJsTest/kotlin/org/cqfn/save/plugin/warn/utils/ComparisonTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class ComparisonTest {
5454

5555
assertTrue(results is Pass, "Actual type of status is ${results::class}")
5656
assertEquals(
57-
"Some warnings were unexpected: ${actualWarningsMap.values.single().dropLast(1)}",
57+
"(UNEXPECTED WARNINGS): ${actualWarningsMap.values.single().dropLast(1)}",
5858
results.message)
5959
}
6060
}

save-plugins/warn-plugin/src/commonTest/kotlin/org/cqfn/save/plugin/warn/WarnPluginTest.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ class WarnPluginTest {
200200
assertEquals(1, results.size)
201201
assertTrue(results.single().status is Pass)
202202
val nameWarn =
203-
"Some warnings were unexpected: [Warning(message=Variable name should be in lowerCamelCase, line=5, column=8, fileName=Test1Test.java)]"
203+
"(UNEXPECTED WARNINGS): [Warning(message=Variable name should be in lowerCamelCase, line=5, column=8, fileName=Test1Test.java)]"
204204
assertEquals(nameWarn, (results.single().status as Pass).message)
205205
}
206206
}

0 commit comments

Comments
 (0)