On Wed, Jul 16, 2008 at 7:31 PM, via RT James Keenan
<[EMAIL PROTECTED]> wrote:
> # New Ticket Created by  James Keenan
> # Please include the string:  [perl #57026]
> # in the subject line of all future correspondence about this issue.
> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=57026 >
>
>
> ------------------------------------------------------------------------
> r29522 | bernhard | 2008-07-16 11:34:11 -0400 (Wed, 16 Jul 2008) | 2
> lines
>
> Merge the changes from branch 'remove_getfd' back into trunk.
>
> This commit has begun causing failures in the build tools tests.
> Running 'perl Configure.pl --test' today, I got the failures in the
> first attachment:
>
>
> t/tools/ops2pmutils/08-sort_ops................1/?
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/08-sort_ops.t line 78.
>
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/08-sort_ops.t line 125.
> t/tools/ops2pmutils/08-sort_ops................33/?
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/08-sort_ops.t line 179.
>
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/08-sort_ops.t line 313.
> # Looks like you failed 4 tests of 86.
> t/tools/ops2pmutils/08-sort_ops................ Dubious, test returned 4 
> (wstat 1024, 0x400)
>  Failed 4/86 subtests
> t/tools/ops2pmutils/09-prepare_real_ops........1/?
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/09-prepare_real_ops.t line 71.
>
> #   Failed test 'prepare_real_ops() returned successfully'
> #   at t/tools/ops2pmutils/09-prepare_real_ops.t line 73.
>
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/09-prepare_real_ops.t line 146.
> # Looks like you failed 3 tests of 38.
> t/tools/ops2pmutils/09-prepare_real_ops........ Dubious, test returned 3 
> (wstat 768, 0x300)
>  Failed 3/38 subtests
> t/tools/ops2pmutils/10-print_module............1/?
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/10-print_module.t line 76.
>
> #   Failed test 'prepare_real_ops() returned successfully'
> #   at t/tools/ops2pmutils/10-print_module.t line 78.
>
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/10-print_module.t line 132.
>
> #   Failed test 'prepare_real_ops() returned successfully'
> #   at t/tools/ops2pmutils/10-print_module.t line 134.
> # Looks like you failed 4 tests of 42.
> t/tools/ops2pmutils/10-print_module............ Dubious, test returned 4 
> (wstat 1024, 0x400)
>  Failed 4/42 subtests
> t/tools/ops2pmutils/11-print_h.................1/?
> #   Failed test 'sort_ops returned successfully'
> #   at t/tools/ops2pmutils/11-print_h.t line 74.
>
> #   Failed test 'prepare_real_ops() returned successfully'
> #   at t/tools/ops2pmutils/11-print_h.t line 76.
> # Looks like you failed 2 tests of 23.
> t/tools/ops2pmutils/11-print_h................. Dubious, test returned 2 
> (wstat 512, 0x200)
>  Failed 2/23 subtests
> t/pharness/01-default_tests....................ok
> t/pharness/02-get_test_prog_args...............ok
> t/pharness/03-handle_long_options..............ok
> t/pharness/04-Usage............................ok
>
> Test Summary Report
> -------------------
> t/tools/ops2pmutils/08-sort_ops            (Wstat: 1024 Tests: 86 Failed: 4)
>  Failed tests:  16, 32, 49, 83
>  Non-zero exit status: 4
> t/tools/ops2pmutils/09-prepare_real_ops    (Wstat: 768 Tests: 38 Failed: 3)
>  Failed tests:  16-17, 36
>  Non-zero exit status: 3
> t/tools/ops2pmutils/10-print_module        (Wstat: 1024 Tests: 42 Failed: 4)
>  Failed tests:  16-17, 34-35
>  Non-zero exit status: 4
> t/tools/ops2pmutils/11-print_h             (Wstat: 512 Tests: 23 Failed: 2)
>  Failed tests:  16-17
>  Non-zero exit status: 2
> Files=38, Tests=1009, 24 wallclock secs ( 0.16 usr  0.05 sys + 12.72 cusr  
> 0.77 csys = 13.70 CPU)
> Result: FAIL
> Failed 4/38 test programs. 13/1009 subtests failed.
>
>
>
> Changes made in the 'remove_getfd' branch to lib/Parrot/Ops2c/
> Utils.pm are the likely source of these failures.  When I reverted to
> the last prior revision of that module, all the build tools tests
> passed.
>
>
>
>
> I suspect that the merger/committer failed either to run 'perl
> Configure.pl --test' or 'make buildtools_tests' prior to 'make'.

I can't remember the last time I ran these particular test targets, so
that's easy (for me) to forgive.

> Can someone take a look at this?  Thank you very much.
> kid51

The problem appears to be that at some point explicit return
statements were added here, presumably to help follow that perl critic
policy. However, they are bare returns, and are not taking advantage
of the implicit return value that was originally present. (e.g. in
sort_ops in Parrot/Ops2pm/Utils.pm).

If the only thing checking for that return value is the tests, then I
would recommend eliminating the tests to not bother checking the
return value. Looks like the method is setting some internal state; we
shouldn't be exposing that state outside our object, regardless.

(svn blame shows the explict return -was- added by bernhard in r29522)

I haven't diagnosed all the failures, but I wouldn't be surprised if
they were all of this nature. A quick ack through the failing output
shows this particular test (that sort ops returns something true) is
actually repeated through several test files, so the number of
failures here is something of a false positive; the diff of r29522
shows a few explicit returns were added here; this may be enough to
account for the 13 failing tests.

If more failures in these tests remain after addressing this issue, I
can help you diagnose those as well.

Regards.

-- 
Will "Coke" Coleda

Reply via email to