dart
dart copied to clipboard
create_exercise: Remove logic that adds version parameter and Generate exercises on a per test-case basis
With problem-specifications removal of the version property from canonical-data.json and the reorganization of problem-specifications, our exercise generator is out of date.
Read the reorg link for details, but basically when we generate exercises from problem-specifications we need to use the .meta/tests.toml files created in #262 for each exercise. The tests.toml files will tell create_exercise which test cases to generate. And that is a big change.
So the create_exercise will need to be updated to do the following:
- [ ] Determine if the exercise already exists by checking whether the exercise folder exists and contains a
.meta/tests.tomlfile. - [ ] If the exercise does already exist, then create_exercise will only check to see if the
.meta/tests.tomlis still up to date. You may use the new canonical_data_syncer tool (via /bin/fetch-canonical_data_syncer) to do this check. Just need to verify that it fails properly. - [ ] If the exercise is missing the
.meta/tests.tomlfile, then throw an error describing that the toml file is missing. - [ ] If the exercise does not exist or , then create the exercise as normal, but only the test cases defined in the
.meta/tests.tomlfile.
@Stargator I know it has been a year since this issue was created, but is it still relevant? I'm looking to make some Hacktoberfest contributions this year that are more than exercise updates and this seems like this seem like it would be helpful.
@Zureka Yes, this is still needed.
@Zureka Let me know if you're going to work on this.
Related to and I think supersedes #183
@Stargator Yep, I plan to spend some time on this. I've been a bit busy this past week so I apologize for not looking at it sooner.
@Stargator I just want to clarify a few things after taking a closer look at this:
- [ ] If the exercise does already exist, then create_exercise will only check to see if the .meta/tests.toml is still up to date. You may use the new canonical_data_syncer tool (via /bin/fetch-canonical_data_syncer) to do this check. Just need to verify that it fails properly.
Does the canonical_data_syncer still exist? I can't seem to find it anywhere.
That may have been replaced with configlet. I think configlet checks the tests toml