johanvts/emacs-fireplace

Please add a prefix to test-helper.el to avoid conflicts with 68 other packages

tarsius opened this issue · 2 comments

There exist at least 69 packages that contain a file named test-helper.el that also provides the feature test-helper.

This leads to issues for users who have at least two of these packages installed. It is unlikely that such a user would be able to run the tests of all of those packages. If the primary test file of one of those packages does (require 'test-helper), then it is undefined which of the various test-helper.el files gets loaded. Which it is, depends on the order of the load-path.

To avoid this conflicts, you should rename your test-helper.el to <your-package>-test-helper.el and adjust the feature and symbol prefixes accordingly.

Also don't forget to update the require form in your primary test file and/or update references to the library/feature elsewhere. Also, if your primary test file is named something like test.el, then please consider renaming that too (same for any other utility elisp files your repositoroy may contain).

Thanks!

PS: This issue is a bit generic because I had to open 69 issues.

I've been informed, that ert-runner automatically loads the test-helper.el file. So you should not rename that file. Instead please see this issue, where I suggest that the (provide 'test-helper) should be dropped instead. Please accept my apologize for opening these issues prematurely.

The maintainer of ert-runner agrees that it would be best to remove (provide 'test-runner), and I would like to now encourage you to make that change. For some opinions on the matter please see rejeep/ert-runner.el#38.

Thanks for looking into this and sorry again for jumping the gun a bit.