Oliver O.'s Avatar

Oliver O.

@olivero2.bsky.social

Kotlin Multiplatform Software | High-Concurrency Event-Based Systems | Advanced Testing

66 Followers  |  71 Following  |  79 Posts  |  Joined: 04.12.2023  |  2.1029

Latest posts by olivero2.bsky.social on Bluesky

Iโ€™d say the root problem is the build tool messing with parallel test scheduling, without knowledge about the way tests are structured, or test-specific concurrency requirements. Should really be the responsibility of a test framework.

09.08.2025 15:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Parallel Bits - Which Parts of Gradle Run in Parallel By default, nearly the entire invocation of Gradle is done serially, but there are ways to make it partially parallel.

A recent discussion has led me to realize that many folks do not fully grok the parts of Gradle that can be made parallel. By default almost all of Gradle runs in a serial way.

So I wrote a post about it

www.liutikas.net/2025/07/29/P...

#gradle

29.07.2025 18:29 โ€” ๐Ÿ‘ 28    ๐Ÿ” 6    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 1
Preview
Improve parallel tests concurrency ยท Issue #2669 ยท gradle/gradle When running unit tests in parallel using maxParallelForks, tests are allocated to forks statically, using a round-robin algorithm, on startup. This means that there is a chance that all your slow ...

All good points! When considering Test.setMaxParallelForks:

1. Gradle uses a suboptimal scheduling scheme: github.com/gradle/gradl...

2. Modern Kotlin test frameworks (Kotest, TestBalloon) provide fine-grained parallelism, using threads or, ideally, coroutines. (Note: I authored TestBalloon.)

08.08.2025 13:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thank you so much for the kind words! I can relate. Sometimes you get to the point where a complete restart is preferable to piling fixes on top of fixes.

01.08.2025 21:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Thank you! ๐ŸŽˆ will try hard to lift Kotlin test quality to new heights.

01.08.2025 14:37 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

โœ…๏ธ Use new Kotlin releases as they appear, while retaining backward compatibility with Kotlin 2.0.

01.08.2025 14:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

โœ…๏ธ Write tests quickly with ease, using TestBalloon's lightweight, yet powerful and extensible API.

โœ…๏ธ Be Multiplatform first and coroutines first with a single API for all platforms.

โœ…๏ธ Run and debug individual tests from the editor with TestBalloon's IntelliJ IDEA plugin.

01.08.2025 14:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

What's in it for you:

โœ…๏ธ Use state-of-the-art test organization with expressive names, an unrestricted hierarchical structure, multi-level configuration, dynamic test generation, parallelism and fixtures.

โœ…๏ธ Test faster without extra code generation tasks, reflection or classpath scanning.

01.08.2025 14:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - infix-de/testBalloon: TestBalloon is a coroutines-powered test framework providing structured testing for Kotlin Multiplatform. It is lightweight, heavy-lifting, and easy to use (like a ballo... TestBalloon is a coroutines-powered test framework providing structured testing for Kotlin Multiplatform. It is lightweight, heavy-lifting, and easy to use (like a balloon). - infix-de/testBalloon

Finally announcing a brand-new Kotlin Multiplatform test framework: TestBalloon is now ready for you to explore, built from the ground up to make writing all kinds of Kotlin tests simple and fun, everywhere!

Please share, tell me what you think!

github.com/infix-de/tes...

01.08.2025 14:00 โ€” ๐Ÿ‘ 22    ๐Ÿ” 9    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

Great! See you there! ๐Ÿ˜ƒ

22.07.2025 12:05 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Detrimental power struggle at work. We need to stop listening to false narratives and start looking at systems which incentivize damaging societies and the ecosystem we depend on.

17.07.2025 07:48 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Release 0.34.0 ยท vanniktech/gradle-maven-publish-plugin Added configuration cache support for publishing. Removed support for publishing through Sonatype OSSRH since it has been shut down. See the 0.33.0 release notes for upgrade instructions if you hav...

Version 0.34.0 of the gradle-maven-publish-plugin finally comes with configuration cache support. Dropping support for Sonatype OSSRH unblocked us from waiting for Gradle to resolve the underlying issue on their side.

github.com/vanniktech/g...

14.07.2025 09:53 โ€” ๐Ÿ‘ 16    ๐Ÿ” 5    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Yes, and I did not say otherwise. It's just two Gradle features that are supposed to make your life easier, but both come with fine print and slow things down.

12.07.2025 15:23 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Kotlin-dsl not reusing configuration-cache in clean builds ยท Issue #21265 ยท gradle/gradle Gradle 7.5 release announced that kotlin-dsl is CC compatible, but I have found an issue. Using an included build to create a convention plugin, written with kotlin-dsl, I want to reuse CC in clean...

Folks, who are still not convinced that kotlin-dsl is slow, might want to check this one:

github.com/gradle/gradl...

And there are other seemingly nice things that slow you down at some point:

www.zacsweers.dev/dont-use-typ...

12.07.2025 13:14 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
The case against `kotlin-dsl` I fear no man. But that thing... It scares me!

A great breakdown by @mbonnin.net on why you should avoid the "kotlin-dsl" Gradle plugin. Just write your binary plugins using a normal "org.jetbrains.kotlin.jvm" plugin

mbonnin.net/2025-07-10_t...

#gradle

11.07.2025 04:40 โ€” ๐Ÿ‘ 13    ๐Ÿ” 6    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If you want your existing Maven publishing to arrive in 2025, this is for you. If you'd like to know more about Maven Central snapshots, Gradle isolated projects, or quality API design, this is for you as well.

07.07.2025 17:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
TestBalloon - IntelliJ IDEs Plugin | Marketplace Official IntelliJ support plugin for TestBalloon, a Kotlin Multiplatform test framework. The support includes: Gutter icons to run individual tests or test suites from...

๐ŸŽˆ TestBalloon, the new Kotlin Multiplatform test framework just got an IDE companion: plugins.jetbrains.com/plugin/27749...

Use its gutter icons to run individual tests or test suites with any level of nesting from common code on all Kotlin targets.

Next stop: Support incremental compilation.

26.06.2025 19:17 โ€” ๐Ÿ‘ 7    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

๐ŸŽˆIncremental compilation will be addressed. Stay tuned.

The lightweight design seems to pay off: Kotlin 2.2.0 supported right on its release date. All Kotlin versions since 2.0.0 supported, and all Kotlin targets (even 3rd tier Native, all CI-tested).

24.06.2025 11:10 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Senior Developer for Kotlin/Wasm Compiler - JetBrains \ OpenSource Ecosystem \ Kotlin \ Kotlin Compiler - Careers

๐Ÿ“ฃ Weโ€™re hiring for Kotlin/Wasm!

Excited about Kotlin and WebAssembly? So are we.
Join our team to work on innovative tech thatโ€™s changing how web apps are built.

Apply now โคต๏ธ
kotl.in/wasm-apply

Repost appreciated! ๐Ÿ™Œ

#Kotlin #WebAssembly #Wasm #Hiring #DevJobs

20.06.2025 13:58 โ€” ๐Ÿ‘ 22    ๐Ÿ” 8    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

TestBalloon ๐ŸŽˆon the rise, even before being announced.

18.06.2025 10:55 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Zuerst mehr Ehrlichkeit in den Medien. Weniger faktisch falsche Mythenerzรคhlungen zugunsten Hochvermรถgender, mehr Offenheit รผber Geldflรผsse, ihre Hintergrรผnde, Machtverteilung und Machtausรผbung.

10.06.2025 09:44 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
How to draw an owl

Is it that meme you were looking for?

www.reddit.com/r/funny/comm...

01.06.2025 13:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - infix-de/testBalloon: TestBalloon is a coroutines-powered test framework providing structured testing for Kotlin Multiplatform. It is lightweight, heavy-lifting, and easy to use (like a ballo... TestBalloon is a coroutines-powered test framework providing structured testing for Kotlin Multiplatform. It is lightweight, heavy-lifting, and easy to use (like a balloon). - infix-de/testBalloon

I make multiplatform testing enjoyable. ๐Ÿ™‚

github.com/infix-de/tes...

01.06.2025 11:30 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Learning more about mastering library compatibility from a master of library compatibility @mbonnin.net. Now need to do my homework and revisit my Gradle setup.

26.05.2025 12:16 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Add TestBalloon support (!134) ยท Merge requests ยท OpenSavvy / Groundwork / Prepared ยท GitLab Adds support for TestBalloon, a new Kotlin Multiplatform test framework authored by one of the maintainers of Kotest. Through their experience with...

Also a big shoutout to @ivcanet.bsky.social for all the inspiring discussions that made TestBalloon what it is, and for being first to use the initial release about 6 hours after its publication: gitlab.com/opensavvy/gr...

26.05.2025 10:41 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
testBalloon/build-logic/src/main/kotlin/buildLogic.publishing-multiplatform.gradle.kts at 59694cc9619d0594848d660f3f73277d4ffb36a3 ยท infix-de/testBalloon TestBalloon is a coroutines-powered test framework providing structured testing for Kotlin Multiplatform. It is lightweight, heavy lifting, and easy to use (like a balloon). - infix-de/testBalloon

Thank you so much! I felt just the same when chatting with you. Please let me know how it works for you.

The Maven Central publication issue turned out to be what I'd consider to be a bug in the publication plugin, requiring an additional line of Gradle configuration.

github.com/infix-de/tes...

26.05.2025 10:29 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Me looking absolutely tired ๐Ÿฅฑ after partying, discussing incremental compilation with @bashorov.com, porting the compiler plugin to 2.2.0-RC in the hotel lobby and releasing TestBalloon at 4 am from my hotel room. So much fun together with all of you folks! โค๏ธ #KotlinConf

26.05.2025 09:20 โ€” ๐Ÿ‘ 8    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I wanted to, but after spokes breaking one after another on my rear wheel, my (pretty old) bike is up for serious repair or replacement. I won't have a trustworthy solution for KotlinConf, so it'll be the train for me. But if you touch Hamburg on your way, let me know!

04.05.2025 20:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Der grรถรŸte Denkfehler bei โ€žAuslรคnderkriminalitรคtโ€œ! Ein so weit verbreiteter Denkfehler bei Auslรคnderkriminalitรคt, dass sogar die Landeskriminalรคmter darauf hereinfallen und sich korrigieren mรผssen. Und warum Deutsche in ร–sterreich mehr als doppelt so ...

Gute Doku, der jedoch ein gewichtiger Verzerrungsaspekt fehlt. #Volksverpetzer erklรคrt, dass 20% der nicht-deutschen Tatverdรคchtigen keinen Wohnsitz in Deutschland hatten und weitere 20 bis 30 Prozent keinen festen Wohnsitz oder einen unbekannten.
www.volksverpetzer.de/faktencheck/...

25.04.2025 16:05 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

๐Ÿ‘ For sure, without considering this paranoid. Allowing a single point of failure ๐Ÿงจ has never been a good idea.

05.04.2025 12:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@olivero2 is following 19 prominent accounts