pboyd / MooseX-Test-Role

Test functions for Moose roles
2 stars 5 forks source link

installation without moose #7

Open ba01m opened 3 years ago

ba01m commented 3 years ago

I want to use your module in oder to test Moo::Roles.

Moose is not a requirement for your module, so the installation fails on my box, because the tests always use Moose.

Could you change the tests so the would could skip if no moose is installed?

Test Summary Report
-------------------
t/03_requires_ok.t     (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 4 tests but ran 2.
t/04_consumer_of.t     (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 4 tests but ran 2.
t/05_consuming_object.t (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 4 tests but ran 2.
t/06_consuming_class.t (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 4 tests but ran 2.
t/07_unused.t          (Wstat: 65280 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 3 tests but ran 2.
ba01m commented 3 years ago
Can't locate Moose.pm in @INC (you may need to install the Moose module) (@INC contains: /home/ba01m/repos/other/MooseX-Test-Role/t /home/ba01m/repos/other/MooseX-Test-Role/lib /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/x86_64-linux-thread-multi /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0 /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/5.32.0/x86_64-linux-thread-multi /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/5.32.0) at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Moo/HandleMoose.pm line 61.
    Moo::HandleMoose::inject_real_metaclass_for("TestRole0") called at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Moo/HandleMoose/FakeMetaClass.pm line 37
    Moo::HandleMoose::FakeMetaClass::isa(Moo::HandleMoose::FakeMetaClass=HASH(0x56444a04c0d8), "Moose::Meta::Role") called at /home/ba01m/repos/other/MooseX-Test-Role/lib/MooseX/Test/Role.pm line 98
    MooseX::Test::Role::_derive_role_type("TestRole0") called at /home/ba01m/repos/other/MooseX-Test-Role/lib/MooseX/Test/Role.pm line 20
    MooseX::Test::Role::requires_ok("TestRole0", "a") called at t/03_requires_ok.t line 39
    main::test_role_type("Moo::Role") called at t/03_requires_ok.t line 22
    main::__ANON__() called at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Test/Builder.pm line 374
    eval {...} called at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Test/Builder.pm line 374
    Test::Builder::subtest(Test::Builder=HASH(0x564449707048), "Moo", CODE(0x564449ffe9e0)) called at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Test/More.pm line 809
    Test::More::subtest("Moo", CODE(0x564449ffe9e0)) called at t/03_requires_ok.t line 22
 at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Test/Builder.pm line 418.
    Test::Builder::subtest(Test::Builder=HASH(0x564449707048), "Moo", CODE(0x564449ffe9e0)) called at /home/ba01m/perl5/perlbrew/perls/perl-5.32.0-threads/lib/site_perl/5.32.0/Test/More.pm line 809
    Test::More::subtest("Moo", CODE(0x564449ffe9e0)) called at t/03_requires_ok.t line 22
# Looks like your test exited with 255 just after 2.
ufobat commented 3 years ago

My PR would fix the described behavoiur, but there seems to be a other bug?

> prove -l -v t/05_consuming_object.t                                                             
t/05_consuming_object.t .. 
1..4
# Subtest: Moose
    ok 1 # skip Moose::Role not installed
    ok 2 # skip Moose::Role not installed
    ok 3 # skip Moose::Role not installed
    ok 4 # skip Moose::Role not installed
    ok 5 # skip Moose::Role not installed
    ok 6 # skip Moose::Role not installed
    ok 7 # skip Moose::Role not installed
    1..7
ok 1 - Moose
# Subtest: Moo
    not ok 1 - should return a blessed reference

    #   Failed test 'should return a blessed reference'
    #   at t/05_consuming_object.t line 49.
    ok 2 - consuming_object should return something
    ok 3 - consuming_object should return an object that consumes the role
    ok 4 - role methods can be called on the object
    ok 5 - around's should work
    ok 6 - extra object methods can be passed to consuming_object
    ok 7 - MooseX::Test::Role::Consumer2->can('c')
    ok 8 - default required methods return undef
    ok 9 - explicit methods override the default
    ok 10 - scalar values can be passed to consuming_object to create object methods
    ok 11 - around's should wrap passed in methods
    1..11
    # Looks like you failed 1 test of 11.
not ok 2 - Moo

#   Failed test 'Moo'
#   at t/05_consuming_object.t line 15.
# Subtest: Role::Tiny
    ok 1 - consuming_object should return something
    ok 2 - consuming_object should return an object that consumes the role
    ok 3 - role methods can be called on the object
    ok 4 - around's should work
    ok 5 - extra object methods can be passed to consuming_object
    ok 6 - MooseX::Test::Role::Consumer8->can('c')
    ok 7 - default required methods return undef
    ok 8 - explicit methods override the default
    ok 9 - scalar values can be passed to consuming_object to create object methods
    ok 10 - around's should wrap passed in methods
    1..10
ok 3 - Role::Tiny
# Subtest: Bad arguments
    ok 1 - consuming_object should die when passed something that's not a role
    ok 2 - consuming_object should die when passed something that's not a role
    1..2
ok 4 - Bad arguments
# Looks like you failed 1 test of 4.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests 

Test Summary Report
-------------------
t/05_consuming_object.t (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1