Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warning causing problems #8

Closed
pghmcfc opened this issue Sep 16, 2013 · 8 comments
Closed

Warning causing problems #8

pghmcfc opened this issue Sep 16, 2013 · 8 comments

Comments

@pghmcfc
Copy link

pghmcfc commented Sep 16, 2013

Not sure if this is a bug in F:S:P or further down, but I see this when running the test suite:

$ ./Build test
t/00-compile.t ...................... ok
# 
# 
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.09
# perl: 5.016003 (wanted 5.006) on linux from /usr/bin/perl
# 
# Carp                                          => 1.26       (want any version)
# Dist::Zilla::PluginBundle::Author::KENTNL     => module not found. (want v1.8.3) 
# Dist::Zilla::PluginBundle::Author::KENTNL::Lite => module not found. (want v1.3.0) 
# File::ShareDir                                => 1.03       (want any version)
# FindBin                                       => 1.51       (want any version)
# IO::Handle                                    => 1.33       (want any version)
# IPC::Open3                                    => 1.12       (want any version)
# Module::Build                                 => 0.4007     (want 0.4007) 
# Path::Class::Dir                              => 0.32       (want any version)
# Path::Class::File                             => 0.32       (want any version)
# Path::FindDev                                 => 0.2.0      (want any version)
# Path::IsDev                                   => 0.3.0      (want any version)
# Path::Tiny                                    => 0.033      (want any version)
# Pod::Coverage::TrustPod                       => module not found. (want any version)
# Sub::Exporter                                 => 0.986      (want any version)
# Test::CPAN::Changes                           => module not found. (want 0.19)   
# Test::CPAN::Meta                              => module not found. (want any version)
# Test::Kwalitee                                => module not found. (want 1.08)   
# Test::More                                    => 0.98       (want 0.98)   
# Test::Pod                                     => module not found. (want 1.41)   
# Test::Pod::Coverage                           => module not found. (want 1.08)   
# lib                                           => 0.63       (want any version)
# strict                                        => 1.07       (want any version)
# version                                       => 0.9902     (want 0.9901) 
# warnings                                      => 1.13       (want any version)
# 
# Thanks for using my code.  I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
# 
t/000-report-versions-tiny.t ........ ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/01_devel.t ........................ ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/02_installed_only.t ............... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/03_installed_and_dev_different.t .. ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/04_developing_installed.t ......... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/05_devel_spec.t ................... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/06_distname.t ..................... ok
All tests successful.
Files=8, Tests=10,  1 wallclock secs ( 0.03 usr  0.00 sys +  0.89 cusr  0.07 csys =  0.99 CPU)
Result: PASS

After installing the dist anyway and then trying to build Pod::Spell, which has just introduced use of F:S:P, the test suite now fails (didn't with F:S:P 0.4.4):

$ make test AUTHOR_TESTING=1 RELEASE_TESTING=1
Skip blib/lib/auto/share/dist/Pod-Spell/wordlist (unchanged)
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Name[\s]"Path::IsDev::Object::DEMOLISH"[\s]used[\s]only[\s]once:[\s]possible[\s]typo[\s]at[\s]/usr/share/perl5/vendor_perl/Class/Tiny.pm[\s]line[\s]92. at t/00-compile.t line 65, <GEN10> line 2.
#   Failed test 'no warnings found'
#   at t/00-compile.t line 82.
#          got: '1'
#     expected: '0'
# Looks like you failed 1 test of 4.
t/00-compile.t ................ 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests 
# 
# 
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.09
# perl: 5.018001 (wanted 5.006) on linux from /usr/bin/perl
# 
# Carp                                          => 1.32       (want any version)
# Class::Tiny                                   => 0.008      (want any version)
# ExtUtils::MakeMaker                           => 6.76       (want 6.30)   
# File::ShareDir::Install                       => 0.05       (want 0.03)   
# File::ShareDir::ProjectDistDir                => 0.5.1      (want any version)
# File::Slurp                                   => 9999.19    (want any version)
# File::Spec                                    => 3.40       (want any version)
# File::Temp                                    => 0.2301     (want any version)
# IO::Handle                                    => 1.34       (want any version)
# IPC::Open3                                    => 1.13       (want any version)
# Lingua::EN::Inflect                           => 1.895      (want any version)
# Pod::Coverage::TrustPod                       => 0.100002   (want any version)
# Pod::Escapes                                  => 1.04       (want any version)
# Pod::Parser                                   => 1.61       (want any version)
# Test::CPAN::Changes                           => 0.23       (want 0.19)   
# Test::CPAN::Meta                              => 0.23       (want any version)
# Test::Deep                                    => 0.11       (want any version)
# Test::Kwalitee                                => 1.14       (want 1.08)   
# Test::More                                    => 0.9805     (want 0.88)   
# Test::Pod                                     => 1.48       (want 1.41)   
# Test::Pod::Coverage                           => 1.08       (want 1.08)   
# Text::Wrap                                    => 2012.0818  (want any version)
# base                                          => 2.18       (want any version)
# constant                                      => 1.27       (want any version)
# locale                                        => 1.02       (want any version)
# strict                                        => 1.07       (want any version)
# version                                       => 0.9904     (want 0.9901) 
# warnings                                      => 1.18       (want any version)
# 
# Thanks for using my code.  I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
# 
t/000-report-versions-tiny.t .. ok
t/author-critic.t ............. ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/author-pod-spell.t .......... ok
t/author-test-eol.t ........... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/basic.t ..................... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/debug.t ..................... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/get-stopwords.t ............. ok
t/release-cpan-changes.t ...... ok
# Unable to parse MANIFEST.SKIP file:
# No such file or directory
# Using default skip data from ExtUtils::Manifest 1.63
t/release-dist-manifest.t ..... ok
t/release-distmeta.t .......... ok
t/release-kwalitee.t .......... ok
t/release-meta-json.t ......... ok
t/release-minimum-version.t ... ok
t/release-mojibake.t .......... ok
t/release-pod-coverage.t ...... ok
t/release-pod-linkcheck.t ..... skipped: Test::Pod::LinkCheck required for testing POD
t/release-pod-syntax.t ........ ok
t/release-portability.t ....... ok
t/release-test-version.t ...... ok
t/release-unused-vars.t ....... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 92.
t/text-block.t ................ ok
Test Summary Report
-------------------
t/00-compile.t              (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1
Files=22, Tests=117, 10 wallclock secs ( 0.07 usr  0.02 sys +  9.21 cusr  0.32 csys =  9.62 CPU)
Result: FAIL
Failed 1/22 test programs. 1/117 subtests failed.
@pghmcfc
Copy link
Author

pghmcfc commented Sep 16, 2013

Of course, if I don't set AUTHOR_TESTING then the Pod-Spell build succeeds but it doesn't look good with the warnings anyway ;-)

@pghmcfc
Copy link
Author

pghmcfc commented Sep 18, 2013

Now that Path::FindDev uses Class::Tiny as well, it's producing warnings too:

$ ./Build test
t/00-compile.t ...................... ok
# 
# 
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.09
# perl: 5.018001 (wanted 5.006) on linux from /usr/bin/perl
# 
# Carp                                          => 1.32       (want any version)
# Dist::Zilla::PluginBundle::Author::KENTNL     => module not found. (want v1.8.3) 
# Dist::Zilla::PluginBundle::Author::KENTNL::Lite => module not found. (want v1.3.0) 
# File::ShareDir                                => 1.03       (want any version)
# FindBin                                       => 1.51       (want any version)
# IO::Handle                                    => 1.34       (want any version)
# IPC::Open3                                    => 1.13       (want any version)
# Module::Build                                 => 0.4007     (want 0.4007) 
# Path::Class::Dir                              => 0.32       (want any version)
# Path::Class::File                             => 0.32       (want any version)
# Path::FindDev                                 => 0.3.0      (want any version)
# Path::IsDev                                   => 0.3.1      (want any version)
# Path::Tiny                                    => 0.033      (want any version)
# Pod::Coverage::TrustPod                       => module not found. (want any version)
# Sub::Exporter                                 => 0.986      (want any version)
# Test::CPAN::Changes                           => module not found. (want 0.19)   
# Test::CPAN::Meta                              => module not found. (want any version)
# Test::Kwalitee                                => module not found. (want 1.08)   
# Test::More                                    => 0.9805     (want 0.98)   
# Test::Pod                                     => module not found. (want 1.41)   
# Test::Pod::Coverage                           => module not found. (want 1.08)   
# lib                                           => 0.63       (want any version)
# strict                                        => 1.07       (want any version)
# version                                       => 0.9904     (want 0.9901) 
# warnings                                      => 1.18       (want any version)
# 
# Thanks for using my code.  I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
# 
t/000-report-versions-tiny.t ........ ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/01_devel.t ........................ ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/02_installed_only.t ............... ok
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/03_installed_and_dev_different.t .. ok
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/04_developing_installed.t ......... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/05_devel_spec.t ................... ok
Name "Path::IsDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
Name "Path::FindDev::Object::DEMOLISH" used only once: possible typo at /usr/share/perl5/vendor_perl/Class/Tiny.pm line 93.
t/06_distname.t ..................... ok
All tests successful.
Files=8, Tests=10,  1 wallclock secs ( 0.04 usr  0.01 sys +  0.78 cusr  0.08 csys =  0.91 CPU)
Result: PASS

@kentfredric
Copy link
Member

Thanks for the bug report.

I'd imaging thats Class::Tiny's fault, but hard to know.

So two questions,

  1. Can you try run the tests with PERL5OPT='-MCarp::Always' to get a bigger backtrace
  2. Can you try the latest ( 0.009 ) Class::Tiny to rule out anything it might have fixed?

I mean, I don't do anything directly with DEMOLISH, so I'm just going to go straight to reporting this bug there when I get a better backtrace =)

@kentfredric
Copy link
Member

Actually, I think I have an idea ... its probably that you're using one of those annoying versions of something in the testing stack that turns additional warnings on globally, even for things that didn't ask for it.

Its still a bug, ... just working out where and what the right solution is is the hard part.

@pghmcfc
Copy link
Author

pghmcfc commented Sep 18, 2013

I'm afraid I'm already using Class::Tiny 0.009 and when I used Carp::Always I got exactly the same diagnostics, nothing extra. Sorry about that.

@dagolden
Copy link

Fixed in Class::Tiny 0.010 being shipped to CPAN now.

@pghmcfc
Copy link
Author

pghmcfc commented Sep 18, 2013

Works for me, thanks.

@kentfredric
Copy link
Member

Fixed dependencies should exist for anyone who uses IsDev>=0.3.2 or FindDev>=0.3.1.

Thanks for reporting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants