# New Ticket Created by Reini Urban
# Please include the string: [perl #58840]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58840 >
---
osname= cygwin
osvers= 1.5.25(0.15642)
arch= cygwin-thread-multi-64int
cc= gcc
---
Flags:
category=library
severity=low
ack=no
---
All platforms, all Perls older than 5.10, just cygwin 5.8.8 passes.
Detected by cotto, fixed in t/native_pbc/header.t in r31088.
$ perl5.8.4 t/native_pbc/header.t
1..9
Operation `eq': no method found,
left argument in overloaded package File::Temp,
right argument has no overloaded magic at lib/Parrot/Test.pm
line 312.
# Looks like your test died before it could output anything.
Fix in the test:
my $out_f = File::Temp->new( UNLINK => 1, SUFFIX => '.pbc' );
...
Parrot::Test::run_command
(
qq{$parrot $args -o $out_f $tmppasm},
- CD => $path_to_parrot,
- STDOUT => $out_f,
- STDERR => $out_f,
+ CD => $path_to_parrot
);
my $pbc = slurp_file($out_f);
Problematic part in lib/Parrot/Test.pm:
while ( my ( $key, $value ) = each %options ) {
$key =~ m/^STD(OUT|ERR)$/
or die "I don't know how to redirect '$key' yet!";
$value = File::Spec->devnull()
if $value eq '/dev/null'; # TODO filehandle `eq' string
will fail
} # on older perls
A invocation of Parrot::Test::run_command with an filehandle for STDOUT
as in t/native_pbc/header.t will lead to the error.
TODO:
Check for filehandle before comparing with eq to '/dev/null'
---
Summary of my parrot 0.7.0 (r0) configuration:
configdate='Wed Aug 20 18:34:46 2008 GMT'
Platform:
osname=cygwin, archname=cygwin-thread-multi-64int
jitcapable=1, jitarchname=i386-cygwin,
jitosname=CYGWIN, jitcpuarch=i386
execcapable=1
perl=/usr/bin/perl.exe
Compiler:
cc='gcc', ccflags='-U__STRICT_ANSI__ -pipe -I/usr/local/include
-DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC
-DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE
-DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT
-falign-functions=16 -maccumulate-outgoing-args -W -Wall
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
-Wdisabled-optimization -Wendif-labels -Wextra -Wformat
-Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k
-Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-braces
-Wno-missing-format-attribute -Wpacked -Wparentheses -Wpointer-arith
-Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare
-Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default
-Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wwrite-strings
-Wbad-function-cast -Wdeclaration-after-statement
-Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull
-DDISABLE_GC_DEBUG=1 -DNDEBUG -O3 -DHAS_GETTEXT',
Linker and Libraries:
ld='gcc', ldflags=' -Wl,--enable-auto-import
-Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base ',
cc_ldflags='',
libs='-L/usr/local/lib -lcrypt -lgmp -lreadline -lpcre -lglut32
-lglu32 -lopengl32 -lcrypto -lintl'
Dynamic Linking:
share_ext='.dll', ld_share_flags='-shared',
load_ext='.dll', ld_load_flags='-shared'
Types:
iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
ptrsize=4, ptr_alignment=1 byteorder=1234,
nv=double, numvalsize=8, doublesize=8
---
Environment:
CYGWIN =server
HOME =/home/rurban
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH
=~/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
SHELL (unset)