Fix to address platform expectation for project path

Project path has to be absolute
This commit is contained in:
Vladimir Dolzhenko
2020-12-03 12:35:31 +01:00
parent 68f8e88d8b
commit 984b3c2f30
2 changed files with 16 additions and 13 deletions
@@ -166,9 +166,9 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
openAction: ProjectOpenAction, openAction: ProjectOpenAction,
fast: Boolean = false fast: Boolean = false
): Project { ): Project {
val projectPath = File(path).canonicalPath val projectPath = File(path).absolutePath
assertTrue("path $path does not exist, check README.md", File(projectPath).exists()) assertTrue("path $projectPath does not exist, check README.md", File(projectPath).exists())
val warmUpIterations = if (fast) 0 else 5 val warmUpIterations = if (fast) 0 else 5
val iterations = if (fast) 1 else 5 val iterations = if (fast) 1 else 5
@@ -177,7 +177,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
var counter = 0 var counter = 0
val openProject = OpenProject( val openProject = OpenProject(
projectPath = path, projectPath = projectPath,
projectName = name, projectName = name,
jdk = jdk18, jdk = jdk18,
projectOpenAction = openAction projectOpenAction = openAction
@@ -230,7 +230,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
myApplication.setDataProvider(TestDataProvider(project)) myApplication.setDataProvider(TestDataProvider(project))
} }
return lastProject ?: error("unable to open project $name at $path") return lastProject ?: error("unable to open project $name at $projectPath")
} }
fun perfTypeAndAutocomplete( fun perfTypeAndAutocomplete(
@@ -38,10 +38,11 @@ data class OpenProject(val projectPath: String, val projectName: String, val jdk
enum class ProjectOpenAction { enum class ProjectOpenAction {
SIMPLE_JAVA_MODULE { SIMPLE_JAVA_MODULE {
override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project { override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project {
val project = ProjectManagerEx.getInstanceEx().loadAndOpenProject(projectPath)!! val path = File(projectPath).absolutePath
val project = ProjectManagerEx.getInstanceEx().loadAndOpenProject(path)!!
val modulePath = "$projectPath/$name${ModuleFileType.DOT_DEFAULT_EXTENSION}" val modulePath = "$path/$name${ModuleFileType.DOT_DEFAULT_EXTENSION}"
val projectFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(File(projectPath))!! val projectFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(File(path))!!
val srcFile = projectFile.findChild("src")!! val srcFile = projectFile.findChild("src")!!
val module = runWriteAction { val module = runWriteAction {
@@ -61,16 +62,17 @@ enum class ProjectOpenAction {
EXISTING_IDEA_PROJECT { EXISTING_IDEA_PROJECT {
override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project { override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project {
val path = File(projectPath).absolutePath
val projectManagerEx = ProjectManagerEx.getInstanceEx() val projectManagerEx = ProjectManagerEx.getInstanceEx()
val project = loadProjectWithName(projectPath, projectName) val project = loadProjectWithName(path, projectName)
?: error("project $projectName at $projectPath is not loaded") ?: error("project $projectName at $path is not loaded")
runWriteAction { runWriteAction {
ProjectRootManager.getInstance(project).projectSdk = jdk ProjectRootManager.getInstance(project).projectSdk = jdk
} }
assertTrue(projectManagerEx.openProject(project), "project $projectName at $projectPath is not opened") assertTrue(projectManagerEx.openProject(project), "project $projectName at $path is not opened")
return project return project
} }
@@ -78,17 +80,18 @@ enum class ProjectOpenAction {
GRADLE_PROJECT { GRADLE_PROJECT {
override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project { override fun openProject(projectPath: String, projectName: String, jdk: Sdk): Project {
val project = ProjectManagerEx.getInstanceEx().loadAndOpenProject(projectPath)!! val path = File(projectPath).absolutePath
val project = ProjectManagerEx.getInstanceEx().loadAndOpenProject(path)!!
assertTrue( assertTrue(
!project.isDisposed, !project.isDisposed,
"Gradle project $projectName at $projectPath is accidentally disposed immediately after import" "Gradle project $projectName at $path is accidentally disposed immediately after import"
) )
runWriteAction { runWriteAction {
ProjectRootManager.getInstance(project).projectSdk = jdk ProjectRootManager.getInstance(project).projectSdk = jdk
} }
refreshGradleProject(projectPath, project) refreshGradleProject(path, project)
return project return project
} }