I'm pleased to see all these fixes. However, I noticed a few breakages. They come from relying on undocumented behavior, but only using the public interface, so others might be affected. I don't propose to patch them, but perhaps to make a note in NEWS or (for the last two) to add a paragraph in the manual explaining how to achieve the same goal – the reference documentation doesn't have enough examples.
* test-begin and test-end now require strings. The old version accepted symbols. * test-approximate requires real arguments. The old version accepted complex arguments. * The exported variable test-log-to-file is gone.