Coverage: Allow default libs to be covered
This commit is contained in:
committed by
Ilya Matveev
parent
bc81249987
commit
f0294f5414
+21
-15
@@ -36,10 +36,11 @@ internal fun getExportedLibraries(
|
|||||||
resolver: SearchPathResolver,
|
resolver: SearchPathResolver,
|
||||||
report: Boolean
|
report: Boolean
|
||||||
): List<KonanLibrary> = getFeaturedLibraries(
|
): List<KonanLibrary> = getFeaturedLibraries(
|
||||||
configuration.getList(KonanConfigKeys.EXPORTED_LIBRARIES),
|
configuration.getList(KonanConfigKeys.EXPORTED_LIBRARIES),
|
||||||
resolvedLibraries,
|
resolvedLibraries,
|
||||||
resolver,
|
resolver,
|
||||||
if (report) FeaturedLibrariesReporter.forExportedLibraries(configuration) else FeaturedLibrariesReporter.Silent
|
if (report) FeaturedLibrariesReporter.forExportedLibraries(configuration) else FeaturedLibrariesReporter.Silent,
|
||||||
|
allowDefaultLibs = false
|
||||||
)
|
)
|
||||||
|
|
||||||
internal fun getIncludedLibraries(
|
internal fun getIncludedLibraries(
|
||||||
@@ -47,9 +48,10 @@ internal fun getIncludedLibraries(
|
|||||||
configuration: CompilerConfiguration,
|
configuration: CompilerConfiguration,
|
||||||
resolvedLibraries: KonanLibraryResolveResult
|
resolvedLibraries: KonanLibraryResolveResult
|
||||||
): List<KonanLibrary> = getFeaturedLibraries(
|
): List<KonanLibrary> = getFeaturedLibraries(
|
||||||
includedLibraryFiles.toSet(),
|
includedLibraryFiles.toSet(),
|
||||||
resolvedLibraries,
|
resolvedLibraries,
|
||||||
FeaturedLibrariesReporter.forIncludedLibraries(configuration)
|
FeaturedLibrariesReporter.forIncludedLibraries(configuration),
|
||||||
|
allowDefaultLibs = false
|
||||||
)
|
)
|
||||||
|
|
||||||
internal fun getCoveredLibraries(
|
internal fun getCoveredLibraries(
|
||||||
@@ -57,10 +59,11 @@ internal fun getCoveredLibraries(
|
|||||||
resolvedLibraries: KonanLibraryResolveResult,
|
resolvedLibraries: KonanLibraryResolveResult,
|
||||||
resolver: SearchPathResolver
|
resolver: SearchPathResolver
|
||||||
): List<KonanLibrary> = getFeaturedLibraries(
|
): List<KonanLibrary> = getFeaturedLibraries(
|
||||||
configuration.getList(KonanConfigKeys.LIBRARIES_TO_COVER),
|
configuration.getList(KonanConfigKeys.LIBRARIES_TO_COVER),
|
||||||
resolvedLibraries,
|
resolvedLibraries,
|
||||||
resolver,
|
resolver,
|
||||||
FeaturedLibrariesReporter.forCoveredLibraries(configuration)
|
FeaturedLibrariesReporter.forCoveredLibraries(configuration),
|
||||||
|
allowDefaultLibs = true
|
||||||
)
|
)
|
||||||
|
|
||||||
private sealed class FeaturedLibrariesReporter {
|
private sealed class FeaturedLibrariesReporter {
|
||||||
@@ -146,17 +149,20 @@ private fun getFeaturedLibraries(
|
|||||||
featuredLibraries: List<String>,
|
featuredLibraries: List<String>,
|
||||||
resolvedLibraries: KonanLibraryResolveResult,
|
resolvedLibraries: KonanLibraryResolveResult,
|
||||||
resolver: SearchPathResolver,
|
resolver: SearchPathResolver,
|
||||||
reporter: FeaturedLibrariesReporter
|
reporter: FeaturedLibrariesReporter,
|
||||||
|
allowDefaultLibs: Boolean
|
||||||
) = getFeaturedLibraries(
|
) = getFeaturedLibraries(
|
||||||
featuredLibraries.toUnresolvedLibraries.map { resolver.resolve(it).libraryFile }.toSet(),
|
featuredLibraries.toUnresolvedLibraries.map { resolver.resolve(it).libraryFile }.toSet(),
|
||||||
resolvedLibraries,
|
resolvedLibraries,
|
||||||
reporter
|
reporter,
|
||||||
|
allowDefaultLibs
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getFeaturedLibraries(
|
private fun getFeaturedLibraries(
|
||||||
featuredLibraryFiles: Set<File>,
|
featuredLibraryFiles: Set<File>,
|
||||||
resolvedLibraries: KonanLibraryResolveResult,
|
resolvedLibraries: KonanLibraryResolveResult,
|
||||||
reporter: FeaturedLibrariesReporter
|
reporter: FeaturedLibrariesReporter,
|
||||||
|
allowDefaultLibs: Boolean
|
||||||
) : List<KonanLibrary> {
|
) : List<KonanLibrary> {
|
||||||
val remainingFeaturedLibraries = featuredLibraryFiles.toMutableSet()
|
val remainingFeaturedLibraries = featuredLibraryFiles.toMutableSet()
|
||||||
val result = mutableListOf<KonanLibrary>()
|
val result = mutableListOf<KonanLibrary>()
|
||||||
@@ -166,7 +172,7 @@ private fun getFeaturedLibraries(
|
|||||||
val libraryFile = library.libraryFile
|
val libraryFile = library.libraryFile
|
||||||
if (libraryFile in featuredLibraryFiles) {
|
if (libraryFile in featuredLibraryFiles) {
|
||||||
remainingFeaturedLibraries -= libraryFile
|
remainingFeaturedLibraries -= libraryFile
|
||||||
if (library.isInterop || library.isDefault) {
|
if (library.isInterop || (!allowDefaultLibs && library.isDefault)) {
|
||||||
reporter.reportIllegalKind(library)
|
reporter.reportIllegalKind(library)
|
||||||
} else {
|
} else {
|
||||||
result += library
|
result += library
|
||||||
|
|||||||
Reference in New Issue
Block a user