Index: test/cctest/test-debug.cc |
diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc |
index de60d4999ded690f22ce0c14b5b077d3bdbe41cf..2383f2dd09fb9926ebe5cbc4078290b4c9348585 100644 |
--- a/test/cctest/test-debug.cc |
+++ b/test/cctest/test-debug.cc |
@@ -5845,11 +5845,14 @@ TEST(DebuggerAgent) { |
const int kPort1 = 5858; |
const int kPort2 = 5857; |
const int kPort3 = 5856; |
+ const int kPort4 = 5855; |
// Make a string with the port2 number. |
const int kPortBufferLen = 6; |
char port2_str[kPortBufferLen]; |
OS::SNPrintF(i::Vector<char>(port2_str, kPortBufferLen), "%d", kPort2); |
+ char port4_str[kPortBufferLen]; |
+ OS::SNPrintF(i::Vector<char>(port4_str, kPortBufferLen), "%d", kPort4); |
bool ok; |
@@ -5885,6 +5888,27 @@ TEST(DebuggerAgent) { |
debugger->StopAgent(); |
delete server; |
+ |
+ // Test responsiveness after connecting and disconnecting a client. |
+ ok = debugger->StartAgent("test", kPort4); |
+ CHECK(ok); |
+ client = i::OS::CreateSocket(); |
+ ok = client->Connect("localhost", port4_str); |
+ CHECK(ok); |
+ ok = client->Receive(&buf, 1) == 1; |
+ CHECK(ok); |
+ ok = client->Send( |
+ "{\"seq\":1,\"type\":\"request\",\"command\":\"disconnect\"}", 49); |
+ CHECK(ok); |
+ client->Shutdown(); |
+ delete client; |
+ // Is the server still responsive? |
+ client = i::OS::CreateSocket(); |
+ ok = client->Connect("localhost", port4_str); |
+ CHECK(ok); |
+ client->Shutdown(); |
+ delete client; |
+ debugger->StopAgent(); |
} |