iqbalansari / restart-emacs

A simple emacs package to restart emacs from within emacs
GNU General Public License v3.0
154 stars 14 forks source link

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

Closed tarsius closed 7 years ago

tarsius commented 7 years ago

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.

tarsius commented 7 years ago

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.

tarsius commented 7 years ago

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.

iqbalansari commented 7 years ago

Fixed in https://github.com/iqbalansari/restart-emacs/commit/3a8f54425dea5042dcc80fad3044ef4100e5d158. Thanks!