mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-26 20:20:14 +08:00
[console] Create PluginOnDisableCalledOnlyOnceTest test; Fix tests
This commit is contained in:
parent
6b1aa9c80b
commit
62ae2ac03c
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
|
||||
package net.mamoe.console.integrationtest.testpoints.plugin
|
||||
|
||||
import kotlinx.atomicfu.atomic
|
||||
import net.mamoe.console.integrationtest.AbstractTestPointAsPlugin
|
||||
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
|
||||
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
|
||||
|
||||
internal object PluginOnDisableCalledOnlyOnceTest : AbstractTestPointAsPlugin() {
|
||||
override fun newPluginDescription(): JvmPluginDescription {
|
||||
return JvmPluginDescription(
|
||||
id = "net.mamoe.testpoint.plugin-on-disable-called-only-once",
|
||||
version = "1.0.0",
|
||||
name = "PluginOnDisableCalledOnlyOnce",
|
||||
) {}
|
||||
}
|
||||
|
||||
private val onDisableCalled = atomic(false)
|
||||
|
||||
override fun KotlinPlugin.onDisable0() {
|
||||
if (!onDisableCalled.compareAndSet(expect = false, update = true)) {
|
||||
error("onDisable called multiple times!!")
|
||||
}
|
||||
}
|
||||
}
|
@ -21,11 +21,17 @@ import net.mamoe.mirai.console.testFramework.AbstractConsoleInstanceTest
|
||||
import kotlin.test.Test
|
||||
|
||||
class PluginMovingTests : AbstractConsoleInstanceTest() {
|
||||
private val mockPluginWithName = object : KotlinPlugin(JvmPluginDescription("org.test1.test1", "1.0.0", "test1")) {}
|
||||
private val mockPluginWithName2 =
|
||||
private val mockPluginWithName by lazy {
|
||||
object : KotlinPlugin(JvmPluginDescription("org.test1.test1", "1.0.0", "test1")) {}
|
||||
}
|
||||
|
||||
private val mockPluginWithName2 by lazy {
|
||||
object : KotlinPlugin(JvmPluginDescription("org.test2.test2", "1.0.0", "test2")) {}
|
||||
private val mockPluginWithName3 =
|
||||
}
|
||||
|
||||
private val mockPluginWithName3 by lazy {
|
||||
object : KotlinPlugin(JvmPluginDescription("org.test2.test3", "1.0.0", "test3")) {}
|
||||
}
|
||||
|
||||
private fun mkdir(abstractPath: String) = PluginManager.pluginsDataPath.resolve(abstractPath).mkdir()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user