Skip Menu |

This queue is for tickets about the Test-Spelling CPAN distribution.

Report information
The Basics
Id: 84869
Status: resolved
Priority: 0/
Queue: Test-Spelling

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



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.
Subject: Re: [rt.cpan.org #84869] Results are inconsistent between users if there are private wordlists defined
Date: Fri, 26 Apr 2013 08:08:51 -0400
To: bug-Test-Spelling [...] rt.cpan.org
From: Ivan Tubert-Brohman <itub [...] cpan.org>
I've always recommended not running spelling checks automatically during user installation. Only run them during development. You never know which dictionary the user will have, and spelling errors are not really platform-dependent, so what do you gain by running them on every user's machine? Ivan On Fri, Apr 26, 2013 at 7:48 AM, Karen Etheridge via RT < bug-Test-Spelling@rt.cpan.org> wrote: Show quoted text
> Fri Apr 26 07:48:41 2013: Request 84869 was acted upon. > Transaction: Ticket created by ETHER > Queue: Test-Spelling > Subject: Results are inconsistent between users if there are private > wordlists defined > Broken in: (no value) > Severity: Normal > Owner: Nobody > Requestors: ether@cpan.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=84869 > > > > 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. >
I agree completely. The documentation suggests disabling or excluding your spell tests: "Note that it is a bad idea to run spelling tests during an ordinary CPAN distribution install, or in a package that will run in an uncontrolled environment. There is no way of predicting whether the word list or spellcheck program used will give the same results. You can include the test in your distribution, but be sure to run it only for authors of the module by guarding it in a skip_all unless -d 'inc/.author' clause, or by putting the test in your distribution's xt/ directory. Anyway, people installing your module really do not need to run such tests, as it is unlikely that the documentation will acquire typos while in transit. :-)"
Subject: Re: [rt.cpan.org #84869] Results are inconsistent between users if there are private wordlists defined
Date: Fri, 26 Apr 2013 08:39:38 -0700
To: Ivan Tubert-Brohman via RT <bug-Test-Spelling [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
On Fri, Apr 26, 2013 at 08:09:07AM -0400, Ivan Tubert-Brohman via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=84869 > > > I've always recommended not running spelling checks automatically during > user installation. Only run them during development.
I unserstand and agree with that completely, and I'm not in any way suggesting doing that. The problem arises when another author wishes to make changes to the distribution, and runs the release tests, either as a check or before he performs an upload. Many distributions have more than one active contributor and more than one releaser.
RT-Send-CC: itub [...] cpan.org
Reopening because I think the point of this ticket was completely overlooked with the excessive zeal in reminding me not to run release tests at installation time, which I'M NOT.
On 2013-4月-26 金 11:47:14, ETHER wrote: Show quoted text
> Reopening because I think the point of this ticket was completely > overlooked with the excessive zeal in reminding me not to run release > tests at installation time, which I'M NOT.
Test::Spelling does seem like the right layer to fix this. If you supply a pull request I'll release it. :)
On 2013-04-26 09:06:09, SARTAK wrote: Show quoted text
> Test::Spelling does seem like the right layer to fix this. If you > supply a pull request I'll release it. :)
ok, I think this should do the trick: https://github.com/sartak/test-spelling/pull/6
Released as 0.19. Thanks Karen!