Analysis API: move reference resolve testsdata with errors to dedicated folders
This commit is contained in:
+4
-1
@@ -82,6 +82,8 @@ class TestGroup(
|
||||
val annotations: List<AnnotationModel>,
|
||||
val targetBackendComputer: TargetBackendComputer
|
||||
) {
|
||||
val testDataRoot: String
|
||||
get() = this@TestGroup.testDataRoot
|
||||
val baseDir: String
|
||||
get() = this@TestGroup.testsRoot
|
||||
|
||||
@@ -106,6 +108,7 @@ class TestGroup(
|
||||
// directives TARGET_BACKEND/DONT_TARGET_EXACT_BACKEND won't be generated
|
||||
targetBackend: TargetBackend? = null,
|
||||
excludeDirs: List<String> = listOf(),
|
||||
excludeDirsRecursively: List<String> = listOf(),
|
||||
filenameStartsLowerCase: Boolean? = null, // assert that file is properly named
|
||||
skipIgnored: Boolean = false, // pretty meaningless flag, affects only few test names in one test runner
|
||||
deep: Int? = null, // specifies how deep recursive search will follow directory with testdata
|
||||
@@ -128,7 +131,7 @@ class TestGroup(
|
||||
SimpleTestClassModel(
|
||||
rootFile, recursive, excludeParentDirs,
|
||||
compiledPattern, compiledExcludedPattern, filenameStartsLowerCase, testMethod, className,
|
||||
realTargetBackend, excludeDirs, skipIgnored, testRunnerMethodName, additionalRunnerArguments, deep, annotations,
|
||||
realTargetBackend, excludeDirs, excludeDirsRecursively, skipIgnored, testRunnerMethodName, additionalRunnerArguments, deep, annotations,
|
||||
extractTagsFromDirectory(rootFile), methodModels
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ object SimpleTestClassModelTestAllFilesPresentMethodGenerator : MethodGenerator<
|
||||
override fun generateBody(method: SimpleTestClassModel.TestAllFilesPresentMethodModel, p: Printer) {
|
||||
with(method) {
|
||||
val exclude = StringBuilder()
|
||||
for (dir in classModel.excludeDirs) {
|
||||
for (dir in classModel.excludeDirs + classModel.excludeDirsRecursively) {
|
||||
exclude.append(", \"")
|
||||
exclude.append(StringUtil.escapeStringCharacters(dir))
|
||||
exclude.append("\"")
|
||||
|
||||
+4
-1
@@ -25,6 +25,7 @@ class SimpleTestClassModel(
|
||||
private val testClassName: String,
|
||||
val targetBackend: TargetBackend,
|
||||
excludeDirs: Collection<String>,
|
||||
excludeDirsRecursively: Collection<String>,
|
||||
private val skipIgnored: Boolean,
|
||||
private val testRunnerMethodName: String,
|
||||
private val additionalRunnerArguments: List<String>,
|
||||
@@ -37,6 +38,7 @@ class SimpleTestClassModel(
|
||||
get() = testClassName
|
||||
|
||||
val excludeDirs: Set<String> = excludeDirs.toSet()
|
||||
val excludeDirsRecursively: Set<String> = excludeDirsRecursively.toSet()
|
||||
|
||||
override val innerTestClasses: Collection<TestClassModel> by lazy {
|
||||
if (!rootFile.isDirectory || !recursive || deep != null && deep < 1) {
|
||||
@@ -45,7 +47,7 @@ class SimpleTestClassModel(
|
||||
val children = mutableListOf<TestClassModel>()
|
||||
val files = rootFile.listFiles() ?: return@lazy emptyList()
|
||||
for (file in files) {
|
||||
if (file.isDirectory && dirHasFilesInside(file) && !excludeDirs.contains(file.name)) {
|
||||
if (file.isDirectory && dirHasFilesInside(file) && !excludeDirs.contains(file.name) && !excludeDirsRecursively.contains(file.name)) {
|
||||
val innerTestClassName = fileNameToJavaIdentifier(file)
|
||||
children.add(
|
||||
SimpleTestClassModel(
|
||||
@@ -59,6 +61,7 @@ class SimpleTestClassModel(
|
||||
innerTestClassName,
|
||||
targetBackend,
|
||||
excludesStripOneDirectory(file.name),
|
||||
excludeDirsRecursively,
|
||||
skipIgnored,
|
||||
testRunnerMethodName,
|
||||
additionalRunnerArguments,
|
||||
|
||||
Reference in New Issue
Block a user