Closed crelier closed 9 years ago
cc @munificent. cc @nex3.
Set owner to @nex3.
In addition the tests become zombies on Mac OS X and pollute directories:
pub-test-sandbox-iHW44o pub-test-sandbox-z4ahlJ
6971 ttys001 0:02.18 /sources/dartall/dart/xcodebuild/DebugIA32/dart --enable-type-checks --enable-asserts /sources/dartall/dart/utils/pub/pub.dart --trace install 9354 ttys001 0:03.80 /sources/dartall/dart/xcodebuild/DebugIA32/dart --enable-type-checks --enable-asserts /sources/dartall/dart/utils/pub/pub.dart --trace install 16990 ttys001 0:04.43 /sources/dartall/dart/xcodebuild/DebugX64/dart --enable-type-checks --enable-asserts /sources/dartall/dart/utils/pub/pub.dart --trace install
Can we disable the tests until fixed?
Removed Priority-Medium label. Added Priority-High label.
Please don't disable the tests. Pub is important for M1 and I want to ensure it keeps getting test coverage.
As soon as Nathan or I can, we'll look into getting ephemeral ports or something else working so the tests can run in parallel. In the meantime, can you just avoiding running pub tests in parallel? Are you having any problems if you run them serially?
No problem running them serially. Instead of doing this:
./tools/test.py --mode=all --arch=all --compiler=none --runtime=vm --checked ./tools/test.py --mode=all --arch=all --compiler=none --runtime=vm
I do this:
./tools/test.py --mode=debug --arch=x64 --compiler=none --runtime=vm --checked ./tools/test.py --mode=release --arch=x64 --compiler=none --runtime=vm --checked ./tools/test.py --mode=debug --arch=ia32 --compiler=none --runtime=vm --checked ./tools/test.py --mode=release --arch=ia32 --compiler=none --runtime=vm --checked ./tools/test.py --mode=debug --arch=x64 --compiler=none --runtime=vm ./tools/test.py --mode=release --arch=x64 --compiler=none --runtime=vm ./tools/test.py --mode=debug --arch=ia32 --compiler=none --runtime=vm ./tools/test.py --mode=release --arch=ia32 --compiler=none --runtime=vm
Sorry for the verbosity this requires for you. :(
Until you filed this bug, I didn't even know test.py could run stuff in parallel. We'll definitely try to get this fixed.
Issue #4559 was closed, it fixes the directory pollution. However, the test still leaves zombie processes. The command "./tools/test.py --arch=all --mode=all --checked" leaves 6 zombie processes on Mac OS X.
cc @iposva-google. cc @dgrove.
Right. I believe the remaining problem here is that the pub tests are hardcoded to grab a specific port. (They spin up a web server to simulate pub.dartlang.org). I think we'll need to look into ephemeral ports to fix that.
Command line: ./tools/test.py --mode=all --arch=all --compiler=none --runtime=vm
Result: Multiple instances of the test utils/tests/pub/pub_test.dart will run concurrently and will fight for a connection:
Unhandled exception: SocketIOException: OS Error: Connection refused, errno = 111
0 httpGet.<anonymous closure> (file:///usr/local/google/home/regis/dart1/dart/utils/pub/io.dart:296:30)
1 _HttpClientConnection._onConnectionClosed (dart:io:3380:9)
2 _HttpConnectionBase._onError (dart:io:2962:3)
3 _HttpClient._prepareHttpClientConnection.<anonymous closure> (dart:io:3553:8)
4 _SocketBase._reportError.doReportError (dart:io:5593:33)
5 _SocketBase._reportError (dart:io:5601:7)
6 _SocketBase._multiplex (dart:io:5479:13)
7 _SocketBase._sendToEventHandler.<anonymous closure> (dart:io:5583:9)
8 _ReceivePortImpl._handleMessage (dart:isolate-patch:97:92)
Unhandled exception: Exception: Some tests failed.
0 Configuration.onDone (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/config.dart:123:19)
1 _completeTests (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/unittest.dart:792:17)
2 _nextBatch._nextBatch (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/unittest.dart:776:17)
3 _nextTestCase (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/unittest.dart:650:14)
4 _handleCallbackFunctionComplete.<anonymous closure> (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/unittest.dart:641:22)
5 _defer.<anonymous closure> (file:///usr/local/google/home/regis/dart1/dart/pkg/unittest/unittest.dart:684:13)
6 _ReceivePortImpl._handleMessage (dart:isolate-patch:97:92)