Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
硅谷海盗
kotlin
提交
2aa1cb74
K
kotlin
项目概览
硅谷海盗
/
kotlin
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kotlin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2aa1cb74
编写于
12月 14, 2020
作者:
D
Dmitriy Novozhilov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TEST] Migrate AbstractDiagnosticsNativeTest to new test runners
上级
e7f84860
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
130 addition
and
83 deletion
+130
-83
compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticsNativeTestGenerated.java
...s/kotlin/test/runners/DiagnosticsNativeTestGenerated.java
+10
-10
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt
...ins/kotlin/test/frontend/classic/ClassicFrontendFacade.kt
+51
-20
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/generators/GenerateNewCompilerTests.kt
...brains/kotlin/test/generators/GenerateNewCompilerTests.kt
+4
-0
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsNativeTest.kt
...ains/kotlin/test/runners/AbstractDiagnosticsNativeTest.kt
+48
-0
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt
...ins/kotlin/test/services/CompilerConfigurationProvider.kt
+14
-1
compiler/tests-compiler-utils/tests/org/jetbrains/kotlin/native/FakeTopDownAnalyzerFacadeForNative.kt
...rains/kotlin/native/FakeTopDownAnalyzerFacadeForNative.kt
+3
-48
compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt
...etbrains/kotlin/generators/tests/GenerateCompilerTests.kt
+0
-4
未找到文件。
compiler/tests-
gen/org/jetbrains/kotlin/check
ers/DiagnosticsNativeTestGenerated.java
→
compiler/tests-
common-new/tests-gen/org/jetbrains/kotlin/test/runn
ers/DiagnosticsNativeTestGenerated.java
浏览文件 @
2aa1cb74
...
...
@@ -3,52 +3,52 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package
org.jetbrains.kotlin.
check
ers
;
package
org.jetbrains.kotlin.
test.runn
ers
;
import
com.intellij.testFramework.TestDataPath
;
import
org.jetbrains.kotlin.test.JUnit3RunnerWithInners
;
import
org.jetbrains.kotlin.test.KotlinTestUtils
;
import
org.jetbrains.kotlin.test.util.KtTestUtil
;
import
org.jetbrains.kotlin.test.TestMetadata
;
import
org.junit.runner.RunWith
;
import
org.junit.jupiter.api.Nested
;
import
org.junit.jupiter.api.Test
;
import
java.io.File
;
import
java.util.regex.Pattern
;
/** This class is generated by {@link
org.jetbrains.kotlin.generators.tests.TestsPackage
}. DO NOT MODIFY MANUALLY */
/** This class is generated by {@link
GenerateNewCompilerTests.kt
}. DO NOT MODIFY MANUALLY */
@SuppressWarnings
(
"all"
)
@TestMetadata
(
"compiler/testData/diagnostics/nativeTests"
)
@TestDataPath
(
"$PROJECT_ROOT"
)
@RunWith
(
JUnit3RunnerWithInners
.
class
)
public
class
DiagnosticsNativeTestGenerated
extends
AbstractDiagnosticsNativeTest
{
private
void
runTest
(
String
testDataFilePath
)
throws
Exception
{
KotlinTestUtils
.
runTest
(
this
::
doTest
,
this
,
testDataFilePath
);
}
@Test
public
void
testAllFilesPresentInNativeTests
()
throws
Exception
{
KtTestUtil
.
assertAllTestsPresentByMetadataWithExcluded
(
this
.
getClass
(),
new
File
(
"compiler/testData/diagnostics/nativeTests"
),
Pattern
.
compile
(
"^(.+)\\.kt$"
),
null
,
true
);
}
@Test
@TestMetadata
(
"sharedImmutable.kt"
)
public
void
testSharedImmutable
()
throws
Exception
{
runTest
(
"compiler/testData/diagnostics/nativeTests/sharedImmutable.kt"
);
}
@Test
@TestMetadata
(
"threadLocal.kt"
)
public
void
testThreadLocal
()
throws
Exception
{
runTest
(
"compiler/testData/diagnostics/nativeTests/threadLocal.kt"
);
}
@Test
@TestMetadata
(
"throws.kt"
)
public
void
testThrows
()
throws
Exception
{
runTest
(
"compiler/testData/diagnostics/nativeTests/throws.kt"
);
}
@Test
@TestMetadata
(
"throwsClash.kt"
)
public
void
testThrowsClash
()
throws
Exception
{
runTest
(
"compiler/testData/diagnostics/nativeTests/throwsClash.kt"
);
}
@Test
@TestMetadata
(
"topLevelSingleton.kt"
)
public
void
testTopLevelSingleton
()
throws
Exception
{
runTest
(
"compiler/testData/diagnostics/nativeTests/topLevelSingleton.kt"
);
...
...
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/classic/ClassicFrontendFacade.kt
浏览文件 @
2aa1cb74
...
...
@@ -9,6 +9,8 @@ import com.intellij.openapi.project.Project
import
com.intellij.psi.search.GlobalSearchScope
import
org.jetbrains.kotlin.analyzer.AnalysisResult
import
org.jetbrains.kotlin.analyzer.common.CommonResolverForModuleFactory
import
org.jetbrains.kotlin.builtins.DefaultBuiltIns
import
org.jetbrains.kotlin.builtins.KotlinBuiltIns
import
org.jetbrains.kotlin.builtins.jvm.JvmBuiltIns
import
org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider
import
org.jetbrains.kotlin.cli.jvm.compiler.NoScopeRecordCliBindingTrace
...
...
@@ -17,8 +19,8 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
import
org.jetbrains.kotlin.config.JVMConfigurationKeys
import
org.jetbrains.kotlin.config.JVMConfigurationKeys.JVM_TARGET
import
org.jetbrains.kotlin.config.JvmTarget
import
org.jetbrains.kotlin.config.LanguageVersionSettings
import
org.jetbrains.kotlin.container.get
import
org.jetbrains.kotlin.context.ModuleContext
import
org.jetbrains.kotlin.context.ProjectContext
import
org.jetbrains.kotlin.context.withModule
import
org.jetbrains.kotlin.descriptors.impl.CompositePackageFragmentProvider
...
...
@@ -31,6 +33,7 @@ import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS
import
org.jetbrains.kotlin.js.config.JsConfig
import
org.jetbrains.kotlin.load.java.lazy.SingleModuleClassResolver
import
org.jetbrains.kotlin.name.Name
import
org.jetbrains.kotlin.native.FakeTopDownAnalyzerFacadeForNative
import
org.jetbrains.kotlin.platform.isCommon
import
org.jetbrains.kotlin.platform.js.isJs
import
org.jetbrains.kotlin.platform.jvm.JvmPlatforms
...
...
@@ -44,6 +47,7 @@ import org.jetbrains.kotlin.resolve.jvm.JavaDescriptorResolver
import
org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
import
org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
import
org.jetbrains.kotlin.serialization.deserialization.MetadataPartProvider
import
org.jetbrains.kotlin.storage.StorageManager
import
org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
import
org.jetbrains.kotlin.test.model.DependencyKind
import
org.jetbrains.kotlin.test.model.FrontendFacade
...
...
@@ -99,7 +103,6 @@ class ClassicFrontendFacade(
configuration
,
packagePartProviderFactory
,
ktFiles
,
languageVersionSettings
,
dependentDescriptors
,
hasCommonModules
)
...
...
@@ -131,7 +134,6 @@ class ClassicFrontendFacade(
configuration
:
CompilerConfiguration
,
packagePartProviderFactory
:
(
GlobalSearchScope
)
->
JvmPackagePartProvider
,
files
:
List
<
KtFile
>,
languageVersionSettings
:
LanguageVersionSettings
,
dependentDescriptors
:
List
<
ModuleDescriptorImpl
>,
hasCommonModules
:
Boolean
):
AnalysisResult
{
...
...
@@ -147,8 +149,8 @@ class ClassicFrontendFacade(
hasCommonModules
)
targetPlatform
.
isJs
()
->
performJsModuleResolve
(
project
,
configuration
,
files
,
dependentDescriptors
)
targetPlatform
.
isNative
()
->
TODO
(
)
targetPlatform
.
isCommon
()
->
performCommonModuleResolve
(
module
,
files
,
languageVersionSettings
)
targetPlatform
.
isNative
()
->
performNativeModuleResolve
(
module
,
project
,
files
)
targetPlatform
.
isCommon
()
->
performCommonModuleResolve
(
module
,
files
)
else
->
error
(
"Should not be here"
)
}
}
...
...
@@ -175,21 +177,12 @@ class ClassicFrontendFacade(
)
}
val
projectContext
=
ProjectContext
(
project
,
"test project context"
)
val
storageManager
=
projectContext
.
storageManager
val
builtIns
=
JvmBuiltIns
(
storageManager
,
JvmBuiltIns
.
Kind
.
FROM_CLASS_LOADER
)
val
moduleDescriptor
=
ModuleDescriptorImpl
(
Name
.
special
(
"<${module.name}>"
),
storageManager
,
builtIns
,
module
.
targetPlatform
)
val
dependencies
=
buildList
{
add
(
moduleDescriptor
)
add
(
moduleDescriptor
.
builtIns
.
builtInsModule
)
addAll
(
dependentDescriptors
)
}
moduleDescriptor
.
setDependencies
(
dependencies
)
val
moduleContentScope
=
GlobalSearchScope
.
allScope
(
project
)
val
moduleClassResolver
=
SingleModuleClassResolver
()
val
moduleContext
=
projectContext
.
withModule
(
moduleDescriptor
)
val
moduleContext
=
createModuleContext
(
module
,
project
,
dependentDescriptors
)
{
JvmBuiltIns
(
it
,
JvmBuiltIns
.
Kind
.
FROM_CLASS_LOADER
)
}
val
moduleDescriptor
=
moduleContext
.
module
as
ModuleDescriptorImpl
val
jvmTarget
=
configuration
[
JVM_TARGET
]
?:
JvmTarget
.
DEFAULT
val
container
=
createContainerForLazyResolveWithJava
(
JvmPlatforms
.
jvmPlatformByTargetVersion
(
jvmTarget
),
// TODO(dsavvinov): do not pass JvmTarget around
...
...
@@ -243,16 +236,32 @@ class ClassicFrontendFacade(
)
}
private
fun
performNativeModuleResolve
(
module
:
TestModule
,
project
:
Project
,
files
:
List
<
KtFile
>,
):
AnalysisResult
{
val
moduleTrace
=
NoScopeRecordCliBindingTrace
()
val
moduleContext
=
createModuleContext
(
module
,
project
,
dependentDescriptors
=
emptyList
())
{
DefaultBuiltIns
()
}
return
FakeTopDownAnalyzerFacadeForNative
.
analyzeFilesWithGivenTrace
(
files
,
moduleTrace
,
moduleContext
,
module
.
languageVersionSettings
)
}
private
fun
performCommonModuleResolve
(
module
:
TestModule
,
files
:
List
<
KtFile
>,
languageVersionSettings
:
LanguageVersionSettings
,
):
AnalysisResult
{
return
CommonResolverForModuleFactory
.
analyzeFiles
(
files
,
Name
.
special
(
"<${module.name}>"
),
dependOnBuiltIns
=
true
,
languageVersionSettings
,
module
.
languageVersionSettings
,
module
.
targetPlatform
,
// TODO: add dependency manager
)
{
_
->
...
...
@@ -260,4 +269,26 @@ class ClassicFrontendFacade(
MetadataPartProvider
.
Empty
}
}
@OptIn
(
ExperimentalStdlibApi
::
class
)
private
fun
createModuleContext
(
module
:
TestModule
,
project
:
Project
,
dependentDescriptors
:
List
<
ModuleDescriptorImpl
>,
builtInsFactory
:
(
StorageManager
)
->
KotlinBuiltIns
,
):
ModuleContext
{
val
projectContext
=
ProjectContext
(
project
,
"test project context"
)
val
storageManager
=
projectContext
.
storageManager
val
builtIns
=
builtInsFactory
(
storageManager
)
val
moduleDescriptor
=
ModuleDescriptorImpl
(
Name
.
special
(
"<${module.name}>"
),
storageManager
,
builtIns
,
module
.
targetPlatform
)
val
dependencies
=
buildList
{
add
(
moduleDescriptor
)
add
(
moduleDescriptor
.
builtIns
.
builtInsModule
)
addAll
(
dependentDescriptors
)
}
moduleDescriptor
.
setDependencies
(
dependencies
)
return
projectContext
.
withModule
(
moduleDescriptor
)
}
}
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/generators/GenerateNewCompilerTests.kt
浏览文件 @
2aa1cb74
...
...
@@ -39,6 +39,10 @@ fun main(args: Array<String>) {
testClass
<
AbstractDiagnosticsTestWithJvmIrBackend
>
{
model
(
"diagnostics/testsWithJvmBackend"
,
targetBackend
=
TargetBackend
.
JVM_IR
)
}
testClass
<
AbstractDiagnosticsNativeTest
>
{
model
(
"diagnostics/nativeTests"
)
}
}
testGroup
(
"compiler/tests-common-new/tests-gen"
,
"compiler/fir/analysis-tests/testData"
)
{
...
...
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/AbstractDiagnosticsNativeTest.kt
0 → 100644
浏览文件 @
2aa1cb74
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package
org.jetbrains.kotlin.test.runners
import
org.jetbrains.kotlin.platform.konan.NativePlatforms
import
org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import
org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
import
org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
import
org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
import
org.jetbrains.kotlin.test.frontend.classic.handlers.DeclarationsDumpHandler
import
org.jetbrains.kotlin.test.frontend.classic.handlers.OldNewInferenceMetaInfoProcessor
import
org.jetbrains.kotlin.test.model.BackendKind
import
org.jetbrains.kotlin.test.model.DependencyKind
import
org.jetbrains.kotlin.test.model.FrontendKinds
import
org.jetbrains.kotlin.test.services.AdditionalDiagnosticsSourceFilesProvider
import
org.jetbrains.kotlin.test.services.CoroutineHelpersSourceFilesProvider
abstract
class
AbstractDiagnosticsNativeTest
:
AbstractKotlinCompilerTest
()
{
override
fun
TestConfigurationBuilder
.
configuration
()
{
globalDefaults
{
frontend
=
FrontendKinds
.
ClassicFrontend
backend
=
BackendKind
.
NoBackend
targetPlatform
=
NativePlatforms
.
unspecifiedNativePlatform
dependencyKind
=
DependencyKind
.
Source
}
defaultDirectives
{
+
JvmEnvironmentConfigurationDirectives
.
USE_PSI_CLASS_FILES_READING
}
enableMetaInfoHandler
()
useMetaInfoProcessors
(
::
OldNewInferenceMetaInfoProcessor
)
useAdditionalSourceProviders
(
::
AdditionalDiagnosticsSourceFilesProvider
,
::
CoroutineHelpersSourceFilesProvider
,
)
useFrontendFacades
(
::
ClassicFrontendFacade
)
useFrontendHandlers
(
::
DeclarationsDumpHandler
,
::
ClassicDiagnosticsHandler
,
)
}
}
compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt
浏览文件 @
2aa1cb74
...
...
@@ -20,6 +20,10 @@ import org.jetbrains.kotlin.config.CommonConfigurationKeys
import
org.jetbrains.kotlin.config.CompilerConfiguration
import
org.jetbrains.kotlin.config.CompilerConfigurationKey
import
org.jetbrains.kotlin.config.languageVersionSettings
import
org.jetbrains.kotlin.platform.isCommon
import
org.jetbrains.kotlin.platform.js.isJs
import
org.jetbrains.kotlin.platform.jvm.isJvm
import
org.jetbrains.kotlin.platform.konan.isNative
import
org.jetbrains.kotlin.psi.KtFile
import
org.jetbrains.kotlin.test.model.TestFile
import
org.jetbrains.kotlin.test.model.TestModule
...
...
@@ -59,11 +63,20 @@ class CompilerConfigurationProviderImpl(
override
fun
getKotlinCoreEnvironment
(
module
:
TestModule
):
KotlinCoreEnvironment
{
return
cache
.
getOrPut
(
module
)
{
val
platform
=
module
.
targetPlatform
val
configFiles
=
when
{
platform
.
isJvm
()
->
EnvironmentConfigFiles
.
JVM_CONFIG_FILES
platform
.
isJs
()
->
EnvironmentConfigFiles
.
JS_CONFIG_FILES
platform
.
isNative
()
->
EnvironmentConfigFiles
.
NATIVE_CONFIG_FILES
// TODO: is it correct?
platform
.
isCommon
()
->
EnvironmentConfigFiles
.
METADATA_CONFIG_FILES
else
->
error
(
"Unknown platform: $platform"
)
}
val
projectEnv
=
KotlinCoreEnvironment
.
createProjectEnvironmentForTests
(
testRootDisposable
,
CompilerConfiguration
())
KotlinCoreEnvironment
.
createForTests
(
projectEnv
,
createCompilerConfiguration
(
module
,
projectEnv
.
project
),
EnvironmentConfigFiles
.
JVM_CONFIG_FILES
configFiles
)
}
}
...
...
compiler/tests-com
mon/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsNativeTest
.kt
→
compiler/tests-com
piler-utils/tests/org/jetbrains/kotlin/native/FakeTopDownAnalyzerFacadeForNative
.kt
浏览文件 @
2aa1cb74
...
...
@@ -3,12 +3,9 @@
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package
org.jetbrains.kotlin.
checkers
package
org.jetbrains.kotlin.
native
import
org.jetbrains.kotlin.analyzer.AnalysisResult
import
org.jetbrains.kotlin.builtins.DefaultBuiltIns
import
org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import
org.jetbrains.kotlin.config.JvmTarget
import
org.jetbrains.kotlin.config.LanguageVersionSettings
import
org.jetbrains.kotlin.container.get
import
org.jetbrains.kotlin.container.useInstance
...
...
@@ -16,7 +13,6 @@ import org.jetbrains.kotlin.context.ModuleContext
import
org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import
org.jetbrains.kotlin.frontend.di.configureModule
import
org.jetbrains.kotlin.frontend.di.configureStandardResolveComponents
import
org.jetbrains.kotlin.name.Name
import
org.jetbrains.kotlin.platform.konan.NativePlatforms
import
org.jetbrains.kotlin.psi.KtFile
import
org.jetbrains.kotlin.resolve.*
...
...
@@ -24,49 +20,8 @@ import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerService
import
org.jetbrains.kotlin.resolve.lazy.KotlinCodeAnalyzer
import
org.jetbrains.kotlin.resolve.lazy.declarations.DeclarationProviderFactory
import
org.jetbrains.kotlin.resolve.lazy.declarations.FileBasedDeclarationProviderFactory
import
org.jetbrains.kotlin.storage.StorageManager
import
java.util.*
abstract
class
AbstractDiagnosticsNativeTest
:
AbstractDiagnosticsTest
()
{
override
fun
getEnvironmentConfigFiles
():
EnvironmentConfigFiles
=
EnvironmentConfigFiles
.
NATIVE_CONFIG_FILES
override
fun
analyzeModuleContents
(
moduleContext
:
ModuleContext
,
files
:
List
<
KtFile
>,
moduleTrace
:
BindingTrace
,
languageVersionSettings
:
LanguageVersionSettings
,
separateModules
:
Boolean
,
jvmTarget
:
JvmTarget
):
AnalysisResult
=
FakeTopDownAnalyzerFacadeForNative
.
analyzeFilesWithGivenTrace
(
files
,
moduleTrace
,
moduleContext
,
languageVersionSettings
)
override
fun
shouldSkipJvmSignatureDiagnostics
(
groupedByModule
:
Map
<
TestModule
?
,
List
<
TestFile
>>):
Boolean
=
true
override
fun
createModule
(
moduleName
:
String
,
storageManager
:
StorageManager
):
ModuleDescriptorImpl
=
ModuleDescriptorImpl
(
Name
.
special
(
"<$moduleName>"
),
storageManager
,
DefaultBuiltIns
())
override
fun
createSealedModule
(
storageManager
:
StorageManager
):
ModuleDescriptorImpl
{
val
module
=
createModule
(
"kotlin-native-test-module"
,
storageManager
)
val
dependencies
=
ArrayList
<
ModuleDescriptorImpl
>()
dependencies
.
add
(
module
)
dependencies
.
addAll
(
getAdditionalDependencies
(
module
))
dependencies
.
add
(
module
.
builtIns
.
builtInsModule
)
module
.
setDependencies
(
dependencies
)
return
module
}
}
private
object
FakeTopDownAnalyzerFacadeForNative
{
object
FakeTopDownAnalyzerFacadeForNative
{
fun
analyzeFilesWithGivenTrace
(
files
:
Collection
<
KtFile
>,
trace
:
BindingTrace
,
...
...
@@ -80,7 +35,7 @@ private object FakeTopDownAnalyzerFacadeForNative {
languageVersionSettings
)
analyzerForNative
.
analyzeDeclarations
(
TopDownAnalysisMode
.
TopLevelDeclarations
,
files
)
analyzerForNative
.
analyzeDeclarations
(
TopDownAnalysisMode
.
TopLevelDeclarations
,
files
as
Collection
<
com.
in
tellij.psi.
PsiElement
>
)
return
AnalysisResult
.
success
(
trace
.
bindingContext
,
moduleContext
.
module
)
}
}
...
...
compiler/tests/org/jetbrains/kotlin/generators/tests/GenerateCompilerTests.kt
浏览文件 @
2aa1cb74
...
...
@@ -71,10 +71,6 @@ fun main(args: Array<String>) {
model
(
"diagnostics/testsWithJsStdLibAndBackendCompilation"
)
}
testClass
<
AbstractDiagnosticsNativeTest
>
{
model
(
"diagnostics/nativeTests"
)
}
testClass
<
AbstractDiagnosticsWithJdk15Test
>
{
model
(
"diagnostics/testsWithJava15"
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录