Subject: | Results are inconsistent between users if there are private wordlists defined |
I use this module via the dzil plugin Dist::Zilla::Plugin::Test::PodSpelling. Recently it was brought to my attention that the release tests on some of my distributions did not pass for someone else, because I had neglected to notice that some of the stopwords in that distribution were not listed as stopwords directly, but instead were in my private wordlist file on my development box (~/.aspell.en.pws).
I think it would probably be saner if this module did not make use of private wordlists by default. For aspell, the changed option would be --home-dir=/does_not_exist or perhaps --per-conf=/does_not_exist.conf, to prevent the use of a local configuration that does not match what someone else would use.
I'm not sure at what level this should be done. we have some choices:
- the creator of the release test, Dist::Zilla::Plugin::Test::Spelling
- this module, Test::Spelling
- or deeper still, Pod::Spell
I think this module is the right place, as it's where we actually call out to the spelling program itself. Pod::Spell is only concerned with parsing pod, and the plugin just creates the .t file that calls Test::Spelling (although it could possibly use a new Test::Spelling option called something like no_local_conf).
I'm open to ideas -- if I know a particular approach will be accepted, I'm happy to do the patch and figure out what options to pass to the various spell programs.