This gives a good overview of the pains in getting a package on to CRAN, but that is sadly only the beginning. If you end up getting users, the process described here becomes fractally bad for future updates, as you can also receive rejections for breaking any test in any dependent package.
Any test, in any package, even if it is using some regex on an error message and you updated the wording to remove a typo.