A couple of konanc driver tests.
This commit is contained in:
committed by
alexander-gorshenev
parent
742934a1d8
commit
9fd555471a
@@ -1554,11 +1554,24 @@ task deserialized_inline0(type: RunKonanTest) {
|
|||||||
source = "serialization/deserialized_inline0.kt"
|
source = "serialization/deserialized_inline0.kt"
|
||||||
flags = ["--enable", "deserializer"]
|
flags = ["--enable", "deserializer"]
|
||||||
}
|
}
|
||||||
|
|
||||||
task deserialized_listof0(type: RunKonanTest) {
|
task deserialized_listof0(type: RunKonanTest) {
|
||||||
source = "serialization/deserialized_listof0.kt"
|
source = "serialization/deserialized_listof0.kt"
|
||||||
flags = ["--enable", "deserializer"]
|
flags = ["--enable", "deserializer"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Just check that the driver is able to produce runnable binaries.
|
||||||
|
task driver0(type: RunDriverKonanTest) {
|
||||||
|
goldValue = "Hello, world!\n"
|
||||||
|
source = "runtime/basic/hello0.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task driver_opt(type: RunDriverKonanTest) {
|
||||||
|
goldValue = "Hello, world!\n"
|
||||||
|
source = "runtime/basic/hello0.kt"
|
||||||
|
flags = ["-opt"]
|
||||||
|
}
|
||||||
|
|
||||||
// Enable when deserialization for default arguments is fixed.
|
// Enable when deserialization for default arguments is fixed.
|
||||||
task inline_defaultArgs_linkTest(type: LinkKonanTest) {
|
task inline_defaultArgs_linkTest(type: LinkKonanTest) {
|
||||||
disabled = true
|
disabled = true
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ abstract class KonanTest extends JavaExec {
|
|||||||
def launcherBc = new File("${dist.canonicalPath}/lib/launcher.bc").absolutePath
|
def launcherBc = new File("${dist.canonicalPath}/lib/launcher.bc").absolutePath
|
||||||
def startKtBc = new File("${dist.canonicalPath}/lib/start.kt.bc").absolutePath
|
def startKtBc = new File("${dist.canonicalPath}/lib/start.kt.bc").absolutePath
|
||||||
def stdlibKtBc = new File("${dist.canonicalPath}/lib/stdlib.kt.bc").absolutePath
|
def stdlibKtBc = new File("${dist.canonicalPath}/lib/stdlib.kt.bc").absolutePath
|
||||||
|
def konanc = new File("${dist.canonicalPath}/bin/konanc").absolutePath
|
||||||
def mainC = 'main.c'
|
def mainC = 'main.c'
|
||||||
def outputSourceSetName = "testOutputLocal"
|
def outputSourceSetName = "testOutputLocal"
|
||||||
String outputDirectory = null
|
String outputDirectory = null
|
||||||
@@ -219,6 +220,37 @@ class RunKonanTest extends KonanTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is another way to run the compiler.
|
||||||
|
// Don't use this task for regular testing as
|
||||||
|
// project.exec + a shell script isolate the jvm
|
||||||
|
// from IDEA. Use the RunKonanTest instead.
|
||||||
|
@ParallelizableTask
|
||||||
|
class RunDriverKonanTest extends KonanTest {
|
||||||
|
void compileTest(List<String> filesToCompile, String exe) {
|
||||||
|
runCompiler(filesToCompile, exe, flags?:[])
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void runCompiler(List<String> filesToCompile, String output, List<String> moreArgs) {
|
||||||
|
def log = new ByteArrayOutputStream()
|
||||||
|
project.exec {
|
||||||
|
commandLine konanc
|
||||||
|
args = ["-output", output,
|
||||||
|
"-ea",
|
||||||
|
*filesToCompile,
|
||||||
|
*moreArgs,
|
||||||
|
*project.globalTestArgs]
|
||||||
|
if (project.testTarget) {
|
||||||
|
args "-target", project.testTarget
|
||||||
|
}
|
||||||
|
standardOutput = log
|
||||||
|
errorOutput = log
|
||||||
|
}
|
||||||
|
def logString = log.toString()
|
||||||
|
project.file("${output}.compilation.log").write(logString)
|
||||||
|
println(logString)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ParallelizableTask
|
@ParallelizableTask
|
||||||
class RunInteropKonanTest extends KonanTest {
|
class RunInteropKonanTest extends KonanTest {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user