| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 // | 4 // | 
| 5 // Unit test for SyncChannel. | 5 // Unit test for SyncChannel. | 
| 6 | 6 | 
| 7 #include "ipc/ipc_sync_channel.h" | 7 #include "ipc/ipc_sync_channel.h" | 
| 8 | 8 | 
| 9 #include <string> | 9 #include <string> | 
| 10 #include <vector> | 10 #include <vector> | 
| (...skipping 1465 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1476   RestrictedDispatchDeadlockServer* peer_; | 1476   RestrictedDispatchDeadlockServer* peer_; | 
| 1477   bool client_kicked_; | 1477   bool client_kicked_; | 
| 1478 }; | 1478 }; | 
| 1479 | 1479 | 
| 1480 class RestrictedDispatchDeadlockClient2 : public Worker { | 1480 class RestrictedDispatchDeadlockClient2 : public Worker { | 
| 1481  public: | 1481  public: | 
| 1482   RestrictedDispatchDeadlockClient2(RestrictedDispatchDeadlockServer* server, | 1482   RestrictedDispatchDeadlockClient2(RestrictedDispatchDeadlockServer* server, | 
| 1483                                     WaitableEvent* server_ready_event, | 1483                                     WaitableEvent* server_ready_event, | 
| 1484                                     WaitableEvent** events) | 1484                                     WaitableEvent** events) | 
| 1485       : Worker("channel2", Channel::MODE_CLIENT), | 1485       : Worker("channel2", Channel::MODE_CLIENT), | 
| 1486         server_(server), |  | 
| 1487         server_ready_event_(server_ready_event), | 1486         server_ready_event_(server_ready_event), | 
| 1488         events_(events), | 1487         events_(events), | 
| 1489         received_msg_(false), | 1488         received_msg_(false), | 
| 1490         received_noarg_reply_(false), | 1489         received_noarg_reply_(false), | 
| 1491         done_issued_(false) {} | 1490         done_issued_(false) {} | 
| 1492 | 1491 | 
| 1493   void Run() { | 1492   void Run() { | 
| 1494     server_ready_event_->Wait(); | 1493     server_ready_event_->Wait(); | 
| 1495   } | 1494   } | 
| 1496 | 1495 | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 1522 | 1521 | 
| 1523   void PossiblyDone() { | 1522   void PossiblyDone() { | 
| 1524     if (received_noarg_reply_ && received_msg_) { | 1523     if (received_noarg_reply_ && received_msg_) { | 
| 1525       DCHECK(done_issued_ == false); | 1524       DCHECK(done_issued_ == false); | 
| 1526       done_issued_ = true; | 1525       done_issued_ = true; | 
| 1527       Send(new SyncChannelTestMsg_Done); | 1526       Send(new SyncChannelTestMsg_Done); | 
| 1528       Done(); | 1527       Done(); | 
| 1529     } | 1528     } | 
| 1530   } | 1529   } | 
| 1531 | 1530 | 
| 1532   RestrictedDispatchDeadlockServer* server_; |  | 
| 1533   WaitableEvent* server_ready_event_; | 1531   WaitableEvent* server_ready_event_; | 
| 1534   WaitableEvent** events_; | 1532   WaitableEvent** events_; | 
| 1535   bool received_msg_; | 1533   bool received_msg_; | 
| 1536   bool received_noarg_reply_; | 1534   bool received_noarg_reply_; | 
| 1537   bool done_issued_; | 1535   bool done_issued_; | 
| 1538 }; | 1536 }; | 
| 1539 | 1537 | 
| 1540 class RestrictedDispatchDeadlockClient1 : public Worker { | 1538 class RestrictedDispatchDeadlockClient1 : public Worker { | 
| 1541  public: | 1539  public: | 
| 1542   RestrictedDispatchDeadlockClient1(RestrictedDispatchDeadlockServer* server, | 1540   RestrictedDispatchDeadlockClient1(RestrictedDispatchDeadlockServer* server, | 
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1905         expected_text_(expected_text) { | 1903         expected_text_(expected_text) { | 
| 1906     Worker::OverrideThread(listener_thread); | 1904     Worker::OverrideThread(listener_thread); | 
| 1907   } | 1905   } | 
| 1908 | 1906 | 
| 1909   virtual void Run() { | 1907   virtual void Run() { | 
| 1910     std::string response; | 1908     std::string response; | 
| 1911     SyncMessage* msg = new SyncChannelNestedTestMsg_String(&response); | 1909     SyncMessage* msg = new SyncChannelNestedTestMsg_String(&response); | 
| 1912     bool result = Send(msg); | 1910     bool result = Send(msg); | 
| 1913     DCHECK(result); | 1911     DCHECK(result); | 
| 1914     DCHECK_EQ(response, expected_text_); | 1912     DCHECK_EQ(response, expected_text_); | 
|  | 1913     // expected_text_ is only used in the above DCHECK. This line suppresses the | 
|  | 1914     // "unused private field" warning in release builds. | 
|  | 1915     (void)expected_text_; | 
| 1915 | 1916 | 
| 1916     VLOG(1) << __FUNCTION__ << " Received reply: " << response; | 1917     VLOG(1) << __FUNCTION__ << " Received reply: " << response; | 
| 1917     ASSERT_EQ(channel()->peer_pid(), base::GetCurrentProcId()); | 1918     ASSERT_EQ(channel()->peer_pid(), base::GetCurrentProcId()); | 
| 1918     Done(); | 1919     Done(); | 
| 1919   } | 1920   } | 
| 1920 | 1921 | 
| 1921  private: | 1922  private: | 
| 1922   bool pump_during_send_; |  | 
| 1923   std::string expected_text_; | 1923   std::string expected_text_; | 
| 1924 }; | 1924 }; | 
| 1925 | 1925 | 
| 1926 void Verified() { | 1926 void Verified() { | 
| 1927   std::vector<Worker*> workers; | 1927   std::vector<Worker*> workers; | 
| 1928 | 1928 | 
| 1929   // A shared worker thread for servers | 1929   // A shared worker thread for servers | 
| 1930   base::Thread server_worker_thread("Verified_ServerListener"); | 1930   base::Thread server_worker_thread("Verified_ServerListener"); | 
| 1931   ASSERT_TRUE(server_worker_thread.Start()); | 1931   ASSERT_TRUE(server_worker_thread.Start()); | 
| 1932 | 1932 | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 1954 | 1954 | 
| 1955 }  // namespace | 1955 }  // namespace | 
| 1956 | 1956 | 
| 1957 // Windows needs to send an out-of-band secret to verify the client end of the | 1957 // Windows needs to send an out-of-band secret to verify the client end of the | 
| 1958 // channel. Test that we still connect correctly in that case. | 1958 // channel. Test that we still connect correctly in that case. | 
| 1959 TEST_F(IPCSyncChannelTest, Verified) { | 1959 TEST_F(IPCSyncChannelTest, Verified) { | 
| 1960   Verified(); | 1960   Verified(); | 
| 1961 } | 1961 } | 
| 1962 | 1962 | 
| 1963 }  // namespace IPC | 1963 }  // namespace IPC | 
| OLD | NEW | 
|---|