[Native][tests] Minor. Simplify verification of expectations in LocalTestRunner

This commit is contained in:
Dmitriy Dolovov
2021-11-17 01:03:02 +03:00
parent 0f77c078e8
commit d13b4bfb25
@@ -15,7 +15,7 @@ internal class LocalTestRunner(private val testRun: TestRun) : AbstractLocalProc
override val visibleProcessName get() = "Tested process" override val visibleProcessName get() = "Tested process"
override val executable get() = testRun.executable override val executable get() = testRun.executable
override val programArgs = buildList<String> { override val programArgs = buildList {
add(executable.executableFile.path) add(executable.executableFile.path)
testRun.runParameters.forEach { it.applyTo(this) } testRun.runParameters.forEach { it.applyTo(this) }
} }
@@ -74,29 +74,29 @@ internal class LocalTestRunner(private val testRun: TestRun) : AbstractLocalProc
} }
} }
verifyExpectation(true, testStatuses.isNotEmpty()) { "No tests have been executed." } verifyExpectation(testStatuses.isNotEmpty()) { "No tests have been executed." }
val passedTests = testStatuses[GTEST_STATUS_OK]?.size ?: 0 val passedTests = testStatuses[GTEST_STATUS_OK]?.size ?: 0
verifyExpectation(true, passedTests > 0) { "No passed tests." } verifyExpectation(passedTests > 0) { "No passed tests." }
testRun.runParameters.get<TestRunParameter.WithFilter> { testRun.runParameters.get<TestRunParameter.WithFilter> {
val excessiveTests = testStatuses.getValue(GTEST_STATUS_OK).filter { testName -> !testMatches(testName) } val excessiveTests = testStatuses.getValue(GTEST_STATUS_OK).filter { testName -> !testMatches(testName) }
verifyExpectation(true, excessiveTests.isEmpty()) { "Excessive tests have been executed: $excessiveTests." } verifyExpectation(excessiveTests.isEmpty()) { "Excessive tests have been executed: $excessiveTests." }
} }
val failedTests = (testStatuses - GTEST_STATUS_OK).values.sumOf { it.size } val failedTests = (testStatuses - GTEST_STATUS_OK).values.sumOf { it.size }
verifyExpectation(0, failedTests) { "There are failed tests." } verifyExpectation(0, failedTests) { "There are failed tests." }
testRun.runParameters.get<TestRunParameter.WithExpectedOutputData> { verifyOutputData(mergedOutput = cleanStdOut.toString() + stdErr)
val mergedOutput = cleanStdOut.toString() + stdErr
verifyExpectation(expectedOutputDataFile.readText(), mergedOutput) { "Tested process output mismatch." }
}
} }
private fun verifyPlainTest() { private fun verifyPlainTest() = verifyOutputData(mergedOutput = stdOut + stdErr)
private fun verifyOutputData(mergedOutput: String) {
testRun.runParameters.get<TestRunParameter.WithExpectedOutputData> { testRun.runParameters.get<TestRunParameter.WithExpectedOutputData> {
val mergedOutput = stdOut + stdErr verifyExpectation(expectedOutputDataFile.readText(), mergedOutput) {
verifyExpectation(expectedOutputDataFile.readText(), mergedOutput) { "Tested process output mismatch." } "Tested process output mismatch. See \"TEST STDOUT\" and \"EXPECTED OUTPUT DATA FILE\" below."
}
} }
} }
} }