I definitely see the point, but I have a different perspective to add that was the primary reason I mocked cmp.

Testing the behavior of cmp() is not trivial. At minimum it would take three tests to verify greater than, less than, and equal scenarios. We might want more tests for versions that include differing length tuples. We might want to test tuples vs. lists. So I see it as substantially more work up front to test the correctness of the comparison algorithm. By using a known and stable comparison tool that presumably has its own extensive collection of tests, I save a lot of work right now.

If we want to change comparison tools in the future, I think that changing this unit test is a very small price to pay for not having to write an entire suite of tests for the comparison algorithm.

Lastly, there are tests in this suite that do verify the newest module is chosen from a collection of modules, which is doing part of what you're suggesting. It verifies that for one or two specific sets of data, we get the expected result. This test separately verifies that I didn't screw up the argument order for cmp.