Skip to content

Conversation

@BNAndras
Copy link
Member

Related to #191, #194, and #207.

I was originally troubleshooting the leadling newline on all of our generated test suites. That turned out to be occurring because the generator was adding that line to separate the test suite from a version header at the top. However, the version header wasn't being generated any more. In the process of that, I realized we needed a GenerateAll command to bulk-generate test suites for all implemented practice exercises. This would help test additional fixes and tweaks across the entire track.

Once this command was implemented, I was able to test parsing the tests.toml files directly to filter out tests that shouldn't be included, finding two tests in anagram that should have been removed. I also discovered the occasional lack of a separating newline in execute blocks was at the boundaries of each group of test cases so that's handled as a result here and newlines are inserted properly between groups. Finally, nulls in the canonical data are remapped to v:null instead of an empty string which is important for flatten-array.

Using this command, I'll begin regenerating the test suites across the track. There are a few like dnd-character that require a lot of manual cleanup, but they'll be dealt with separately. Other exercises need a closer look on how to best present long lists since I manually put those across multiple lines and it would be good to keep that behavior rather than creating long one-liner lists. That'll likely be part of the next set of tweaks to the test generator, but what I have is probably enough for now.

@BNAndras BNAndras requested a review from a team January 19, 2026 17:55
@BNAndras BNAndras mentioned this pull request Jan 20, 2026
@BNAndras BNAndras merged commit 866baf4 into exercism:main Jan 20, 2026
3 checks passed
@BNAndras BNAndras deleted the upgrade-generator branch January 20, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants