From b749c5ee35428c80827834daadaa7cb87a9ceeb6 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 25 Nov 2014 18:30:17 +0100 Subject: [PATCH] wrap vfile writes in tests into write action --- .../maven/compiler/ResourceFilteringTest.java | 19 +++- ...avenModuleCompletionAndResolutionTest.java | 2 +- .../importing/EncodingImportingTest.groovy | 11 +-- .../InvalidProjectImportingTest.java | 11 ++- .../maven/project/MavenProjectReaderTest.java | 92 +++++++++---------- .../project/MavenProjectsTreeTestCase.java | 16 +++- 6 files changed, 90 insertions(+), 61 deletions(-) diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ResourceFilteringTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ResourceFilteringTest.java index 5eebdb21d640..d3689cfd0db2 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ResourceFilteringTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/ResourceFilteringTest.java @@ -15,11 +15,14 @@ */ package org.jetbrains.idea.maven.compiler; +import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.fileTypes.FileTypes; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiDocumentManager; +import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.model.MavenExplicitProfiles; import java.util.Arrays; @@ -520,7 +523,7 @@ public class ResourceFilteringTest extends MavenCompilingTestCase { } public void testUpdatingWhenPropertiesInFiltersAreChanged() throws Exception { - VirtualFile filter = createProjectSubFile("filters/filter.properties", "xxx=1"); + final VirtualFile filter = createProjectSubFile("filters/filter.properties", "xxx=1"); createProjectSubFile("resources/file.properties", "value=${xxx}"); importProject("test" + @@ -541,7 +544,12 @@ public class ResourceFilteringTest extends MavenCompilingTestCase { compileModules("project"); assertResult("target/classes/file.properties", "value=1"); - VfsUtil.saveText(filter, "xxx=2"); + new WriteAction() { + @Override + protected void run(@NotNull Result result) throws Throwable { + VfsUtil.saveText(filter, "xxx=2"); + } + }.execute().throwException(); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); compileModules("project"); assertResult("target/classes/file.properties", "value=2"); @@ -1010,7 +1018,12 @@ public class ResourceFilteringTest extends MavenCompilingTestCase { public void testDoNotFilterButCopyBigFiles() throws Exception { assertEquals(FileTypeManager.getInstance().getFileTypeByFileName("file.xyz"), FileTypes.UNKNOWN); - createProjectSubFile("resources/file.xyz").setBinaryContent(new byte[1024 * 1024 * 20]); + new WriteAction() { + @Override + protected void run(@NotNull Result result) throws Throwable { + createProjectSubFile("resources/file.xyz").setBinaryContent(new byte[1024 * 1024 * 20]); + } + }.execute().throwException(); importProject("test" + "project" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenModuleCompletionAndResolutionTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenModuleCompletionAndResolutionTest.java index 09fa85a96620..3a863c3fdce4 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenModuleCompletionAndResolutionTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/dom/MavenModuleCompletionAndResolutionTest.java @@ -521,7 +521,7 @@ public class MavenModuleCompletionAndResolutionTest extends MavenDomWithIndicesT importProject(parentPom); - VfsUtil.saveText(parentPom, createPomXml( + myFixture.saveText(parentPom, createPomXml( "test" + "project" + "1" + diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/EncodingImportingTest.groovy b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/EncodingImportingTest.groovy index 8a296154799d..364dc787e90a 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/EncodingImportingTest.groovy +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/EncodingImportingTest.groovy @@ -14,11 +14,10 @@ * limitations under the License. */ package org.jetbrains.idea.maven.importing - -import org.jetbrains.idea.maven.MavenImportingTestCase -import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.vfs.VfsUtil - +import com.intellij.openapi.vfs.VirtualFile +import org.jetbrains.idea.maven.MavenImportingTestCase /** * @author Sergey Evdokimov */ @@ -28,7 +27,7 @@ class EncodingImportingTest extends MavenImportingTestCase { byte[] text = [-12, -59, -53, -45, -44] // Russian text in koi8-r encoding. VirtualFile file = createProjectSubFile("src/main/resources/A.txt") - file.setBinaryContent(text) + ApplicationManager.application.runWriteAction { file.setBinaryContent(text) } importProject(""" test @@ -49,7 +48,7 @@ class EncodingImportingTest extends MavenImportingTestCase { byte[] text = [-12, -59, -53, 45, -44] // Russian text in koi8-r encoding. VirtualFile file = createProjectSubFile("src/main/resources/A.txt") - file.setBinaryContent(text) + ApplicationManager.application.runWriteAction { file.setBinaryContent(text) } importProject(""" test diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/InvalidProjectImportingTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/InvalidProjectImportingTest.java index 6abd27740e91..4a7a303783a3 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/InvalidProjectImportingTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/InvalidProjectImportingTest.java @@ -15,6 +15,9 @@ */ package org.jetbrains.idea.maven.importing; +import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.WriteAction; +import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.MavenCustomRepositoryHelper; import org.jetbrains.idea.maven.MavenImportingTestCase; import org.jetbrains.idea.maven.model.MavenProjectProblem; @@ -34,7 +37,13 @@ public class InvalidProjectImportingTest extends MavenImportingTestCase { public void testUnknownProblemWithEmptyFile() throws Exception { createProjectPom(""); - myProjectPom.setBinaryContent(new byte[0]); + new WriteAction() { + @Override + protected void run(@NotNull Result result) throws Throwable { + myProjectPom.setBinaryContent(new byte[0]); + } + }.execute().throwException(); + importProject(); assertModules("project"); diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectReaderTest.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectReaderTest.java index 7bb904d6965d..e943e2fb217a 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectReaderTest.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectReaderTest.java @@ -244,13 +244,13 @@ public class MavenProjectReaderTest extends MavenTestCase { protected void run(Result result) throws Throwable { VirtualFile res = myProjectRoot.createChildData(this, "pom.xml"); result.setResult(res); + VfsUtil.saveText(res, "" + + " test" + + " project" + + " 1" + + ""); } }.execute().getResultObject(); - VfsUtil.saveText(file, "" + - " test" + - " project" + - " 1" + - ""); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); MavenModel p = readProject(file); @@ -309,49 +309,49 @@ public class MavenProjectReaderTest extends MavenTestCase { protected void run(Result result) throws Throwable { VirtualFile res = myProjectRoot.createChildData(this, "pom.xml"); result.setResult(res); + VfsUtil.saveText(res, "" + + " 1.2.3" + + " test" + + " project" + + " 1" + + " foo" + + " pom" + + + " " + + " testParent" + + " projectParent" + + " 2" + + " ../parent/pom.xml" + + " " + + + " " + + " xxx" + + " someGoal" + + " mySrc" + + " myTestSrc" + + " myScriptSrc" + + " " + + " " + + " myRes" + + " true" + + " dir" + + " **.properties" + + " **.xml" + + " " + + " " + + " " + + " " + + " myTestRes" + + " **.properties" + + " " + + " " + + " myOutput" + + " myClasses" + + " myTestClasses" + + " " + + ""); } }.execute().getResultObject(); - VfsUtil.saveText(file, "" + - " 1.2.3" + - " test" + - " project" + - " 1" + - " foo" + - " pom" + - - " " + - " testParent" + - " projectParent" + - " 2" + - " ../parent/pom.xml" + - " " + - - " " + - " xxx" + - " someGoal" + - " mySrc" + - " myTestSrc" + - " myScriptSrc" + - " " + - " " + - " myRes" + - " true" + - " dir" + - " **.properties" + - " **.xml" + - " " + - " " + - " " + - " " + - " myTestRes" + - " **.properties" + - " " + - " " + - " myOutput" + - " myClasses" + - " myTestClasses" + - " " + - ""); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); MavenModel p = readProject(file); diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectsTreeTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectsTreeTestCase.java index 8d73c5f53bb1..7f4debf12394 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectsTreeTestCase.java +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/project/MavenProjectsTreeTestCase.java @@ -15,7 +15,10 @@ */ package org.jetbrains.idea.maven.project; +import com.intellij.openapi.application.Result; +import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.maven.MavenImportingTestCase; import org.jetbrains.idea.maven.model.MavenExplicitProfiles; import org.jetbrains.idea.maven.utils.MavenProcessCanceledException; @@ -46,9 +49,14 @@ public abstract class MavenProjectsTreeTestCase extends MavenImportingTestCase { myTree.delete(asList(file), getMavenGeneralSettings(), EMPTY_MAVEN_PROCESS); } - protected void updateTimestamps(VirtualFile... files) throws IOException { - for (VirtualFile each : files) { - each.setBinaryContent(each.contentsToByteArray()); - } + protected void updateTimestamps(final VirtualFile... files) throws IOException { + new WriteAction() { + @Override + protected void run(@NotNull Result result) throws Throwable { + for (VirtualFile each : files) { + each.setBinaryContent(each.contentsToByteArray()); + } + } + }.execute().throwException(); } }