Skip to content

Commit

Permalink
Merged branch idea243.release into idea243.x
Browse files Browse the repository at this point in the history
  • Loading branch information
builduser committed Jan 22, 2025
2 parents 91e6e15 + a88a595 commit 9929d84
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,7 @@ final class SbtProjectStructureImportingTest extends SbtProjectStructureImportin
new module("sbt-declarative-packaging", sbtIdeaPluginGroup),
new module("sbt-declarative-visualizer", sbtIdeaPluginGroup),
new module("sbtIdeaPlugin-build", sbtIdeaPluginGroup),
new module("test-utils", sbtIdeaPluginGroup),
sbtIdeaShell,
new module("sbt-idea-shell-build", sbtIdeaShellGroup),
sbtIdeSettings,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,8 @@ final class SbtProjectStructureImportingTest_ProdTestSourcesSeparatedEnabled ext
createModuleWithSourceSet("sbt-idea-plugin", sbtIdeaPluginGroup) ++
createModuleWithSourceSet("sbt-declarative-core", sbtIdeaPluginGroup) ++
createModuleWithSourceSet("sbt-declarative-packaging", sbtIdeaPluginGroup) ++
createModuleWithSourceSet("sbt-declarative-visualizer", sbtIdeaPluginGroup)
createModuleWithSourceSet("sbt-declarative-visualizer", sbtIdeaPluginGroup) ++
createModuleWithSourceSet("test-utils", sbtIdeaPluginGroup)
}
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ex.ProjectRootManagerEx
import com.intellij.testFramework.HeavyPlatformTestCase
import org.jetbrains.plugins.scala.project.external.{ShownNotification, ShownNotificationsKey}
import org.jetbrains.plugins.scala.util.TestUtils
import org.jetbrains.plugins.scala.util.assertions.CollectionsAssertions.assertCollectionEquals

import scala.annotation.nowarn
Expand All @@ -19,6 +20,11 @@ import scala.annotation.nowarn
*/
abstract class ProjectDataServiceTestCase extends HeavyPlatformTestCase {

override def setUp() = {
super.setUp()
TestUtils.suppressSemanticSearchLeakedThreads()
}

protected def importProjectData(projectData: DataNode[ProjectData]): Unit =
ProjectDataServiceTestCase.importProjectData(projectData, getProject)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import com.intellij.openapi.vfs._
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework._
import com.intellij.testFramework.common.ThreadLeakTracker
import org.jetbrains.plugins.scala.util.TestUtils

import java.nio.file.Path
//noinspection ApiStatus
Expand Down Expand Up @@ -76,6 +77,8 @@ abstract class ScalaCompilerTestBase extends JavaModuleTestCase with ScalaSdkOwn

override protected def setUp(): Unit = {
super.setUp()
TestUtils.suppressSemanticSearchLeakedThreads()

if (reuseCompileServerProcessBetweenTests) {
//noinspection ApiStatus,UnstableApiUsage
ThreadLeakTracker.longRunningThreadCreated(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.jetbrains.plugins.scala.compiler
import com.intellij.debugger.impl.OutputChecker
import com.intellij.execution.ExecutionTestCase
import com.intellij.execution.configurations.JavaParameters
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.projectRoots.Sdk
import com.intellij.openapi.vfs.LocalFileSystem
Expand Down Expand Up @@ -96,6 +97,7 @@ trait ScalaExecutionTestCase extends ExecutionTestCase with ScalaSdkOwner {
}

super.setUp()
TestUtils.suppressSemanticSearchLeakedThreads()

LocalFileSystem.getInstance().refreshIoFiles(srcPath.toFile.listFiles().toList.asJava)
compileProject()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import org.jetbrains.plugins.scala.base.libraryLoaders.SmartJDKLoader
import org.jetbrains.plugins.scala.compiler.CompileServerLauncher
import org.jetbrains.plugins.scala.extensions.inWriteAction
import org.jetbrains.plugins.scala.settings.ScalaCompileServerSettings
import org.jetbrains.plugins.scala.util.TestUtils
import org.jetbrains.plugins.scala.util.runners.TestJdkVersion
import org.jetbrains.sbt.Sbt
import org.jetbrains.sbt.project.settings.SbtProjectSettings
Expand Down Expand Up @@ -44,6 +45,7 @@ abstract class ZincTestBase(separateProdAndTestSources: Boolean = false) extends

override def setUp(): Unit = {
super.setUp()
TestUtils.suppressSemanticSearchLeakedThreads()

sdk = {
val jdkVersion =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import org.jetbrains.plugins.scala.base.{HelperFixtureEditorOps, ScalaSdkOwner}
import org.jetbrains.plugins.scala.extensions.{StringExt, invokeAndWait}
import org.jetbrains.plugins.scala.lang.completion3.base.ScalaCompletionTestBase.DefaultInvocationCount
import org.jetbrains.plugins.scala.project.ProjectExt
import org.jetbrains.plugins.scala.util.TestUtils
import org.jetbrains.plugins.scala.util.runners.{MultipleScalaVersionsRunner, RunWithScalaVersions, TestScalaVersion}
import org.junit.experimental.categories.Category
import org.junit.runner.RunWith
Expand Down Expand Up @@ -44,6 +45,7 @@ final class ScalaMultiModuleDependenciesCompletionTest

override protected def setUp(): Unit = {
super[JavaCodeInsightFixtureTestCase].setUp()
TestUtils.suppressSemanticSearchLeakedThreads()

val zio1Module = addModule(ZIO1_MODULE_NAME)
val zio2Module = addModule(ZIO2_MODULE_NAME)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package org.jetbrains.plugins.scala.util

import com.intellij.openapi.application.{ApplicationManager, PathManagerEx}
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.project.{Project, ProjectUtil}
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.{PsiComment, PsiFile, PsiManager}
import com.intellij.testFramework.common.ThreadLeakTracker
import org.jetbrains.annotations.NotNull
import org.jetbrains.plugins.scala.lang.lexer.ScalaTokenTypes
import org.junit.Assert
Expand Down Expand Up @@ -200,4 +202,24 @@ object TestUtils {
assertNotNull(s"Can't psi file for $vFile", psiFile)
}
}

/**
* Suppresses leaked threads by the semantic search embeddings server.
* We currently get these test failures in 243 only. This code is not ported to 251.
*/
def suppressSemanticSearchLeakedThreads(): Unit = {
val testSystemDir = PathManagerEx.getAppSystemDir
val semanticSearchPathPrefix = testSystemDir.toRealPath().toString

val threadNames = Seq(
semanticSearchPathPrefix,
"BaseDataReader: error stream of embeddings-server",
"BaseDataReader: output stream of embeddings-server",
"embeddings-server",
"grpc-nio-worker-",
"semantic-search"
)
//noinspection ApiStatus,UnstableApiUsage
ThreadLeakTracker.longRunningThreadCreated(ApplicationManager.getApplication, threadNames: _*)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import com.intellij.platform.externalSystem.testFramework.ExternalSystemImportin
import com.intellij.pom.java.LanguageLevel
import org.jetbrains.plugins.scala.base.libraryLoaders.SmartJDKLoader
import org.jetbrains.plugins.scala.extensions.inWriteAction
import org.jetbrains.plugins.scala.util.TestUtils
import org.junit.Assert.assertNotNull

import java.io.File
Expand All @@ -23,6 +24,7 @@ abstract class ScalaExternalSystemImportingTestBase extends ExternalSystemImport

override def setUp(): Unit = {
super.setUp()
TestUtils.suppressSemanticSearchLeakedThreads()
setupProjectJdk()
}

Expand Down

0 comments on commit 9929d84

Please sign in to comment.