[MacPorts] #51327: perl5.22: failed test dist/IO/t/cachepropagate-unix
MacPorts
noreply at macports.org
Tue May 17 04:08:07 PDT 2016
#51327: perl5.22: failed test dist/IO/t/cachepropagate-unix
--------------------------------+---------------------
Reporter: mojca@… | Owner: mojca@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: perl5.22 perl5.24 |
--------------------------------+---------------------
Changes (by raimue@…):
* cc: raimue@… (added)
Comment:
On OS X 10.10, I can reproduce failures with both perl 5.20 and perl 5.24.
Although I get "Address already in use" with the suggested `diag` added to
the test code:
{{{
ok 8 - type match
# datagram socket: Address already in use
not ok 9 - datagram socket created
# Failed test 'datagram socket created'
}}}
As far as I tested, this issue seems to be our custom $TMPDIR value in the
environment, on my system that would be:
`TMPDIR=/opt/local/var/macports/build/_Users_raimue_src_macports_trunk_dports_lang_perl5/perl5.24/work/.tmp`.
My wild guess is that the path is truncated somewhere due to its length,
and the socket/bind syscall only sees a substring of the given path that
triggers the "Address already in use" because this substring is an
existing path. I can make the test also fail reproducibly with the
following sequence. Although also the stream socket test #1 may fail
sometimes (depending on path length?).
{{{
$ sudo port -v build perl5.24
$ cd $(port work perl5.24)/perl-5.24.0
$ sudo -u macports env TMPDIR=/tmp/$(perl -le 'print "A" x 150;') sh -c
'rm -rf $TMPDIR && mkdir $TMPDIR && make test TEST_ARGS=-v
TEST_FILES=../dist/IO/t/cachepropagate-unix.t'
}}}
--
Ticket URL: <https://trac.macports.org/ticket/51327#comment:6>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list