diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b7ed087..dde78dd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,13 +30,6 @@ jobs: java-version: '17' distribution: 'temurin' -# - uses: actions/checkout@v2 -# - name: Set up Java -# uses: actions/setup-java@v2 -# with: -# java-version: '11' -# distribution: 'adopt' - - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 @@ -44,14 +37,3 @@ jobs: uses: gradle/gradle-build-action@v2 with: arguments: allTests - -# - name: List Tests -# run: ls .;echo "---build";ls build/;echo "---test-results"; ls build/test-results/;echo "---jvmTest"; ls build/test-results/jvmTest/ -# -# - name: Test Report -# uses: dorny/test-reporter@v1 -# if: success() || failure() -# with: -# name: Unit Test Results -# path: build/test-results/**/*.xml -# reporter: java-junit diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ad3f4e4..173a6b2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,40 +19,25 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v3 + - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' + - name: Validate Gradle wrapper uses: gradle/wrapper-validation-action@v1 + - name: Decode run: | mkdir -p ~/.gradle echo "${{secrets.OSSRH_SIGNING_SECRET_KEY_RING_FILE}}" > ~/.gradle/secring.gpg.b64 base64 -d ~/.gradle/secring.gpg.b64 > ~/.gradle/secring.gpg -# - name: Run Tests -# uses: gradle/gradle-build-action@v2 -# env: -# NEXUS_HOST: ${{ secrets.OSSRH_HOST }} -# NEXUS_USER: ${{ secrets.OSSRH_USER }} -# NEXUS_PASS: ${{ secrets.OSSRH_PASS }} -# # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# with: -# arguments: --stacktrace deploy -Psigning.keyId=${{secrets.OSSRH_SIGNING_KEY_ID}} -Psigning.password='${{secrets.OSSRH_GPG_SECRET_KEY_PASSWORD}}' -Psigning.secretKeyRingFile=$(echo ~/.gradle/secring.gpg) - name: Publish package run: ./gradlew --stacktrace deploy -Psigning.keyId=${{secrets.OSSRH_SIGNING_KEY_ID}} -Psigning.password='${{secrets.OSSRH_GPG_SECRET_KEY_PASSWORD}}' -Psigning.secretKeyRingFile=$(echo ~/.gradle/secring.gpg) env: NEXUS_HOST: ${{ secrets.OSSRH_HOST }} NEXUS_USER: ${{ secrets.OSSRH_USER }} NEXUS_PASS: ${{ secrets.OSSRH_PASS }} -# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -# - name: Report unit tests -# uses: dorny/test-reporter@v1 -# if: always() -# with: -# name: Gradle Tests -# path: '**/build/test-results/*/TEST-*.xml' -# reporter: java-junit -# fail-on-error: true diff --git a/build.gradle.kts b/build.gradle.kts index f4e49dc..7ed11ac 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,18 +40,17 @@ kotlin { iosSimulatorArm64() macosX64() macosArm64() -// tvos() -// tvosArm64() -// tvosSimulatorArm64() -// tvosX64() -// watchos() -// watchosArm32() -// watchosSimulatorArm64() -// watchosArm64() -// watchosX64() + tvos() + tvosArm64() + tvosSimulatorArm64() + tvosX64() + watchos() + watchosArm32() + watchosSimulatorArm64() + watchosArm64() + watchosX64() // wasm() // wasm32() -// mingwX86() mingwX64() sourceSets { diff --git a/src/commonTest/kotlin/subChain/SubChainSequentialTest.kt b/src/commonTest/kotlin/subChain/SubChainSequentialTest.kt index 143e612..9d8c1d6 100644 --- a/src/commonTest/kotlin/subChain/SubChainSequentialTest.kt +++ b/src/commonTest/kotlin/subChain/SubChainSequentialTest.kt @@ -13,6 +13,7 @@ import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.test.runTest import kotlinx.coroutines.withContext import kotlin.test.Test +import kotlin.test.assertContains import kotlin.test.assertEquals import kotlin.time.ExperimentalTime import kotlin.time.measureTime @@ -45,13 +46,18 @@ class SubChainSequentialTest { @Test fun parallelData() = runTest { + val symbols = "0123456789" withContext(Dispatchers.Default) { - val ctx = TestContext(text = "0123456789", some = 3) + val ctx = TestContext(text = symbols, some = 3) val t = measureTime { chain.exec(ctx) } println("TIME: $t") - assertEquals("9;8;7;6;5;4;3;2;1;0;", ctx.atomicText.value) + // In parallel mode the order is not guaranteed + symbols.forEach { + assertContains(ctx.atomicText.value, "$it;") + } + } } @@ -94,7 +100,7 @@ class SubChainSequentialTest { text = "" str.map { TestSubContext(str = it.toString(), parent = this) }.asFlow() } - worker("") { val del = 1000 - str.toLong() * 100; println("$str $del"); delay(del); str += ";" } + worker("") { val del = 20 - str.toLong() * 2; println("$str $del"); delay(del); str += ";" } worker("") { parent.atomicText.update { it + str } } } }.build()