develooper Front page | perl.perl5.porters | Postings from April 2006

Re: Making IO::Socket pass test on Win32

Thread Previous | Thread Next
From:
Jim Cromie
Date:
April 4, 2006 08:07
Subject:
Re: Making IO::Socket pass test on Win32
Message ID:
44328B97.2060903@gmail.com
Steve Hay wrote:
> demerphq wrote:
>> I reduced that down a bit so it could be used as a conditional EXPR.
>> Could you try the attached patch on your various Win32 builds?
>
> Tests all pass/skip as intended for me, so I've applied this to 
> bleadperl as change #27710.
>
> I also added the proper fork() test to io_multihomed.t (which was 
> previously skipping tests even with a fork() emulation when in fact it 
> passes them all OK), and to io_pipe.t (which would have run tests even 
> without a fork() emulation if you had TEST_IO_PIPE set).
>


attached patch tells concise-xs.t that the new IO::Socket::blocking call
is a perl routine, not a constant one ( the default for IO::Socket tests 
there).
This fixes one noisy failure I started seeing this morning.

ext/B/t/concise-xs.........................................#   Failed 
test 'constant sub:        IO::Socket::blocking'
#   in ../ext/B/t/concise-xs.t at line 319.
#                   'IO::Socket::blocking:
# 1q <1> leavesub[1 ref] K/REFC,1 ->(end)
# -     <@> lineseq KP ->1q
# 1        <;> nextstate(IO::Socket 3551 Socket.pm:149) v/2 ->2
# 6        <2> sassign vKS/2 ->7
# 4           <1> shift sK/1 ->5
# 3              <1> rv2av[t2] sKRM/3 ->4
# 2                 <$> gv(*_) s ->3
# 5           <0> padsv[$sock:3551,3556] sRM*/LVINTRO ->6
# 7        <;> nextstate(IO::Socket 3552 Socket.pm:151) v/2 ->8
# -        <1> null vK/1 ->l
# b           <|> and(other->c) vK/1 ->l
# a              <2> sne sK/2 ->b
# -                 <1> ex-rv2sv sK/3 ->9
# 8                    <$> gvsv(*^O) s ->9
# 9                 <$> const(PV "MSWin32") s ->a
# k              <@> return K ->l
# c                 <0> pushmark s ->d
# j                 <1> entersub[t4] KS/TARG,2 ->k
# d                    <0> pushmark s ->e
# e                    <0> padsv[$sock:3551,3556] sM ->f
# g                    <1> rv2av[t3] lKM/3 ->h
# f                       <$> gv(*_) s ->g
# i                    <1> method K/1 ->j
# h                       <$> const(PV "SUPER::blocking") s/BARE ->i
# l        <;> nextstate(IO::Socket 3553 Socket.pm:164) v/2 ->m
# -        <1> null vK/1 ->x
# o           <|> or(other->p) vK/1 ->x
# n              <1> rv2av[t5] sK/3 ->o
# m                 <$> gv(*_) s ->n
# w              <@> return K ->x
# p                 <0> pushmark s ->q
# v                 <1> not sK/1 ->w
# u                    <2> helem sK/2 ->v
# s                       <1> rv2hv sKR/3 ->t
# -                          <@> scope sK ->s
# -                             <0> ex-nextstate v/2 ->q
# r                             <1> rv2gv sKR/3 ->s
# q                                <0> padsv[$sock:3551,3556] s ->r
# t                       <$> const(PV "io_sock_nonblocking") s/BARE ->u
# x        <;> nextstate(IO::Socket 3553 Socket.pm:167) v/2 ->y
# 12       <2> sassign vKS/2 ->13
# 10          <1> shift sK/1 ->11
# z              <1> rv2av[t7] sKRM/3 ->10
# y                 <$> gv(*_) s ->z
# 11          <0> padsv[$block:3553,3556] sRM*/LVINTRO ->12
# 13       <;> nextstate(IO::Socket 3555 Socket.pm:169) v/2 ->14
# 1c       <2> sassign vKS/2 ->1d
# -           <1> null sK/1 ->-
# 15             <|> cond_expr(other->16) sK/1 ->1r
# 14                <0> padsv[$block:3553,3556] s ->15
# 16                <$> const(PV "0") s ->17
# 1r                <$> const(PV "1") s ->17
# 1b          <2> helem sKRM*/2 ->1c
# 19             <1> rv2hv sKR/3 ->1a
# -                 <@> scope sK ->19
# -                    <0> ex-nextstate v/2 ->17
# 18                   <1> rv2gv sKR/3 ->19
# 17                      <0> padsv[$sock:3551,3556] s ->18
# 1a             <$> const(PV "io_sock_nonblocking") s/BARE ->1b
# 1d       <;> nextstate(IO::Socket 3556 Socket.pm:171) v/2 ->1e
# 1p       <@> return K ->1q
# 1e          <0> pushmark s ->1f
# 1o          <@> ioctl[t8] sK/3 ->1p
# -              <0> ex-pushmark s ->1f
# 1g             <1> rv2gv sK*/3 ->1h
# 1f                <0> padsv[$sock:3551,3556] s ->1g
# 1h             <$> const(UV 2147772030) s ->1i
# 1n             <1> srefgen sK/1 ->1o
# -                 <1> ex-list lKRM ->1n
# 1m                   <2> helem sKRM/2 ->1n
# 1k                      <1> rv2hv sKR/3 ->1l
# -                          <@> scope sK ->1k
# -                             <0> ex-nextstate v/2 ->1i
# 1j                            <1> rv2gv sKR/3 ->1k
# 1i                               <0> padsv[$sock:3551,3556] s ->1j
# 1l                      <$> const(PV "io_sock_nonblocking") s/BARE ->1m
# '
#     doesn't match '(?x-ism: (?-x: is a constant sub, optimized to a \w+)
#                     |(?-x: exists in stash, but has no START) )'
FAILED at test 836
ext/B/t/debug..............................................ok
ext/B/t/deparse............................................ok


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About