From 8e295feb4638eee0987f9c56243039861399f225 Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Tue, 9 Feb 2021 14:41:08 +0100 Subject: [PATCH 1/5] At least IR browseer tests can now be run --- buildSrc/src/main/kotlin/Deps.kt | 2 +- gradle.properties | 1 - multiplatform-crypto-api/build.gradle.kts | 14 +++++++------- .../build.gradle.kts | 18 ++++++++++++++++-- .../com/ionspin/kotlin/crypto/hash/HashTest.kt | 9 +++++---- .../com/ionspin/kotlin/crypto/util/TestUtil.kt | 3 +++ .../ionspin/kotlin/crypto/debug/DebugTest.kt | 9 +++++++++ .../com/ionspin/kotlin/crypto/util/runTest.kt | 7 +++++++ .../com/ionspin/kotlin/crypto/util/runTest.kt | 7 +++++++ .../com/ionspin/kotlin/crypto/util/TestUtil.kt | 7 +++++++ 10 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/debug/DebugTest.kt create mode 100644 multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt create mode 100644 multiplatform-crypto-libsodium-bindings/src/jvmTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt create mode 100644 multiplatform-crypto-libsodium-bindings/src/nativeTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt diff --git a/buildSrc/src/main/kotlin/Deps.kt b/buildSrc/src/main/kotlin/Deps.kt index 5eec6a7..8198cec 100644 --- a/buildSrc/src/main/kotlin/Deps.kt +++ b/buildSrc/src/main/kotlin/Deps.kt @@ -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}" diff --git a/gradle.properties b/gradle.properties index 51da301..7f02a10 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 diff --git a/multiplatform-crypto-api/build.gradle.kts b/multiplatform-crypto-api/build.gradle.kts index 30299cc..7eb6f8c 100644 --- a/multiplatform-crypto-api/build.gradle.kts +++ b/multiplatform-crypto-api/build.gradle.kts @@ -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) { // diff --git a/multiplatform-crypto-libsodium-bindings/build.gradle.kts b/multiplatform-crypto-libsodium-bindings/build.gradle.kts index 4cb2428..11163a1 100644 --- a/multiplatform-crypto-libsodium-bindings/build.gradle.kts +++ b/multiplatform-crypto-libsodium-bindings/build.gradle.kts @@ -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") { diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt index 70800e3..86dc9c6 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt @@ -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" + diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt index 6358a90..1f28e02 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt @@ -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) + diff --git a/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/debug/DebugTest.kt b/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/debug/DebugTest.kt new file mode 100644 index 0000000..9c23968 --- /dev/null +++ b/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/debug/DebugTest.kt @@ -0,0 +1,9 @@ +package com.ionspin.kotlin.crypto.debug + +/** + * Created by Ugljesa Jovanovic + * ugljesa.jovanovic@ionspin.com + * on 08-Feb-2021 + */ +class DebugTest { +} diff --git a/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt b/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt new file mode 100644 index 0000000..3308acc --- /dev/null +++ b/multiplatform-crypto-libsodium-bindings/src/jsTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt @@ -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) } diff --git a/multiplatform-crypto-libsodium-bindings/src/jvmTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt b/multiplatform-crypto-libsodium-bindings/src/jvmTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt new file mode 100644 index 0000000..1bfc4a2 --- /dev/null +++ b/multiplatform-crypto-libsodium-bindings/src/jvmTest/kotlin/com/ionspin/kotlin/crypto/util/runTest.kt @@ -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) } + diff --git a/multiplatform-crypto-libsodium-bindings/src/nativeTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt b/multiplatform-crypto-libsodium-bindings/src/nativeTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt new file mode 100644 index 0000000..1bfc4a2 --- /dev/null +++ b/multiplatform-crypto-libsodium-bindings/src/nativeTest/kotlin/com/ionspin/kotlin/crypto/util/TestUtil.kt @@ -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) } + From 9e46cbc7ea166e13ecb5bb03d4cc545517739b50 Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Tue, 9 Feb 2021 14:45:45 +0100 Subject: [PATCH 2/5] Make all tests use runTest coroutine wrapper --- README.md | 3 ++- .../com/ionspin/kotlin/crypto/SmokeTest.kt | 1 + ...ticatedEncryptionWithAssociatedDataTest.kt | 13 +++++++------ .../ionspin/kotlin/crypto/auth/AuthTest.kt | 9 +++++---- .../com/ionspin/kotlin/crypto/box/BoxTest.kt | 11 ++++++----- .../crypto/generichash/GenericHashTest.kt | 5 +++-- .../ionspin/kotlin/crypto/hash/HashTest.kt | 2 ++ .../com/ionspin/kotlin/crypto/kdf/KdfTest.kt | 5 +++-- .../crypto/keyexchange/KeyExchangeTest.kt | 5 +++-- .../kotlin/crypto/pwhash/PasswordHashTest.kt | 6 +++--- .../scalarmult/ScalarMultiplicationTest.kt | 3 ++- .../kotlin/crypto/secretbox/SecretBoxTest.kt | 5 +++-- .../crypto/secretstream/SecretStreamTest.kt | 3 ++- .../kotlin/crypto/shorthash/ShortHashTest.kt | 5 +++-- .../kotlin/crypto/signature/SignatureTest.kt | 7 ++++--- .../kotlin/crypto/stream/StreamTest.kt | 5 +++-- .../kotlin/crypto/util/LibsodiumRandomTest.kt | 9 +++++---- .../kotlin/crypto/util/LibsodiumUtilTest.kt | 19 ++++++++++--------- .../com/ionspin/kotlin/crypto/sample/Main.kt | 4 ++-- 19 files changed, 69 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 881411f..2b30433 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,8 @@ The libsodium binding library is not published yet, once the sample showing the Before using the wrapper you need to initialize the underlying libsodium library. You can use either a callback or coroutines approach ``` - LibsodiumInitializer.initializeWithCallback { + = runTest { + LibsodiumInitializer.initializeWithCallback { // Libsodium initialized } ``` diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/SmokeTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/SmokeTest.kt index 28c1665..872026f 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/SmokeTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/SmokeTest.kt @@ -4,6 +4,7 @@ import com.ionspin.kotlin.crypto.generichash.GenericHash import com.ionspin.kotlin.crypto.util.encodeToUByteArray import com.ionspin.kotlin.crypto.util.testBlocking import com.ionspin.kotlin.crypto.util.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/aead/AuthenticatedEncryptionWithAssociatedDataTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/aead/AuthenticatedEncryptionWithAssociatedDataTest.kt index fe3a6b5..38ebae3 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/aead/AuthenticatedEncryptionWithAssociatedDataTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/aead/AuthenticatedEncryptionWithAssociatedDataTest.kt @@ -2,6 +2,7 @@ package com.ionspin.kotlin.crypto.aead import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.encodeToUByteArray +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFailsWith import kotlin.test.assertTrue @@ -13,7 +14,7 @@ import kotlin.test.assertTrue */ class AuthenticatedEncryptionWithAssociatedDataTest { @Test - fun testXChaCha20Poly1305Ieft() { + fun testXChaCha20Poly1305Ieft() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -66,7 +67,7 @@ class AuthenticatedEncryptionWithAssociatedDataTest { } @Test - fun testXChaCha20Poly1305IeftDetached() { + fun testXChaCha20Poly1305IeftDetached() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -121,7 +122,7 @@ class AuthenticatedEncryptionWithAssociatedDataTest { } @Test - fun testChaCha20Poly1305Ieft() { + fun testChaCha20Poly1305Ieft() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -173,7 +174,7 @@ class AuthenticatedEncryptionWithAssociatedDataTest { } @Test - fun testChaCha20Poly1305IeftDetached() { + fun testChaCha20Poly1305IeftDetached() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -227,7 +228,7 @@ class AuthenticatedEncryptionWithAssociatedDataTest { } @Test - fun testChaCha20Poly1305() { + fun testChaCha20Poly1305() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -278,7 +279,7 @@ class AuthenticatedEncryptionWithAssociatedDataTest { } @Test - fun testChaCha20Poly1305Detached() { + fun testChaCha20Poly1305Detached() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/auth/AuthTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/auth/AuthTest.kt index 9650457..81eb9d8 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/auth/AuthTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/auth/AuthTest.kt @@ -4,6 +4,7 @@ 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.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertTrue @@ -15,7 +16,7 @@ import kotlin.test.assertTrue */ class AuthTest { @Test - fun testAuth() { + fun testAuth() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("I wonder if it would be possible" + " to get some lyrics in these tests").encodeToUByteArray() @@ -41,7 +42,7 @@ class AuthTest { } @Test - fun testAuthHmacSha256() { + fun testAuthHmacSha256() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("I wonder if it would be possible" + " to get some lyrics in these tests").encodeToUByteArray() @@ -66,7 +67,7 @@ class AuthTest { } @Test - fun testAuthHmacSha512() { + fun testAuthHmacSha512() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("I wonder if it would be possible" + " to get some lyrics in these tests").encodeToUByteArray() @@ -93,7 +94,7 @@ class AuthTest { } @Test - fun simpleKeygenTest() { + fun simpleKeygenTest() = runTest { LibsodiumInitializer.initializeWithCallback { val authKey = Auth.authKeygen() assertTrue { authKey.size == crypto_auth_KEYBYTES } diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/box/BoxTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/box/BoxTest.kt index e1ebb59..fdc5929 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/box/BoxTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/box/BoxTest.kt @@ -4,6 +4,7 @@ import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.encodeToUByteArray import kotlin.random.Random import kotlin.random.nextUBytes +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFailsWith import kotlin.test.assertTrue @@ -15,7 +16,7 @@ import kotlin.test.assertTrue */ class BoxTest { @Test - fun keypairTest() { + fun keypairTest() = runTest { LibsodiumInitializer.initializeWithCallback { val keypair = Box.keypair() assertTrue { @@ -28,7 +29,7 @@ class BoxTest { } @Test - fun testBoxEasy() { + fun testBoxEasy() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "Message message message".encodeToUByteArray() val senderKeypair = Box.keypair() @@ -49,7 +50,7 @@ class BoxTest { } @Test - fun testBoxEasyDetached() { + fun testBoxEasyDetached() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "Message message message".encodeToUByteArray() val senderKeypair = Box.keypair() @@ -82,7 +83,7 @@ class BoxTest { } @Test - fun testBeforeNonceAndMessage() { + fun testBeforeNonceAndMessage() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "Message message message".encodeToUByteArray() val senderKeypair = Box.keypair() @@ -109,7 +110,7 @@ class BoxTest { } @Test - fun testSeal() { + fun testSeal() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "Message message message".encodeToUByteArray() val recipientKeypair = Box.keypair() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/generichash/GenericHashTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/generichash/GenericHashTest.kt index d39c387..dfc214c 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/generichash/GenericHashTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/generichash/GenericHashTest.kt @@ -5,6 +5,7 @@ import com.ionspin.kotlin.crypto.util.encodeToUByteArray import com.ionspin.kotlin.crypto.util.testBlocking import com.ionspin.kotlin.crypto.util.toHexString import kotlin.test.BeforeTest +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -17,7 +18,7 @@ class GenericHashTest { @Test - fun testGenericHash() { + fun testGenericHash() = runTest { LibsodiumInitializer.initializeWithCallback { val inputString = "1234567890" val inputStringBuilder = StringBuilder() @@ -46,7 +47,7 @@ class GenericHashTest { } @Test - fun testGenericHashMultipart() { + fun testGenericHashMultipart() = runTest { LibsodiumInitializer.initializeWithCallback { val updates = 14 val input = "1234567890" diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt index 86dc9c6..a5972c7 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/hash/HashTest.kt @@ -5,6 +5,7 @@ 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 com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -17,6 +18,7 @@ class HashTest { //Not present in Lazy sodium // @Test // fun hashTest() { +// = runTest { // LibsodiumInitializer.initializeWithCallback { // val input = ("Input for various hash functions").encodeToUByteArray() // val expected = ("34fcbcdcfe9e6aa3e6d5a64649afcfafb449c4b8435a65e5e7b7c2b6af3b04da350acee" + diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/kdf/KdfTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/kdf/KdfTest.kt index 06c4f99..3530c2d 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/kdf/KdfTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/kdf/KdfTest.kt @@ -1,6 +1,7 @@ package com.ionspin.kotlin.crypto.kdf import com.ionspin.kotlin.crypto.LibsodiumInitializer +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFails import kotlin.test.assertFalse @@ -11,7 +12,7 @@ import kotlin.test.assertTrue */ class KdfTest { @Test - fun testKdf() { + fun testKdf() = runTest { LibsodiumInitializer.initializeWithCallback { val masterKey = Kdf.keygen() val subkey1 = Kdf.deriveFromKey(1, crypto_kdf_BYTES_MAX, "test1234", masterKey) @@ -31,4 +32,4 @@ class KdfTest { } } } -} \ No newline at end of file +} diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/keyexchange/KeyExchangeTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/keyexchange/KeyExchangeTest.kt index 0235066..bdc1c6f 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/keyexchange/KeyExchangeTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/keyexchange/KeyExchangeTest.kt @@ -2,6 +2,7 @@ package com.ionspin.kotlin.crypto.keyexchange import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -12,7 +13,7 @@ import kotlin.test.assertTrue */ class KeyExchangeTest { @Test - fun testKeyExchange() { + fun testKeyExchange() = runTest { LibsodiumInitializer.initializeWithCallback { val keypairClient = KeyExchange.keypair() val keypairServer = KeyExchange.keypair() @@ -40,7 +41,7 @@ class KeyExchangeTest { } @Test - fun testKeyExchangeSeeded() { + fun testKeyExchangeSeeded() = runTest { LibsodiumInitializer.initializeWithCallback { val seed = UByteArray(crypto_kx_SEEDBYTES) { 7U } val keypairClient = KeyExchange.seedKeypair(seed) diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/pwhash/PasswordHashTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/pwhash/PasswordHashTest.kt index 942ac78..6148caa 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/pwhash/PasswordHashTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/pwhash/PasswordHashTest.kt @@ -4,6 +4,7 @@ import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.toHexString import kotlin.random.Random import kotlin.random.nextUBytes +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -14,7 +15,7 @@ import kotlin.test.assertTrue */ class PasswordHashTest { @Test - fun testPasswordHash() { + fun testPasswordHash() = runTest { LibsodiumInitializer.initializeWithCallback { val randomBytes = Random(0).nextUBytes(crypto_pwhash_SALTBYTES) val password = "correct horse battery staple" @@ -35,8 +36,7 @@ class PasswordHashTest { } @Test - fun testPasswordHashForStorage() { - + fun testPasswordHashForStorage() = runTest { LibsodiumInitializer.initializeWithCallback { val password = "correct horse battery staple" val hashedPassword = PasswordHash.str( diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/scalarmult/ScalarMultiplicationTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/scalarmult/ScalarMultiplicationTest.kt index 6b60495..997fd9c 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/scalarmult/ScalarMultiplicationTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/scalarmult/ScalarMultiplicationTest.kt @@ -2,6 +2,7 @@ package com.ionspin.kotlin.crypto.scalarmult import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -29,7 +30,7 @@ class ScalarMultiplicationTest { val expectedSharedSecretString = "4a5d9d5ba4ce2de1728e3bf480350f25e07e21c947d19e3376f09b3c1e161742" @Test - fun testScalarMultiplication() { + fun testScalarMultiplication() = runTest { LibsodiumInitializer.initializeWithCallback { val alicePublicKey = ScalarMultiplication.scalarMultiplicationBase(aliceSecretKey) assertTrue { diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretbox/SecretBoxTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretbox/SecretBoxTest.kt index bae56b1..0b27dee 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretbox/SecretBoxTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretbox/SecretBoxTest.kt @@ -3,6 +3,7 @@ package com.ionspin.kotlin.crypto.secretbox import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.encodeToUByteArray import com.ionspin.kotlin.crypto.util.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFailsWith import kotlin.test.assertTrue @@ -15,7 +16,7 @@ import kotlin.test.assertTrue class SecretBoxTest { @Test - fun secretBoxTestEasy() { + fun secretBoxTestEasy() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() @@ -50,7 +51,7 @@ class SecretBoxTest { } @Test - fun secretBoxTestDetached() { + fun secretBoxTestDetached() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretstream/SecretStreamTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretstream/SecretStreamTest.kt index a000e99..b061457 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretstream/SecretStreamTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/secretstream/SecretStreamTest.kt @@ -4,6 +4,7 @@ import com.ionspin.kotlin.bignum.integer.util.hexColumsPrint import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.encodeToUByteArray import com.ionspin.kotlin.crypto.util.testBlocking +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFailsWith import kotlin.test.assertTrue @@ -17,7 +18,7 @@ class SecretStreamTest { @Test - fun testSecretStream() = testBlocking { + fun testSecretStream() = runTest { LibsodiumInitializer.initializeWithCallback { val message = ("Ladies and Gentlemen of the class of '99: If I could offer you " + "only one tip for the future, sunscreen would be it.").encodeToUByteArray() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/shorthash/ShortHashTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/shorthash/ShortHashTest.kt index cae34ca..c55e06b 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/shorthash/ShortHashTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/shorthash/ShortHashTest.kt @@ -5,6 +5,7 @@ import com.ionspin.kotlin.crypto.shortinputhash.ShortHash import com.ionspin.kotlin.crypto.util.encodeToUByteArray import com.ionspin.kotlin.crypto.util.hexStringToUByteArray import com.ionspin.kotlin.crypto.util.toHexString +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -16,7 +17,7 @@ import kotlin.test.assertTrue class ShortHashTest { @Test - fun testShortHash() { + fun testShortHash() = runTest { LibsodiumInitializer.initializeWithCallback { val expected = "00e5d509c14e81bb".hexStringToUByteArray() val input = "Libsodium test" @@ -30,7 +31,7 @@ class ShortHashTest { } @Test - fun testKeygen() { + fun testKeygen() = runTest { LibsodiumInitializer.initializeWithCallback { assertTrue { val key = ShortHash.shortHashKeygen() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/signature/SignatureTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/signature/SignatureTest.kt index d82d939..86f598d 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/signature/SignatureTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/signature/SignatureTest.kt @@ -2,6 +2,7 @@ package com.ionspin.kotlin.crypto.signature import com.ionspin.kotlin.crypto.LibsodiumInitializer import com.ionspin.kotlin.crypto.util.encodeToUByteArray +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFailsWith import kotlin.test.assertTrue @@ -12,7 +13,7 @@ import kotlin.test.assertTrue class SignatureTest { @Test - fun testSignAndVerify() { + fun testSignAndVerify() = runTest { LibsodiumInitializer.initializeWithCallback { val keys = Signature.keypair() val message = "Some text that will be signed".encodeToUByteArray() @@ -33,7 +34,7 @@ class SignatureTest { } @Test - fun testDetachedSignAndVerify() { + fun testDetachedSignAndVerify() = runTest { LibsodiumInitializer.initializeWithCallback { val keys = Signature.keypair() val message = "Some text that will be signed".encodeToUByteArray() @@ -51,7 +52,7 @@ class SignatureTest { } @Test - fun testMultipart() { + fun testMultipart() = runTest { LibsodiumInitializer.initializeWithCallback { val keys = Signature.keypair() val message1 = "Some text that ".encodeToUByteArray() diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/stream/StreamTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/stream/StreamTest.kt index f86bfeb..3003444 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/stream/StreamTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/stream/StreamTest.kt @@ -7,6 +7,7 @@ import com.ionspin.kotlin.crypto.util.randombytes_SEEDBYTES import com.ionspin.kotlin.crypto.util.toHexString import kotlin.random.Random import kotlin.random.nextUBytes +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertTrue @@ -20,7 +21,7 @@ class StreamTest { val seed = UByteArray(randombytes_SEEDBYTES) { 0U } @Test - fun testChaCha20Stream() { + fun testChaCha20Stream() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "This is a cha cha message".encodeToUByteArray() val nonce = LibsodiumRandom.bufDeterministic(crypto_stream_chacha20_NONCEBYTES, seed) @@ -47,7 +48,7 @@ class StreamTest { } @Test - fun testChaCha20IetfStream() { + fun testChaCha20IetfStream() = runTest { LibsodiumInitializer.initializeWithCallback { val message = "This is a cha cha message".encodeToUByteArray() val nonce = LibsodiumRandom.bufDeterministic(crypto_stream_chacha20_ietf_NONCEBYTES, seed) diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumRandomTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumRandomTest.kt index a515a32..426613c 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumRandomTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumRandomTest.kt @@ -1,6 +1,7 @@ package com.ionspin.kotlin.crypto.util import com.ionspin.kotlin.crypto.LibsodiumInitializer +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertTrue @@ -13,7 +14,7 @@ import kotlin.test.assertTrue class LibsodiumRandomTest { @Test - fun testRandom() { + fun testRandom()= runTest { //This is just a sanity test, it should fail on occasion though, with probability of 1/2^32 LibsodiumInitializer.initializeWithCallback { val random = LibsodiumRandom.random() @@ -23,7 +24,7 @@ class LibsodiumRandomTest { } @Test - fun testRandomUniform() { + fun testRandomUniform() = runTest { //This is just a sanity test, it should fail on occasion though, with probability of 1/2^31 LibsodiumInitializer.initializeWithCallback { val random = LibsodiumRandom.uniform(UInt.MAX_VALUE / 2U) @@ -32,7 +33,7 @@ class LibsodiumRandomTest { } @Test - fun testRandomBuffer() { + fun testRandomBuffer() = runTest { //This is just a sanity test, it should fail on occasion though, with probability of 1/2^52 LibsodiumInitializer.initializeWithCallback { val result = LibsodiumRandom.buf(20) @@ -42,7 +43,7 @@ class LibsodiumRandomTest { } @Test - fun testRandomBufferDeterministic() { + fun testRandomBufferDeterministic() = runTest { //This is just a sanity test, it should fail on occasion though, with probability of 1/2^52 LibsodiumInitializer.initializeWithCallback { val seed = UByteArray(randombytes_SEEDBYTES) { 1U } diff --git a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtilTest.kt b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtilTest.kt index ed6ec89..3a65336 100644 --- a/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtilTest.kt +++ b/multiplatform-crypto-libsodium-bindings/src/commonTest/kotlin/com/ionspin/kotlin/crypto/util/LibsodiumUtilTest.kt @@ -3,6 +3,7 @@ package com.ionspin.kotlin.crypto.util import com.ionspin.kotlin.bignum.integer.util.hexColumsPrint import com.ionspin.kotlin.crypto.LibsodiumInitializer import kotlin.math.exp +import com.ionspin.kotlin.crypto.util.runTest import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertTrue @@ -15,7 +16,7 @@ import kotlin.test.assertTrue class LibsodiumUtilTest { @Test - fun testMemzero() { + fun testMemzero() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U) LibsodiumUtil.memzero(input) @@ -26,7 +27,7 @@ class LibsodiumUtilTest { } @Test - fun testMemcmp() { + fun testMemcmp() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U) val input2 = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U) @@ -41,7 +42,7 @@ class LibsodiumUtilTest { } @Test - fun testPadding() { + fun testPadding() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U) val blocksize = 16 @@ -57,7 +58,7 @@ class LibsodiumUtilTest { } @Test - fun testPaddingChars() { + fun testPaddingChars() = runTest { LibsodiumInitializer.initializeWithCallback { val input = charArrayOf('a', 'b', 'c', 'd').map { it.toByte().toUByte() }.toUByteArray() val blocksize = 4 @@ -73,7 +74,7 @@ class LibsodiumUtilTest { } @Test - fun testPaddingAligned() { + fun testPaddingAligned() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U) val blocksize = 2 @@ -91,7 +92,7 @@ class LibsodiumUtilTest { } @Test - fun testPaddingMultiblock() { + fun testPaddingMultiblock() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 6U) val blocksize = 4 @@ -109,7 +110,7 @@ class LibsodiumUtilTest { } @Test - fun testToBase64() { + fun testToBase64() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U) val expected = "AQIDBAUgQID_" @@ -128,7 +129,7 @@ class LibsodiumUtilTest { } @Test - fun testToBase64Unaligned() { + fun testToBase64Unaligned() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U, 128U) val expected = "AQIDBAUgQID_gA" @@ -147,7 +148,7 @@ class LibsodiumUtilTest { } @Test - fun toHex() { + fun toHex() = runTest { LibsodiumInitializer.initializeWithCallback { val input = ubyteArrayOf(1U, 2U, 3U, 4U, 5U, 32U, 64U, 128U, 255U, 128U) val hex = LibsodiumUtil.toHex(input) diff --git a/sample/src/jsMain/kotlin/com/ionspin/kotlin/crypto/sample/Main.kt b/sample/src/jsMain/kotlin/com/ionspin/kotlin/crypto/sample/Main.kt index 841f0c5..1b2174c 100644 --- a/sample/src/jsMain/kotlin/com/ionspin/kotlin/crypto/sample/Main.kt +++ b/sample/src/jsMain/kotlin/com/ionspin/kotlin/crypto/sample/Main.kt @@ -11,7 +11,7 @@ import kotlin.browser.window fun main() { val runningOnNode = jsTypeOf(window) == "undefined" - if (!runningOnNode) { + if (!runningOnNode) = runTest { LibsodiumInitializer.initializeWithCallback { render(document.getElementById("root")) { app { @@ -19,7 +19,7 @@ fun main() { } } } - } else { + } else = runTest { LibsodiumInitializer.initializeWithCallback { val hash = Hash.sha512("123".encodeToUByteArray()) println("Hash (SHA512) of 123: ${hash.toHexString()}") From 658737d1a1cf8f94642b9197d11053524db7f8f0 Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Tue, 9 Feb 2021 16:13:08 +0100 Subject: [PATCH 3/5] Reenable runing browser tests --- multiplatform-crypto-libsodium-bindings/build.gradle.kts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/multiplatform-crypto-libsodium-bindings/build.gradle.kts b/multiplatform-crypto-libsodium-bindings/build.gradle.kts index 11163a1..738d574 100644 --- a/multiplatform-crypto-libsodium-bindings/build.gradle.kts +++ b/multiplatform-crypto-libsodium-bindings/build.gradle.kts @@ -86,11 +86,8 @@ kotlin { js(IR) { browser { testTask { - isRunningInGitlabCi { - enabled = false //Until I sort out testing on travis - } useKarma { - useChrome() + useChromeHeadless() } } } From d60f651cf9d19b2149c8516405221f685b2db5fb Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Tue, 9 Feb 2021 17:12:24 +0100 Subject: [PATCH 4/5] Add chrome bin env var --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 49e9027..258caa0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,9 @@ stages: - build - deploy +variables: + CHROME_BIN: "chromium" + workflow: rules: - if: $CI_EXTERNAL_PULL_REQUEST_IID From a11653c32be68a1504284ce2cb5a323a7d5b2b6b Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Tue, 9 Feb 2021 18:03:57 +0100 Subject: [PATCH 5/5] Deduplicate variables tag --- .gitlab-ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 258caa0..a39f58f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,9 +3,6 @@ stages: - build - deploy -variables: - CHROME_BIN: "chromium" - workflow: rules: - if: $CI_EXTERNAL_PULL_REQUEST_IID @@ -14,6 +11,7 @@ workflow: variables: GIT_SUBMODULE_STRATEGY: recursive + CHROME_BIN: "chromium" simpleCheck: stage: prepare