Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #38584] [BUG] Punie test failures in set_node method on Solaris/SPARC

0 views
Skip to first unread message

Allison Randal

unread,
Feb 16, 2006, 2:26:41 PM2/16/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Allison Randal
# Please include the string: [perl #38584]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38584 >


Reported on Solaris/SPARC. At first glance it appears to be a failure
in parameter passing, but need to look into it further.

Begin forwarded message:
From: "Andy Dougherty via RT"
Date: February 13, 2006 9:10:52 PST

I don't pretend to remotely understand what the code is attempting to
do, let alone how it's failing, but the failures vaguely seem to be
fairly
similar. It looks like 'node.set_node' doesn't actually end up doing
anything. So for t/past_2.pir, for example, we have

.sub _main
load_bytecode 'languages/punie/lib/PAST.pir'
.local pmc node
node = new 'PAST::Code'
$P0 = new PerlString
$P0 = 'bar'
$P1 = new PerlArray
push $P1, $P0
node.set_node('foo', 42, $P1)
$P1 = getattribute node, 'source'
print $P1
print "\n"
$P1 = getattribute node, 'pos'
print $P1
print "\n"
$P2 = getattribute node, 'children'
$P3 = $P2[0]
print $P3
print "\n"
.return ()
.end

and for t/past_2.out, we have

1
1
bar

The other one that looks significantly different is t/past_op_1.pir.
The
pir file is

.sub _main
load_bytecode 'languages/punie/lib/PAST.pir'
.local pmc node
node = new 'PAST::Op'
node.set_node('foo', 42, 'bar')
$P1 = getattribute node, 'source'
print $P1
print "\n"
$P1 = getattribute node, 'pos'
print $P1
print "\n"
$P1 = getattribute node, 'op'
print $P1
print "\n"
.return ()
.end

and the output file is

Null PMC access in get_string()
current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot-andy/
languages/punie/t/past_op_1.pir:7)

Here's the full output of 'make test'. It accurately reflects the .out
files (well, I didn't exhaustively check them all, but the ones I did
check matched up.)

perl5.6 -Ilib t/harness t/*.t
t/base_cond....ok
t/base_if......ok
t/base_lex.....ok
t/base_pat.....ok
t/base_term....ok
t/io_print.....ok
t/op_goto......ok
t/past.........
# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '
# Looks like you failed 6 tests of 7.
dubious
Test returned status 6 (wstat 1536, 0x600)
DIED. FAILED tests 2-7
Failed 6/7 tests, 14.29% okay
t/past_node....ok
t/past_op......
# Failed test (t/past_op.t at line 7)
# got: 'Null PMC access in get_string()
# current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot-
andy/languages/punie/t/past_op_1.pir:7)
# '
# expected: 'foo
# 42
# bar
# '
# './parrot "/home/doughera/src/parrot/parrot-andy/languages/punie/t/
past_op_1.pir"' failed with exit code 43

# Failed test (t/past_op.t at line 30)
# got: '<PAST::Op> => {
# 'source' => undef,
# 'pos' => undef,
# 'op' => 'bar',
# 'children' => []
# }
# '
# expected: '<PAST::Op> => {
# 'source' => 'foo',
# 'pos' => '42',
# 'op' => 'bar',
# 'children' => []
# }
# '
# Looks like you failed 2 tests of 2.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
t/past_val.....
# Failed test (t/past_val.t at line 7)
# got: '42
# 42
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/past_val.t at line 30)
# got: '<PAST::Val> => {
# 'source' => '42',
# 'pos' => '42',
# 'value' => 'bar',
# 'valtype' => undef,
# }
# '
# expected: '<PAST::Val> => {
# 'source' => 'foo',
# 'pos' => '42',
# 'value' => 'bar',
# 'valtype' => undef,
# }
# '
# Looks like you failed 2 tests of 2.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
t/post.........
# Failed test (t/post.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/post.t at line 44)
# got: '1
# 1
# bar
# '
# expected: 'foo
# 42
# bar
# '
# Looks like you failed 2 tests of 3.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 2-3
Failed 2/3 tests, 33.33% okay
t/post_node....ok
t/post_op......
# Failed test (t/post_op.t at line 7)
# got: 'Null PMC access in get_string()
# current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot-
andy/languages/punie/t/post_op_1.pir:7)
# '
# expected: 'foo
# 42
# bar
# '
# './parrot "/home/doughera/src/parrot/parrot-andy/languages/punie/t/
post_op_1.pir"' failed with exit code 43

# Failed test (t/post_op.t at line 30)
# got: '<POST::Op> => {
# 'source' => undef,
# 'pos' => undef,
# 'op' => 'bar',
# 'children' => []
# }
# '
# expected: '<POST::Op> => {
# 'source' => 'foo',
# 'pos' => '42',
# 'op' => 'bar',
# 'children' => []
# }
# '
# Looks like you failed 2 tests of 2.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
t/post_val.....
# Failed test (t/post_val.t at line 7)
# got: '42
# 42
# bar
# '
# expected: 'foo
# 42
# bar
# '

# Failed test (t/post_val.t at line 30)
# got: '<POST::Val> => {
# 'source' => '42',
# 'pos' => '42',
# 'value' => 'bar',
# 'valtype' => undef,
# }
# '
# expected: '<POST::Val> => {
# 'source' => 'foo',
# 'pos' => '42',
# 'value' => 'bar',
# 'valtype' => undef,
# }
# '
# Looks like you failed 2 tests of 2.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
Failed 6/15 test scripts, 60.00% okay. 16/41 subtests failed, 60.98%
okay.
Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------------------
-------
t/past.t 6 1536 7 6 85.71% 2-7
t/past_op.t 2 512 2 2 100.00% 1-2
t/past_val.t 2 512 2 2 100.00% 1-2
t/post.t 2 512 3 2 66.67% 2-3
t/post_op.t 2 512 2 2 100.00% 1-2
t/post_val.t 2 512 2 2 100.00% 1-2
*** Error code 2
make: Fatal error: Command failed for target `test'

--
Andy Dougherty doug...@lafayette.edu


0 new messages