mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
tests fixed: allow access via VFS to required files
This commit is contained in:
@@ -27,6 +27,7 @@ import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -98,15 +99,21 @@ public class CompilerTestUtil {
|
||||
new WriteAction() {
|
||||
@Override
|
||||
protected void run(@NotNull final Result result) throws IOException {
|
||||
VirtualFile virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file);
|
||||
Assert.assertNotNull(file.getAbsolutePath(), virtualFile);
|
||||
//emulate save via 'saveSettings' so file won't be treated as changed externally
|
||||
OutputStream stream = virtualFile.getOutputStream(new SaveSessionRequestor());
|
||||
VfsRootAccess.allowRootAccess(file.getAbsolutePath());
|
||||
try {
|
||||
JDOMUtil.writeParent(root, stream, SystemProperties.getLineSeparator());
|
||||
VirtualFile virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file);
|
||||
Assert.assertNotNull(file.getAbsolutePath(), virtualFile);
|
||||
//emulate save via 'saveSettings' so file won't be treated as changed externally
|
||||
OutputStream stream = virtualFile.getOutputStream(new SaveSessionRequestor());
|
||||
try {
|
||||
JDOMUtil.writeParent(root, stream, SystemProperties.getLineSeparator());
|
||||
}
|
||||
finally {
|
||||
stream.close();
|
||||
}
|
||||
}
|
||||
finally {
|
||||
stream.close();
|
||||
VfsRootAccess.disallowRootAccess(file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
}.execute().throwException();
|
||||
|
||||
@@ -15,10 +15,9 @@
|
||||
*/
|
||||
|
||||
package org.jetbrains.plugins.groovy.compiler
|
||||
|
||||
import com.intellij.compiler.CompilerConfiguration
|
||||
import com.intellij.compiler.CompilerConfigurationImpl
|
||||
import com.intellij.compiler.CompilerWorkspaceConfiguration
|
||||
import com.intellij.compiler.server.BuildManager
|
||||
import com.intellij.execution.executors.DefaultRunExecutor
|
||||
import com.intellij.execution.impl.DefaultJavaProgramRunner
|
||||
import com.intellij.execution.process.ProcessAdapter
|
||||
@@ -32,7 +31,6 @@ import com.intellij.openapi.application.PluginPathManager
|
||||
import com.intellij.openapi.compiler.CompilerMessage
|
||||
import com.intellij.openapi.compiler.CompilerMessageCategory
|
||||
import com.intellij.openapi.compiler.options.ExcludeEntryDescription
|
||||
import com.intellij.openapi.compiler.options.ExcludedEntriesConfiguration
|
||||
import com.intellij.openapi.compiler.options.ExcludesConfiguration
|
||||
import com.intellij.openapi.module.Module
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil
|
||||
@@ -40,12 +38,12 @@ import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.util.Ref
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.testFramework.PsiTestUtil
|
||||
import com.intellij.testFramework.TestLoggerFactory
|
||||
import org.jetbrains.annotations.NotNull
|
||||
import org.jetbrains.plugins.groovy.lang.psi.GroovyFile
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
*/
|
||||
@@ -695,7 +693,14 @@ public class Main {
|
||||
|
||||
setFileText(foo, 'class Foo implements Runnabl {}')
|
||||
|
||||
shouldFail { make() }
|
||||
def compilerTempRoot = BuildManager.instance.getProjectSystemDirectory(project).absolutePath
|
||||
try {
|
||||
VfsRootAccess.allowRootAccess(compilerTempRoot) //because compilation error points to file under 'groovyStubs' directory
|
||||
shouldFail { make() }
|
||||
}
|
||||
finally {
|
||||
VfsRootAccess.disallowRootAccess(compilerTempRoot)
|
||||
}
|
||||
|
||||
setFileText(foo, 'class Foo {}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user