At least IR browseer tests can now be run

This commit is contained in:
Ugljesa Jovanovic 2021-02-09 14:41:08 +01:00
parent 5fdcc62b15
commit 8e295feb46
No known key found for this signature in database
GPG Key ID: 178E6DFCECCB0E0F
10 changed files with 62 additions and 15 deletions

View File

@ -48,7 +48,7 @@ object Deps {
val stdLib = "stdlib-common"
val test = "test-common"
val testAnnotation = "test-annotations-common"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:${Versions.kotlinCoroutines}"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}"
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinSerialization}"
val atomicfu = "com.ionspin.kotlin.atomicfu:atomicfu:${Versions.atomicfu}"

View File

@ -17,7 +17,6 @@ org.gradle.parallel=true
kotlin.code.style=official
kotlin.js.compiler=ir
#kotlin.js.experimental.generateKotlinExternals=true
#kotlin.mpp.enableGranularSourceSetsMetadata=true
kotlin.native.disableCompilerDaemon=true

View File

@ -44,7 +44,7 @@ kotlin {
val hostOsName = getHostOsName()
runningOnLinuxx86_64 {
jvm()
js {
js() {
browser {
testTask {
enabled = false //Until I sort out testing on travis
@ -284,12 +284,12 @@ tasks {
}
}
val jsNodeTest by getting(KotlinJsTest::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
showStandardStreams = true
}
}
// val jsNodeTest by getting(KotlinJsTest::class) {
// testLogging {
// events("PASSED", "FAILED", "SKIPPED")
// showStandardStreams = true
// }
// }
// val legacyjsNodeTest by getting(KotlinJsTest::class) {
//

View File

@ -83,7 +83,7 @@ kotlin {
runningOnLinuxx86_64 {
println("Configuring Linux X86-64 targets")
jvm()
js {
js(IR) {
browser {
testTask {
isRunningInGitlabCi {
@ -258,6 +258,7 @@ kotlin {
dependencies {
implementation(kotlin(Deps.Common.test))
implementation(kotlin(Deps.Common.testAnnotation))
implementation(Deps.Common.coroutines)
}
}
@ -627,7 +628,6 @@ tasks {
showStackTraces = true
}
}
val jsNodeTest by getting(KotlinJsTest::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
@ -653,6 +653,20 @@ tasks {
showStandardStreams = true
}
}
// val jsLegacyBrowserTest by getting(KotlinJsTest::class) {
// testLogging {
// events("PASSED", "FAILED", "SKIPPED")
// showStandardStreams = true
// }
// }
//
// val jsIrBrowserTest by getting(KotlinJsTest::class) {
// testLogging {
// events("PASSED", "FAILED", "SKIPPED")
// showStandardStreams = true
// }
// }
}
if (getHostOsName() == "windows") {

View File

@ -3,6 +3,7 @@ package com.ionspin.kotlin.crypto.hash
import com.ionspin.kotlin.crypto.LibsodiumInitializer
import com.ionspin.kotlin.crypto.util.encodeToUByteArray
import com.ionspin.kotlin.crypto.util.hexStringToUByteArray
import com.ionspin.kotlin.crypto.util.runTest
import com.ionspin.kotlin.crypto.util.toHexString
import kotlin.test.Test
import kotlin.test.assertTrue
@ -31,8 +32,8 @@ class HashTest {
@Test
fun hashTestSha256() {
LibsodiumInitializer.initializeWithCallback {
fun hashTestSha256() = runTest {
LibsodiumInitializer.initialize()
val input = ("Input for various hash functions").encodeToUByteArray()
val expected = ("2bb078ec5993b5428355ba49bf030b1ac7" +
"1519e635aebc2f28124fac2aef9264").hexStringToUByteArray()
@ -48,12 +49,12 @@ class HashTest {
assertTrue {
multipartResult.contentEquals(expected)
}
}
}
@Test
fun hashTestSha512() {
fun hashTestSha512() = runTest {
LibsodiumInitializer.initializeWithCallback {
val input = ("Input for various hash functions").encodeToUByteArray()
val expected = ("34fcbcdcfe9e6aa3e6d5a64649afcfafb449c4b8435a65e5e7b7c2b6af3b04da350acee" +

View File

@ -16,6 +16,7 @@
package com.ionspin.kotlin.crypto.util
import kotlinx.coroutines.CoroutineScope
import kotlin.coroutines.Continuation
import kotlin.coroutines.EmptyCoroutineContext
import kotlin.coroutines.startCoroutine
@ -35,4 +36,6 @@ fun testBlocking(block : suspend () -> Unit) {
block.startCoroutine(continuation)
}
expect fun runTest(block: suspend (scope : CoroutineScope) -> Unit)

View File

@ -0,0 +1,9 @@
package com.ionspin.kotlin.crypto.debug
/**
* Created by Ugljesa Jovanovic
* ugljesa.jovanovic@ionspin.com
* on 08-Feb-2021
*/
class DebugTest {
}

View File

@ -0,0 +1,7 @@
package com.ionspin.kotlin.crypto.util
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.promise
actual fun runTest(block: suspend (scope : CoroutineScope) -> Unit): dynamic = GlobalScope.promise { block(this) }

View File

@ -0,0 +1,7 @@
package com.ionspin.kotlin.crypto.util
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.runBlocking
actual fun runTest(block: suspend (scope : CoroutineScope) -> Unit) = runBlocking { block(this) }

View File

@ -0,0 +1,7 @@
package com.ionspin.kotlin.crypto.util
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.runBlocking
actual fun runTest(block: suspend (scope : CoroutineScope) -> Unit) = runBlocking { block(this) }