From 305820e6f5dcce68865da5d2c1e453a8748c4b9b Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 27 Apr 2017 20:29:28 +0300 Subject: [PATCH] PY-23490: suggest test configuration for folder if name contains "tests" Since plain python can't run on folder anyway, there is nothing bad about running folder as test configuration. Most runners support tests in folder discovery. --- .../jetbrains/python/testing/universalTests/PyUniversalTests.kt | 2 +- .../folder_with_word_tests_in_name/__init__.py | 0 .../env/python/testing/CreateConfigurationByFileTask.java | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 python/testData/testRunner/env/createConfigurationTest/folder_with_word_tests_in_name/__init__.py diff --git a/python/src/com/jetbrains/python/testing/universalTests/PyUniversalTests.kt b/python/src/com/jetbrains/python/testing/universalTests/PyUniversalTests.kt index 1cce104a8d4e..545a606775ca 100644 --- a/python/src/com/jetbrains/python/testing/universalTests/PyUniversalTests.kt +++ b/python/src/com/jetbrains/python/testing/universalTests/PyUniversalTests.kt @@ -572,7 +572,7 @@ abstract class PyUniversalTestConfiguration(project: Project, // contains tests etc when (element) { is PyFile -> isTestFile(element) - is PsiDirectory -> element.children.any { it is PyFile && isTestFile(it) } + is PsiDirectory -> element.name.contains("test", true) || element.children.any { it is PyFile && isTestFile(it) } is PyFunction -> PythonUnitTestUtil.isTestCaseFunction(element, runBareFunctions) is PyClass -> PythonUnitTestUtil.isTestCaseClass(element, TypeEvalContext.userInitiated(element.project, element.containingFile)) else -> false diff --git a/python/testData/testRunner/env/createConfigurationTest/folder_with_word_tests_in_name/__init__.py b/python/testData/testRunner/env/createConfigurationTest/folder_with_word_tests_in_name/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/testSrc/com/jetbrains/env/python/testing/CreateConfigurationByFileTask.java b/python/testSrc/com/jetbrains/env/python/testing/CreateConfigurationByFileTask.java index 8307cba57e25..189189b2feeb 100644 --- a/python/testSrc/com/jetbrains/env/python/testing/CreateConfigurationByFileTask.java +++ b/python/testSrc/com/jetbrains/env/python/testing/CreateConfigurationByFileTask.java @@ -55,7 +55,7 @@ class CreateConfigurationByFileTask expectedConfigurationType) { - this(testRunnerName, expectedConfigurationType, "test_file.py", "test_class.py"); + this(testRunnerName, expectedConfigurationType, "test_file.py", "test_class.py", "folder_with_word_tests_in_name"); } @NotNull