Updates:
Summary: Tests using Socket cannot be run in parallel
Comment #2 on issue 945 by [email protected]: Tests using Socket
cannot be run in parallel
http://code.google.com/p/v8/issues/detail?id=945
This is not ARM specific at all. All tests that use Sockets (currently
test-socket/Socket, test-debug/DebuggerAgent, and
test-debug/DebuggerAgentProtocolOverflowHeader) hard-code the port that
they want to open a Socket on. This fails due to the port being in use
whenever the test runner script decides to run two or more of the
VARIANT_FLAGS versions (e.g. "--nocrankshaft" and "--stress-opt
--always-opt") of the same test at the same time.
The proper fix would be to use ephemeral ports, i.e. let the OS pick a
random available port. However, our Socket objects don't currently provide
a means to retrieve the port that was chosen, which the tests must know in
order to connect to it.
I'm actually surprised that we don't see these tests fail more often on
ia32/x64. The failures are easily reproduced by running:
$ tools/test-wrapper-gypbuild.py --arch-and-mode=ia32.release -j3
cctest/test-sockets/Socket
(note the -j3; with -j1 all tests pass fine).
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev