summaryrefslogtreecommitdiff
path: root/java/testFramework/src/com/intellij/testFramework/CompilerTester.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/testFramework/src/com/intellij/testFramework/CompilerTester.java')
-rw-r--r--java/testFramework/src/com/intellij/testFramework/CompilerTester.java42
1 files changed, 30 insertions, 12 deletions
diff --git a/java/testFramework/src/com/intellij/testFramework/CompilerTester.java b/java/testFramework/src/com/intellij/testFramework/CompilerTester.java
index a3c05c6ec3fd..27f36509f60e 100644
--- a/java/testFramework/src/com/intellij/testFramework/CompilerTester.java
+++ b/java/testFramework/src/com/intellij/testFramework/CompilerTester.java
@@ -46,18 +46,24 @@ import javax.swing.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
* @author peter
*/
public class CompilerTester {
-
- private Module myModule;
+ private Project myProject;
+ private List<Module> myModules;
private TempDirTestFixture myMainOutput;
public CompilerTester(Module module) throws Exception {
- myModule = module;
+ this(module.getProject(), Collections.singletonList(module));
+ }
+
+ public CompilerTester(Project project, List<Module> modules) throws Exception {
+ myProject = project;
+ myModules = modules;
myMainOutput = new TempDirTestFixtureImpl();
myMainOutput.setUp();
@@ -67,10 +73,11 @@ public class CompilerTester {
//noinspection ConstantConditions
CompilerProjectExtension.getInstance(getProject()).setCompilerOutputUrl(myMainOutput.findOrCreateDir("out").getUrl());
CompilerTestUtil.enableExternalCompiler();
- ModuleRootModificationUtil.setModuleSdk(myModule, JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk());
+ for (Module module : myModules) {
+ ModuleRootModificationUtil.setModuleSdk(module, JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk());
+ }
}
}.execute();
-
}
public void tearDown() {
@@ -84,12 +91,12 @@ public class CompilerTester {
}
finally {
myMainOutput = null;
- myModule = null;
+ myModules = null;
}
}
private Project getProject() {
- return myModule.getProject();
+ return myProject;
}
public void deleteClassFile(final String className) throws IOException {
@@ -173,6 +180,15 @@ public class CompilerTester {
});
}
+ public List<CompilerMessage> make(final CompileScope scope) {
+ return runCompiler(new Consumer<ErrorReportingCallback>() {
+ @Override
+ public void consume(ErrorReportingCallback callback) {
+ CompilerManager.getInstance(getProject()).make(scope, callback);
+ }
+ });
+ }
+
public List<CompilerMessage> compileFiles(final VirtualFile... files) {
return runCompiler(new Consumer<ErrorReportingCallback>() {
@Override
@@ -192,11 +208,13 @@ public class CompilerTester {
try {
getProject().save();
CompilerTestUtil.saveApplicationSettings();
- final VirtualFile moduleFile = myModule.getModuleFile();
- File ioFile = VfsUtil.virtualToIoFile(moduleFile);
- if (!ioFile.exists()) {
- getProject().save();
- assert ioFile.exists() : "File does not exist: " + ioFile.getPath();
+ for (Module module : myModules) {
+ final VirtualFile moduleFile = module.getModuleFile();
+ File ioFile = VfsUtil.virtualToIoFile(moduleFile);
+ if (!ioFile.exists()) {
+ getProject().save();
+ assert ioFile.exists() : "File does not exist: " + ioFile.getPath();
+ }
}
runnable.consume(callback);
}