diff options
Diffstat (limited to 'plugins/testng')
6 files changed, 47 insertions, 41 deletions
diff --git a/plugins/testng/src/META-INF/plugin.xml b/plugins/testng/src/META-INF/plugin.xml index 5fe0fb55b60f..711ace8ad744 100644 --- a/plugins/testng/src/META-INF/plugin.xml +++ b/plugins/testng/src/META-INF/plugin.xml @@ -14,6 +14,7 @@ <runConfigurationProducer implementation="com.theoryinpractice.testng.configuration.TestNGSuiteConfigurationProducer"/> <configurationType implementation="com.theoryinpractice.testng.configuration.TestNGConfigurationType"/> <psi.referenceContributor language="JAVA" implementation="com.theoryinpractice.testng.TestNGReferenceContributor"/> + <psi.referenceContributor language="Groovy" implementation="com.theoryinpractice.testng.TestNGReferenceContributor"/> <psi.referenceContributor language="XML" implementation="com.theoryinpractice.testng.TestNGSuiteReferenceContributor"/> <library.dependencyScopeSuggester implementation="com.theoryinpractice.testng.configuration.TestNGDependencyScopeSuggester"/> diff --git a/plugins/testng/src/com/theoryinpractice/testng/TestNGReferenceContributor.java b/plugins/testng/src/com/theoryinpractice/testng/TestNGReferenceContributor.java index 6e483fb97c3d..74bb548fcbbf 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/TestNGReferenceContributor.java +++ b/plugins/testng/src/com/theoryinpractice/testng/TestNGReferenceContributor.java @@ -50,41 +50,41 @@ import java.util.ArrayList; import java.util.List; public class TestNGReferenceContributor extends PsiReferenceContributor { - private static PsiElementPattern.Capture<PsiLiteralExpression> getElementPattern(String annotation) { - return PlatformPatterns.psiElement(PsiLiteralExpression.class).and(new FilterPattern(new TestAnnotationFilter(annotation))); + private static PsiElementPattern.Capture<PsiLiteral> getElementPattern(String annotation) { + return PlatformPatterns.psiElement(PsiLiteral.class).and(new FilterPattern(new TestAnnotationFilter(annotation))); } public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) { registrar.registerReferenceProvider(getElementPattern("dependsOnMethods"), new PsiReferenceProvider() { @NotNull public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull final ProcessingContext context) { - return new MethodReference[]{new MethodReference((PsiLiteralExpression)element)}; + return new MethodReference[]{new MethodReference((PsiLiteral)element)}; } }); registrar.registerReferenceProvider(getElementPattern("dataProvider"), new PsiReferenceProvider() { @NotNull public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull final ProcessingContext context) { - return new DataProviderReference[]{new DataProviderReference((PsiLiteralExpression)element)}; + return new DataProviderReference[]{new DataProviderReference((PsiLiteral)element)}; } }); registrar.registerReferenceProvider(getElementPattern("groups"), new PsiReferenceProvider() { @NotNull public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull final ProcessingContext context) { - return new GroupReference[]{new GroupReference(element.getProject(), (PsiLiteralExpression)element)}; + return new GroupReference[]{new GroupReference(element.getProject(), (PsiLiteral)element)}; } }); registrar.registerReferenceProvider(getElementPattern("dependsOnGroups"), new PsiReferenceProvider() { @NotNull public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull final ProcessingContext context) { - return new GroupReference[]{new GroupReference(element.getProject(), (PsiLiteralExpression)element)}; + return new GroupReference[]{new GroupReference(element.getProject(), (PsiLiteral)element)}; } }); } - private static class DataProviderReference extends PsiReferenceBase<PsiLiteralExpression> { + private static class DataProviderReference extends PsiReferenceBase<PsiLiteral> { - public DataProviderReference(PsiLiteralExpression element) { + public DataProviderReference(PsiLiteral element) { super(element, false); } @@ -156,9 +156,9 @@ public class TestNGReferenceContributor extends PsiReferenceContributor { } } - private static class MethodReference extends PsiReferenceBase<PsiLiteralExpression> { + private static class MethodReference extends PsiReferenceBase<PsiLiteral> { - public MethodReference(PsiLiteralExpression element) { + public MethodReference(PsiLiteral element) { super(element, false); } @@ -181,7 +181,7 @@ public class TestNGReferenceContributor extends PsiReferenceContributor { @Nullable private PsiClass getDependsClass(String val) { final String className = StringUtil.getPackageName(val); - final PsiLiteralExpression element = getElement(); + final PsiLiteral element = getElement(); return StringUtil.isEmpty(className) ? PsiUtil.getTopLevelClass(element) : JavaPsiFacade.getInstance(element.getProject()).findClass(className, element.getResolveScope()); } @@ -213,10 +213,10 @@ public class TestNGReferenceContributor extends PsiReferenceContributor { } } - private static class GroupReference extends PsiReferenceBase<PsiLiteralExpression> { + private static class GroupReference extends PsiReferenceBase<PsiLiteral> { private final Project myProject; - public GroupReference(Project project, PsiLiteralExpression element) { + public GroupReference(Project project, PsiLiteral element) { super(element, false); myProject = project; } @@ -264,7 +264,7 @@ public class TestNGReferenceContributor extends PsiReferenceContributor { } public boolean isClassAcceptable(Class hintClass) { - return PsiLiteralExpression.class.isAssignableFrom(hintClass); + return PsiLiteral.class.isAssignableFrom(hintClass); } } } diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/SearchingForTestsTask.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/SearchingForTestsTask.java index 2258b16a7a2a..8358fcd253dd 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/SearchingForTestsTask.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/SearchingForTestsTask.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2010 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -646,6 +646,7 @@ public class SearchingForTestsTask extends Task.Backgroundable { return result; } + @NotNull private GlobalSearchScope getSearchScope() { final TestData data = myConfig.getPersistantData(); final Module module = myConfig.getConfigurationModule().getModule(); diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java index 0c73ae5f5761..6579990d4184 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java @@ -14,12 +14,6 @@ * limitations under the License. */ -/* - * Created by IntelliJ IDEA. - * User: amrk - * Date: Jul 2, 2005 - * Time: 12:22:07 AM - */ package com.theoryinpractice.testng.configuration; import com.intellij.ExtensionPoints; @@ -40,7 +34,7 @@ import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.execution.util.JavaParametersUtil; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; -import com.intellij.openapi.module.LanguageLevelUtil; +import com.intellij.openapi.module.EffectiveLanguageLevelUtil; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.impl.BackgroundableProcessIndicator; @@ -77,7 +71,6 @@ import org.testng.remote.RemoteArgs; import org.testng.remote.RemoteTestNG; import org.testng.remote.strprotocol.SerializedMessageSender; -import javax.swing.*; import java.io.File; import java.io.IOException; import java.net.InetAddress; @@ -98,7 +91,7 @@ public class TestNGRunnableState extends JavaCommandLineState { public TestNGRunnableState(ExecutionEnvironment environment, TestNGConfiguration config) { super(environment); - this.runnerSettings = environment.getRunnerSettings(); + runnerSettings = environment.getRunnerSettings(); this.config = config; //TODO need to narrow this down a bit //setModulesToCompile(ModuleManager.getInstance(config.getProject()).getModules()); @@ -120,6 +113,7 @@ public class TestNGRunnableState extends JavaCommandLineState { } } + @NotNull @Override public ExecutionResult execute(@NotNull final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException { final boolean smRunner = Registry.is("testng_sm_runner"); @@ -173,6 +167,7 @@ public class TestNGRunnableState extends JavaCommandLineState { final String text = event.getText(); final ConsoleViewContentType consoleViewType = ConsoleViewContentType.getConsoleViewType(outputType); final Printable printable = new Printable() { + @Override public void printOn(final Printer printer) { printer.print(text, consoleViewType); } @@ -188,9 +183,9 @@ public class TestNGRunnableState extends JavaCommandLineState { }); console.attachToProcess(processHandler); - RerunFailedTestsAction rerunFailedTestsAction = new RerunFailedTestsAction(console); - rerunFailedTestsAction.init(console.getProperties(), getEnvironment()); + RerunFailedTestsAction rerunFailedTestsAction = new RerunFailedTestsAction(console, console.getProperties()); rerunFailedTestsAction.setModelProvider(new Getter<TestFrameworkRunningModel>() { + @Override public TestFrameworkRunningModel get() { return console.getResultsView(); } @@ -218,8 +213,7 @@ public class TestNGRunnableState extends JavaCommandLineState { Disposer.register(getEnvironment().getProject(), smtConsoleView); smtConsoleView.attachToProcess(handler); - final RerunFailedTestsAction rerunFailedTestsAction = new RerunFailedTestsAction(smtConsoleView); - rerunFailedTestsAction.init(testConsoleProperties, getEnvironment()); + final RerunFailedTestsAction rerunFailedTestsAction = new RerunFailedTestsAction(smtConsoleView, testConsoleProperties); rerunFailedTestsAction.setModelProvider(new Getter<TestFrameworkRunningModel>() { @Override public TestFrameworkRunningModel get() { @@ -264,7 +258,7 @@ public class TestNGRunnableState extends JavaCommandLineState { Module module = config.getConfigurationModule().getModule(); LanguageLevel effectiveLanguageLevel = module == null ? LanguageLevelProjectExtension.getInstance(project).getLanguageLevel() - : LanguageLevelUtil.getEffectiveLanguageLevel(module); + : EffectiveLanguageLevelUtil.getEffectiveLanguageLevel(module); final boolean is15 = effectiveLanguageLevel != LanguageLevel.JDK_1_4 && effectiveLanguageLevel != LanguageLevel.JDK_1_3; LOG.info("Language level is " + effectiveLanguageLevel.toString()); @@ -311,7 +305,7 @@ public class TestNGRunnableState extends JavaCommandLineState { javaParameters.getProgramParametersList().add(supportSerializationProtocol(config) ? RemoteArgs.PORT : CommandLineArgs.PORT, String.valueOf(port)); - if (data.getOutputDirectory() != null && !"".equals(data.getOutputDirectory())) { + if (data.getOutputDirectory() != null && !data.getOutputDirectory().isEmpty()) { javaParameters.getProgramParametersList().add(CommandLineArgs.OUTPUT_DIRECTORY, data.getOutputDirectory()); } @@ -379,7 +373,7 @@ public class TestNGRunnableState extends JavaCommandLineState { try { hostname = InetAddress.getLocalHost().getHostName(); } - catch (UnknownHostException e) { + catch (UnknownHostException ignored) { } params.add("-Xdebug"); params.add("-Xrunjdwp:transport=dt_socket,address=" + hostname + ':' + debugPort + ",suspend=y,server=n"); diff --git a/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java b/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java index a7d29ce4de98..b5e24707bba7 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java +++ b/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java @@ -292,7 +292,7 @@ public class TestProxy extends AbstractTestProxy { if (myHyperlink == null) { return null; } - return new AssertEqualsDiffViewerProvider() { + return new AssertEqualsMultiDiffViewProvider() { @Override public void openDiff(Project project) { myHyperlink.openDiff(project); @@ -307,6 +307,16 @@ public class TestProxy extends AbstractTestProxy { public String getActual() { return myHyperlink.getRight(); } + + @Override + public void openMultiDiff(Project project, AssertEqualsDiffChain chain) { + myHyperlink.openMultiDiff(project, chain); + } + + @Override + public String getFilePath() { + return myHyperlink.getFilePath(); + } }; } diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/actions/RerunFailedTestsAction.java b/plugins/testng/src/com/theoryinpractice/testng/ui/actions/RerunFailedTestsAction.java index 597bb5983876..0c6eea9af3e8 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/actions/RerunFailedTestsAction.java +++ b/plugins/testng/src/com/theoryinpractice/testng/ui/actions/RerunFailedTestsAction.java @@ -1,13 +1,14 @@ package com.theoryinpractice.testng.ui.actions; import com.intellij.execution.CantRunException; -import com.intellij.execution.ExecutionException; import com.intellij.execution.Executor; import com.intellij.execution.Location; import com.intellij.execution.actions.JavaRerunFailedTestsAction; import com.intellij.execution.configurations.RunProfileState; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.testframework.AbstractTestProxy; +import com.intellij.execution.testframework.SourceScope; +import com.intellij.execution.testframework.TestConsoleProperties; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; @@ -30,23 +31,23 @@ import java.net.ServerSocket; import java.util.*; public class RerunFailedTestsAction extends JavaRerunFailedTestsAction { - - public RerunFailedTestsAction(@NotNull ComponentContainer componentContainer) { - super(componentContainer); + public RerunFailedTestsAction(@NotNull ComponentContainer componentContainer, @NotNull TestConsoleProperties consoleProperties) { + super(componentContainer, consoleProperties); } @Override - public MyRunProfile getRunProfile() { + protected MyRunProfile getRunProfile(@NotNull ExecutionEnvironment environment) { final TestNGConfiguration configuration = (TestNGConfiguration)getModel().getProperties().getConfiguration(); final List<AbstractTestProxy> failedTests = getFailedTests(configuration.getProject()); return new MyRunProfile(configuration) { + @Override @NotNull public Module[] getModules() { - return Module.EMPTY_ARRAY; + return configuration.getModules(); } - public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment env) throws ExecutionException { - + @Override + public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment env) { return new TestNGRunnableState(env, configuration) { @Override protected SearchingForTestsTask createSearchingForTestsTask(ServerSocket serverSocket, @@ -99,5 +100,4 @@ public class RerunFailedTestsAction extends JavaRerunFailedTestsAction { } }; } - } |