CPT is software for testing (among other things) one's opening repertoire knowledge.
I'm wondering if there are any other similar pieces of software I should consider.
You can use Listudy (disclaimer I own that site) for exactly that. I created Listudy to train my own repertoire by playing against it. For this spaced repetition is used so the training is always working on the moves you're weakest on. You can upload your own repertoire in form of a PGN or import studies from Lichess. You can look here for example studies: https://listudy.org/en/studies/search
And best of all, Listudy is free and open source: https://github.com/ArneVogel/listudy
Bookup/Chess Openings Wizard, Chess Opening Trainer (which had a PC version too) and Chess Position Trainer are some of the main options, but just for completeness sake:
Chessbase lets you add 'training annotation' to moves in a game, so when you switch on training, it will hide the continuation, and quiz you.
Lucas Chess now lets you set up a Personal Opening Guide, and then test it via Learn Tactics by repetition.
SCID has a 'find best move' feature.
Heuristic Opening Repertoire Specialist & Trainer (H.O.R.S.T.) allows you to "train variations by using a training assistant."
Jan Kaan's Bookbuilder has a "book training module."
I like the online chesstempo beta opening manager and trainer. I have read on the facebook page of chess position trainer, that chess position trainer 6 is coming this year. I aspect a lot from this software.
Lucas Chess has some interesting repertoire making functions. Like importing best moves or all best moves from a bin book, for one collar. You can export the openings to pgn but I have noticed that there is an error and there are many threefold and more-fold repetitions in the games. You can solve this by importing the pgn in chess position trainer and export to pgn again. I also like Hiarcs Chess explorer. You can sort games for one player by opening name. So you can make repertoires for it. You can edit the player name in a text editor or in Chess Assistant.
The very commercial Bookup (also goes by the name Chess Openings Wizard) is probably the big contender for the PC.
I believe there are a few phone apps that help with this as well like the Chess Opening Trainer (iPhone)
As I see this question six years after you ask it, I can now answer with the online tool Chessable ( https://www.chessable.com/ ).
It sells courses and whole books turned into courses, but it also still allows uploading your own courses as PGN. And then it lets you train them like Chess Position Trainer does.
It isn't as smart about transpositions as CPT is (just plays lines), but that has its advantages as well as its disadvantages.