From 500ad3cc9ecb5ac38da41765a7c737c3b6226dbd Mon Sep 17 00:00:00 2001 From: Karlatemp <kar@kasukusakura.com> Date: Thu, 1 Sep 2022 09:27:52 +0800 Subject: [PATCH] Fix console integration test --- .../backend/integration-test/build.gradle.kts | 1 + .../MiraiConsoleIntegrationTestBootstrap.kt | 2 +- .../terminal/TestTerminalLogging.kt | 87 ------------------- 3 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 mirai-console/backend/integration-test/test/testpoints/terminal/TestTerminalLogging.kt diff --git a/mirai-console/backend/integration-test/build.gradle.kts b/mirai-console/backend/integration-test/build.gradle.kts index 78b9d0f2b..19c90b751 100644 --- a/mirai-console/backend/integration-test/build.gradle.kts +++ b/mirai-console/backend/integration-test/build.gradle.kts @@ -30,6 +30,7 @@ dependencies { testRuntimeOnly(project(":mirai-core")) api(project(":mirai-console-compiler-annotations")) api(project(":mirai-console")) + api(project(":mirai-console-frontend-base")) api(project(":mirai-console-terminal")) api(`kotlin-stdlib-jdk8`) diff --git a/mirai-console/backend/integration-test/test/MiraiConsoleIntegrationTestBootstrap.kt b/mirai-console/backend/integration-test/test/MiraiConsoleIntegrationTestBootstrap.kt index cbbce61b4..042b89e66 100644 --- a/mirai-console/backend/integration-test/test/MiraiConsoleIntegrationTestBootstrap.kt +++ b/mirai-console/backend/integration-test/test/MiraiConsoleIntegrationTestBootstrap.kt @@ -41,7 +41,7 @@ class MiraiConsoleIntegrationTestBootstrap { // Avoid error in resolving points assertTrue { points.contains("net.mamoe.console.integrationtest.testpoints.MCITBSelfAssertions") } assertTrue { points.contains("net.mamoe.console.integrationtest.testpoints.DoNothingPoint") } - assertTrue { points.contains("net.mamoe.console.integrationtest.testpoints.terminal.TestTerminalLogging") } + assertTrue { points.contains("net.mamoe.console.integrationtest.testpoints.plugin.PluginDataRenameToIdTest") } }.asSequence().map { v -> when (v) { is Class<*> -> v.name diff --git a/mirai-console/backend/integration-test/test/testpoints/terminal/TestTerminalLogging.kt b/mirai-console/backend/integration-test/test/testpoints/terminal/TestTerminalLogging.kt deleted file mode 100644 index 9ea3707bc..000000000 --- a/mirai-console/backend/integration-test/test/testpoints/terminal/TestTerminalLogging.kt +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2019-2022 Mamoe Technologies and contributors. - * - * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. - * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. - * - * https://github.com/mamoe/mirai/blob/dev/LICENSE - */ - -@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") - -package net.mamoe.console.integrationtest.testpoints.terminal - -import net.mamoe.console.integrationtest.AbstractTestPoint -import net.mamoe.mirai.console.MiraiConsole -import net.mamoe.mirai.console.MiraiConsoleImplementation -import net.mamoe.mirai.console.terminal.LoggingServiceI -import net.mamoe.mirai.console.terminal.MiraiConsoleImplementationTerminal -import net.mamoe.mirai.utils.cast -import net.mamoe.mirai.utils.info -import java.io.File -import java.util.* -import kotlin.math.min -import kotlin.test.assertTrue -import kotlin.test.fail - -internal object TestTerminalLogging : AbstractTestPoint() { - override fun beforeConsoleStartup() { - System.setProperty("mirai.console.terminal.log.buffer", "10") - } - - override fun onConsoleStartSuccessfully() { - val logService = MiraiConsoleImplementation.getInstance() - .origin - .cast<MiraiConsoleImplementationTerminal>() - .logService.cast<LoggingServiceI>() - - logService.autoSplitTask.cancel(true) - File("logs/log-0.log").delete() - - val stub = "Terminal Test: STUB" + UUID.randomUUID() - MiraiConsole.mainLogger.info { stub } - Thread.sleep(200L) - - assertTrue { File("logs/latest.log").isFile } - assertTrue { File("logs/latest.log").readText().contains(stub) } - - logService.switchLogFileNow.invoke() - - assertTrue { File("logs/latest.log").isFile } - assertTrue { !File("logs/latest.log").readText().contains(stub) } - assertTrue { File("logs/log-0.log").isFile } - assertTrue { File("logs/log-0.log").readText().contains(stub) } - - MiraiConsole.mainLogger.info("Pipeline size: " + logService.pipelineSize) - - val logs = mutableListOf<String>() - logs.add("1================================================================") - repeat(100) { logs.add("TEST LINE $it -") } - logs.add("2================================================================") - - logs.forEach { MiraiConsole.mainLogger.info(it) } - - Thread.sleep(200L) - - val lns = File("logs/latest.log").readLines().mapNotNull { line -> - logs.forEach { lx -> - if (line.contains(lx)) { - return@mapNotNull lx - } - } - return@mapNotNull null - } - - logService.switchLogFileNow.invoke() - // lns.forEach { println(it) } - var matched = 0 - for (i in 0 until min(lns.size, logs.size)) { - if (lns[i] == logs[i]) matched++ - } - println("Matched line: $matched, logs: ${logs.size}") - if (matched < (logs.size * 80 / 100)) { - lns.forEach { System.err.println(it) } - fail() - } - } -} \ No newline at end of file