summaryrefslogtreecommitdiff
path: root/plugins/gradle/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gradle/src/org')
-rw-r--r--plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java9
-rw-r--r--plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java12
2 files changed, 16 insertions, 5 deletions
diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java
index e7795a0621d2..d17b9fdea764 100644
--- a/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java
+++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/config/GradleScriptType.java
@@ -261,9 +261,14 @@ public class GradleScriptType extends GroovyRunnableScriptType {
final String scriptPath = configuration.getScriptPath();
if (scriptPath == null) {
- throw new CantRunException("Target script is undefined");
+ throw new CantRunException("Target script or gradle project path is undefined");
+ }
+
+ if(new File(scriptPath).isFile()) {
+ params.getProgramParametersList().add("--build-file");
+ } else {
+ params.getProgramParametersList().add("--project-dir");
}
- params.getProgramParametersList().add("--project-dir");
params.getProgramParametersList().add(FileUtil.toSystemDependentName(scriptPath));
params.getProgramParametersList().addParametersString(configuration.getProgramParameters());
params.getProgramParametersList().addParametersString(scriptParameters);
diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java
index 5993480333e5..f4dec6283300 100644
--- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java
+++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/TestMethodGradleConfigurationProducer.java
@@ -107,7 +107,8 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu
if (!configuration.getSettings().getTaskNames().containsAll(TASKS_TO_RUN)) return false;
final String scriptParameters = configuration.getSettings().getScriptParameters() + ' ';
- return scriptParameters.contains(String.format("--tests %s.%s ", containingClass.getQualifiedName(), psiMethod.getName()));
+ final String testFilter = creatTestFilter(containingClass, psiMethod);
+ return scriptParameters.contains(testFilter);
}
@Override
@@ -163,11 +164,16 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu
StringBuilder buf = new StringBuilder();
for (PsiClass aClass : containingClasses) {
- buf.append(String.format("--tests %s.%s ", aClass.getQualifiedName(), psiMethod.getName()));
+ buf.append(creatTestFilter(aClass, psiMethod));
}
- configuration.getSettings().setScriptParameters(buf.toString());
+ configuration.getSettings().setScriptParameters(buf.toString().trim());
configuration.setName(psiMethod.getName());
return true;
}
+
+ private static String creatTestFilter(@NotNull PsiClass aClass, @NotNull PsiMethod psiMethod) {
+ String testFilterPattern = aClass.getQualifiedName() + '.' + psiMethod.getName();
+ return String.format("--tests \"%s\" ", StringUtil.replaceChar(testFilterPattern, '\"', '*'));
+ }
}