tests: Support custom konan.home for platform lib tests

* Move testLibrary tasks from klib into backend.native/tests
 * Support konan.home property in them
This commit is contained in:
Ilya Matveev
2017-10-31 19:32:05 +03:00
committed by ilmat192
parent dd1f795ebb
commit d7795bb207
3 changed files with 32 additions and 31 deletions
+31 -1
View File
@@ -62,6 +62,36 @@ allprojects {
}
}
def konanHome = rootProject.file(project.findProperty("konan.home") ?: distDir).absolutePath
def suffix = isWindows() ? ".bat" : ""
// TODO: Ideally we want to write just konanArtifacts{} clause here,
// but we need to make Kotlin/Native Gradle Plugin a dependence
// of our buildScripts first.
task compileKonanTestLibrary(type: Exec) {
if (!project.hasProperty("konan.home")) {
dependsOn ':dist'
}
def compiler = "$konanHome/bin/konanc$suffix"
def source = 'testLibrary'
def artifact = 'build/konan/bin/testLibrary'
executable compiler
args source, '-o', artifact, '-p', 'library'
}
task installTestLibrary(type: Exec) {
dependsOn 'compileKonanTestLibrary'
def tool = "$konanHome/bin/klib$suffix"
def repo = "$konanHome/klib/common"
def library = 'build/konan/bin/testLibrary.klib'
executable tool
args 'install', library, '-repository', repo
}
// TODO: use lastSuccessful teamcity build.
task update_external_tests() {
doLast {
@@ -1247,7 +1277,7 @@ task link_testLib_explicitly(type: RunStandaloneKonanTest) {
// there are no testLibrary for cross targets yet.
disabled = (project.testTarget != null && project.testTarget != project.hostName)
dependsOn ':klib:installTestLibrary'
dependsOn 'installTestLibrary'
goldValue = "This is a side effect of a test library linked into the binary.\nYou should not be seeing this.\n\nHello\n"
source = "link/omit/hello.kt"
// We force library inclusion, so need to see the warning banner.
+1 -30
View File
@@ -23,33 +23,4 @@ apply plugin: 'kotlin'
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile project(path: ':backend.native', configuration: 'cli_bc')
}
def dist = distDir.absolutePath
def suffix = isWindows() ? ".bat" : ""
// TODO: Ideally we want to write just konanArtifacts{} clause here,
// but we need to make Kotlin/Native Gradle Plugin a dependence
// of our buildScripts first.
task compileKonanTestLibrary(type: Exec) {
dependsOn ':dist'
def compiler = "$dist/bin/konanc$suffix"
def source = 'src/testLibrary'
def artifact = 'build/konan/bin/testLibrary'
executable compiler
args source, '-o', artifact, '-p', 'library'
}
task installTestLibrary(type: Exec) {
dependsOn 'compileKonanTestLibrary'
def tool = "$dist/bin/klib$suffix"
def repo = "$dist/klib/common"
def library = 'build/konan/bin/testLibrary.klib'
executable tool
args 'install', library, '-repository', repo
}
}