exercism / cpp

Exercism exercises in C++.
https://exercism.org/tracks/cpp
MIT License
258 stars 212 forks source link

Boost -> Catch Exercise Conversions #253

Closed arcuru closed 5 years ago

arcuru commented 5 years ago

Setting this up to track the total list of exercises that need to be converted. This is part of #233.

Here's the full list of exercises, not including the 2 open problems in PRs. I plan to work mostly top down according to this list, as this reflects the order that students will encounter the problems.

When I setup PRs I will be doing it in groups where it makes sense, probably with how they're grouped below. If nobody LGTMs, I'll leave the PRs up for at least a week and then push them myself unless I think there's something that needs more consensus. If I do get some LGTMs, I may push them faster.

I'm merging these in with 1 commit per problem, and doing a rebase and merge so that every commit is present in the master branch.

Unlocked by nothing:

Core exercises and their child dependencies:

arcuru commented 5 years ago

Every exercise now has an open PR, and each PR has a planned merge date in the description for either April 13th or April 20th, the next 2 Saturdays.

If you'd like to help, read over the changes made to the test suites and give a :+1: on the PRs if you don't see anything obviously wrong, or call out issues if you do. The only real way I could've messed up and not found it in testing is if I somehow deleted full tests or changed the test cases. I read all the changelists looking for that so I consider it fairly unlikely to have happened.

Gigasecond/Meetup will still have a dependency on Boost::date_time as discussed in #224, but everything else has 0 references to Boost.

KevinWMatthews commented 5 years ago

Awesome! Quick work.

HenryRLee commented 5 years ago

I have a question. Is it possible that we modify the download script to use a single catch.hpp file, instead of copying it in every exercise?

arcuru commented 5 years ago

@HenryRLee The exercism/cli team would need to support that, and they haven't been interested. The C track has the same issue.

It's not actually as simple as it sounds either, since they'd need to make sure the right version is downloaded, and we'd need to maintain backwards compat forever. The problem is that students get pinned to a git commit when they first checkout an exercise, and only ever get updated to the latest test versions if they request it manually.

HenryRLee commented 5 years ago

@patricksjackson Cool! It's been a great progress anyway. Thanks.

arcuru commented 5 years ago

All done and merged, closing.