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