Ticket #205 (new bug)

Opened 6 years ago

Last modified 4 years ago

r35872 test fails on solaris

Reported by: jsut Owned by:
Priority: normal Milestone:
Component: core Version: trunk
Severity: medium Keywords: testing
Cc: rg@… Language:
Patch status: Platform: solaris

Description

Test Summary Report


t/op/trans (Wstat: 256 Tests: 22 Failed: 1)

Failed test: 14 Non-zero exit status: 1

Files=395, Tests=11826, 574 wallclock secs ( 3.10 usr 1.83 sys + 89.02 cusr 30.35 csys = 124.30 CPU) Result: FAIL make: *** [test] Error 1

I'm not sure what else you need, so here are some random things.

uname -a SunOS web01-dev 5.10 Generic_127112-11 i86pc i386 i86pc Solaris

./parrot -V This is parrot version 0.9.0-devel built for nojit. Copyright (C) 2001-2008, The Perl Foundation.

This code is distributed under the terms of the Artistic License 2.0. For more details, see the full text of the license in the LICENSE file included in the Parrot source tree.

Change History

  Changed 6 years ago by jsut

arg, that should say 'test fails' in the subject line

  Changed 6 years ago by coke

  • summary changed from r35872 build fails on solaris to r35872 test fails on solaris

  Changed 6 years ago by jsut

This is still failing in r36860, and i now have additional test failures:

Test Summary Report
-------------------
t/op/trans                              (Wstat: 256 Tests: 22 Failed: 1)
  Failed test:  14
  Non-zero exit status: 1
t/pmc/os                                (Wstat: 0 Tests: 17 Failed: 0)
  TODO passed:   6
t/native_pbc/integer                    (Wstat: 0 Tests: 5 Failed: 0)
  TODO passed:   1-2
t/native_pbc/number                     (Wstat: 0 Tests: 5 Failed: 0)
  TODO passed:   1-2
Files=391, Tests=11668, 991 wallclock secs ( 3.57 usr  2.00 sys + 123.63 cusr 24.35 csys = 153.55 CPU)

I'm a little confused by the TODO stuff though.

  Changed 6 years ago by jkeenan

The two files in t/native_pbc/ frequently have tests that are TODO-ed out. So when they start to pass, you get the output you reported.

t/op/trans.t is showing a failure on a number of platforms.

But what is interesting is the passing test in t/pmc/os.t:

} else {
  TODO: {
    local $TODO = "stat on solaris" if $solaris;

    $stat = sprintf("0x%08x\n" x 13, @s);
    pir_output_is( <<'CODE', $stat, 'Test OS.stat' );
.sub main :main
        $P1 = new ['OS']
        $S1 = "xpto"
        $P2 = $P1."stat"($S1)

        $S1 = repeat "0x%08x\n", 13
        $S2 = sprintf $S1, $P2
        print $S2
done:
        end
.end
CODE
}

I wonder if other Solaris testers are finding that this test now passes.

  Changed 6 years ago by rg

  • cc rg@… added

My guess is you've been building with gcc. There's a 4 year old note in the solaris hints file:

    # Parrot usually aims for IEEE-754 compliance.
    # For Solaris 8/Sun Workshop Pro 4, both
    #    atan2( 0.0, -0.0) and atan2(-0.0, -0.0)
    # return 0, when they should return +PI and -PI respectively.
    # For Sun's compilers, fix this with the -xlibmieee flag.
    # I don't know of an equivalent flag for gcc.
    # (Alternatively, and more generally, perhaps we should run an
    # ieee-conformance test and then call back into a hints-file trigger
    # to set platform-specific flags.)
    #   A. Dougherty  7 March 2005

AFAICT, nothing has changed in that regard. I sure couldn't figure out what -xlibmieee is doing differently, nor was I able to find any hint or web page on how to get the same effect with gcc. Any help would be appreciated.

BTW, there's also  RT #34549 describing the same problem for a couple of platforms, although I believe Solaris is the last holdout.

  Changed 6 years ago by jsut

I am indeed building with gcc. I have no insight into the problem other than having reported the bug. If there is any other information i can provide that would help with debugging let me know.

  Changed 4 years ago by tcurtis

  • keywords testing added

follow-up: ↓ 9   Changed 4 years ago by jsut

i just pulled this from svn and attempted to build / test again. here's the current status as of r48417:

Test Summary Report


t/dynoplibs/trans-infnan.t (Wstat: 0 Tests: 67 Failed: 11)

Failed tests: 10-11, 13-14, 21-22, 24-25, 56, 59, 62

t/dynoplibs/trans-old.t (Wstat: 256 Tests: 13 Failed: 1)

Failed test: 5 Non-zero exit status: 1

Files=355, Tests=12459, 181 wallclock secs ( 2.07 usr 0.75 sys + 71.99 cusr 5.27 csys = 80.08 CPU) Result: FAIL

not ok 10 - asin: asin Inf # Have: 0 # Want: NaN not ok 11 - ... asin -Inf # Have: 0 # Want: NaN

not ok 13 - ... asin -2 # Have: 0 # Want: NaN not ok 14 - ... asin 2 # Have: 0 # Want: NaN

not ok 21 - acos: acos Inf # Have: 0 # Want: NaN not ok 22 - ... acos -Inf # Have: 0 # Want: NaN

not ok 24 - ... acos -2 # Have: 0 # Want: NaN not ok 25 - ... acos 2 # Have: 0 # Want: NaN

not ok 56 - ... ln Inf # Have: -Inf # Want: NaN

not ok 59 - ... log10 -Inf # Have: -Inf # Want: NaN

not ok 62 - ... log2 -Inf # Have: -Inf # Want: NaN

not ok 5 - atan, part 2

# Failed test 'atan, part 2' # at t/dynoplibs/trans-old.t line 206. # got: 'not ok 1 # ' # expected: 'ok 1

in reply to: ↑ 8   Changed 4 years ago by doughera

Replying to jsut:

i just pulled this from svn and attempted to build / test again. here's the current status as of r48417

Correct. There has been no change. Please see RT #34549  http://rt.perl.org/rt3//Public/Bug/Display.html?id=34549 for a complete diagnosis and my recommended fix.

Note: See TracTickets for help on using tickets.