summaryrefslogtreecommitdiff
path: root/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java')
-rw-r--r--plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java60
1 files changed, 22 insertions, 38 deletions
diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java
index aa430ca15de7..43ec755de8f4 100644
--- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java
+++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MavenCompilingTestCase.java
@@ -16,36 +16,33 @@
package org.jetbrains.idea.maven.compiler;
import com.intellij.compiler.CompilerTestUtil;
-import com.intellij.compiler.CompilerWorkspaceConfiguration;
import com.intellij.compiler.artifacts.ArtifactsTestUtil;
import com.intellij.compiler.impl.ModuleCompileScope;
-import com.intellij.openapi.compiler.CompileContext;
import com.intellij.openapi.compiler.CompileScope;
-import com.intellij.openapi.compiler.CompileStatusNotification;
-import com.intellij.openapi.compiler.CompilerManager;
+import com.intellij.openapi.compiler.CompilerMessage;
+import com.intellij.openapi.compiler.CompilerMessageCategory;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.packaging.artifacts.Artifact;
import com.intellij.packaging.impl.compiler.ArtifactCompileScope;
-import com.intellij.util.concurrency.Semaphore;
+import com.intellij.testFramework.CompilerTester;
import com.intellij.util.io.TestFileSystemBuilder;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.idea.maven.MavenImportingTestCase;
import org.jetbrains.idea.maven.project.MavenProjectsManager;
import org.jetbrains.idea.maven.project.MavenResourceCompilerConfigurationGenerator;
-import javax.swing.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
* @author nik
*/
public abstract class MavenCompilingTestCase extends MavenImportingTestCase {
-
protected void tearDown() throws Exception {
try {
CompilerTestUtil.disableExternalCompiler(myProject);
@@ -64,42 +61,29 @@ public abstract class MavenCompilingTestCase extends MavenImportingTestCase {
}
private void compile(final CompileScope scope) {
- UIUtil.invokeAndWaitIfNeeded(new Runnable() {
- @Override
- public void run() {
- for (Module module : scope.getAffectedModules()) {
- setupJdkForModule(module.getName());
+ try {
+ CompilerTester tester = new CompilerTester(myProject, Arrays.asList(scope.getAffectedModules()));
+ UIUtil.invokeAndWaitIfNeeded(new Runnable() {
+ @Override
+ public void run() {
+ new MavenResourceCompilerConfigurationGenerator(myProject, MavenProjectsManager.getInstance(myProject).getProjectsTreeForTests())
+ .generateBuildConfiguration(false);
}
- new MavenResourceCompilerConfigurationGenerator(myProject, MavenProjectsManager.getInstance(myProject).getProjectsTreeForTests()).generateBuildConfiguration(false);
- }
- });
-
- CompilerWorkspaceConfiguration.getInstance(myProject).CLEAR_OUTPUT_DIRECTORY = true;
-
- final Semaphore semaphore = new Semaphore();
- semaphore.down();
- UIUtil.invokeAndWaitIfNeeded(new Runnable() {
- @Override
- public void run() {
- CompilerTestUtil.enableExternalCompiler();
- CompilerManager.getInstance(myProject).make(scope, new CompileStatusNotification() {
- @Override
- public void finished(boolean aborted, int errors, int warnings, CompileContext compileContext) {
- //assertFalse(aborted);
- //assertEquals(collectMessages(compileContext, CompilerMessageCategory.ERROR), 0, errors);
- //assertEquals(collectMessages(compileContext, CompilerMessageCategory.WARNING), 0, warnings);
- semaphore.up();
+ });
+ try {
+ List<CompilerMessage> messages = tester.make(scope);
+ for (CompilerMessage message : messages) {
+ if (message.getCategory() == CompilerMessageCategory.ERROR) {
+ fail("Compilation failed with error: " + message.getMessage());
}
- });
+ }
}
- });
- while (!semaphore.waitFor(100)) {
- if (SwingUtilities.isEventDispatchThread()) {
- UIUtil.dispatchAllInvocationEvents();
+ finally {
+ tester.tearDown();
}
}
- if (SwingUtilities.isEventDispatchThread()) {
- UIUtil.dispatchAllInvocationEvents();
+ catch (Exception e) {
+ throw new RuntimeException(e);
}
}