From 22d3864a0a9084dcb8963eda29df65a413c7f1df Mon Sep 17 00:00:00 2001 From: "jkummerow@chromium.org" Date: Mon, 1 Oct 2012 09:41:18 +0000 Subject: [PATCH] Fix cctests using Sockets to be able to run in parallel BUG=v8:945 Review URL: https://codereview.chromium.org/11015008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- test/cctest/cctest.h | 8 ++++++++ test/cctest/cctest.status | 10 ---------- test/cctest/test-debug.cc | 8 ++++---- test/cctest/test-sockets.cc | 2 +- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/test/cctest/cctest.h b/test/cctest/cctest.h index 4e8b732..f3961a4 100644 --- a/test/cctest/cctest.h +++ b/test/cctest/cctest.h @@ -213,6 +213,7 @@ static inline v8::Local CompileRun(const char* source) { return v8::Script::Compile(v8::String::New(source))->Run(); } + // Helper function that compiles and runs the source with given origin. static inline v8::Local CompileRunWithOrigin(const char* source, const char* origin_url, @@ -225,4 +226,11 @@ static inline v8::Local CompileRunWithOrigin(const char* source, } +// Pick a slightly different port to allow tests to be run in parallel. +static inline int FlagDependentPortOffset() { + return ::v8::internal::FLAG_crankshaft == false ? 100 : + ::v8::internal::FLAG_always_opt ? 200 : 0; +} + + #endif // ifndef CCTEST_H_ diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status index df2c520..c55fc2a 100644 --- a/test/cctest/cctest.status +++ b/test/cctest/cctest.status @@ -68,11 +68,6 @@ test-api/OutOfMemoryNested: SKIP # BUG(355): Test crashes on ARM. test-log/ProfLazyMode: SKIP -# BUG(945): Tests using Socket cannot be run in parallel. -test-debug/DebuggerAgent: SKIP -test-debug/DebuggerAgentProtocolOverflowHeader: SKIP -test-sockets/Socket: SKIP - # BUG(1075): Unresolved crashes. test-serialize/Deserialize: SKIP test-serialize/DeserializeFromSecondSerializationAndRunScript2: SKIP @@ -89,8 +84,3 @@ test-log/ProfLazyMode: SKIP # platform-tls.h does not contain an ANDROID-related header. test-platform-tls/FastTLS: SKIP - -# BUG(945): Tests using Socket cannot be run in parallel. -test-debug/DebuggerAgent: SKIP -test-debug/DebuggerAgentProtocolOverflowHeader: SKIP -test-sockets/Socket: SKIP diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc index 234b6df..60d5f0e 100644 --- a/test/cctest/test-debug.cc +++ b/test/cctest/test-debug.cc @@ -5833,9 +5833,9 @@ TEST(DebuggerAgent) { i::Debugger* debugger = i::Isolate::Current()->debugger(); // Make sure these ports is not used by other tests to allow tests to run in // parallel. - const int kPort1 = 5858; - const int kPort2 = 5857; - const int kPort3 = 5856; + const int kPort1 = 5858 + FlagDependentPortOffset(); + const int kPort2 = 5857 + FlagDependentPortOffset(); + const int kPort3 = 5856 + FlagDependentPortOffset(); // Make a string with the port2 number. const int kPortBufferLen = 6; @@ -5934,7 +5934,7 @@ void DebuggerAgentProtocolServerThread::Run() { TEST(DebuggerAgentProtocolOverflowHeader) { // Make sure this port is not used by other tests to allow tests to run in // parallel. - const int kPort = 5860; + const int kPort = 5860 + FlagDependentPortOffset(); static const char* kLocalhost = "localhost"; // Make a string with the port number. diff --git a/test/cctest/test-sockets.cc b/test/cctest/test-sockets.cc index ad73540..2f7941c 100644 --- a/test/cctest/test-sockets.cc +++ b/test/cctest/test-sockets.cc @@ -124,7 +124,7 @@ static void SendAndReceive(int port, char *data, int len) { TEST(Socket) { // Make sure this port is not used by other tests to allow tests to run in // parallel. - static const int kPort = 5859; + static const int kPort = 5859 + FlagDependentPortOffset(); bool ok; -- 2.7.4