Here's a fun story: we've just wrapped up the work...
# feed
p
Here's a fun story: we've just wrapped up the work on converting all Java code in snakeyaml-engine-kmp (a KMP port of snakeyaml-engine) to K Kotlin! The last phase focused on porting the tests; the endeavor started around a year ago. Dozens (maybe even >100) of PRs, with various level of complexity (from porting a trivial test class to creating a mechanism for sharing test resources across all targets). More trivial changes were made with the assistance of junie Junie (it was my first encounter with a coding agent). As a result, we have proper coverage, but also several bugs in non-JVM targets identified thanks to the increased coverage.
K 26
🚀 22
kudos to @Oleg Smirnov and @Adam S for their support in various forms, including reviewing lots of PRs!
a
Congratulations! For your information. SnakeYAML Engine got some fixes and refactorings in the latest code and test suite which are not yet released. (I am maintainer of SnakeYAML)
👍 1
thank you color 1
p
Thanks @AndreyVanDenHaag! We actually have a process in place to port changes from your repo, and indeed the changes you mentioned weren't yet analyzed by us. We'll do it soon!
👍 1
🧠 2
a
For your information. I was considering to completely re-write the core parsing logic (bytes -> tokens -> events -> node tree) because the current implementation was created for YAML 1.1 and adapted to YAML 1.2 It is a lot of work (many months) and I wonder if it is worth to do. The goal of this exercise would be to make 100% success coverage by the external test suite (it would fix edge cases for tabs and comments)
👍 2
p
I also thought about fixing the test cases in the YAML test suite that fail in our libs. Maybe there's a cheaper and good enough approach, other than a rewrite, but your have a ton of more experience here