| 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 #include <stdint.h> | 5 #include <stdint.h> |
| 6 #include <stdio.h> | 6 #include <stdio.h> |
| 7 | 7 |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <sstream> | 10 #include <sstream> |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 IPC::Message m(0, 1, IPC::Message::PRIORITY_NORMAL); | 119 IPC::Message m(0, 1, IPC::Message::PRIORITY_NORMAL); |
| 120 EXPECT_TRUE(m.WriteInt(0x71000000)); // This is the count of elements. | 120 EXPECT_TRUE(m.WriteInt(0x71000000)); // This is the count of elements. |
| 121 EXPECT_TRUE(m.WriteInt64(1)); | 121 EXPECT_TRUE(m.WriteInt64(1)); |
| 122 EXPECT_TRUE(m.WriteInt64(2)); | 122 EXPECT_TRUE(m.WriteInt64(2)); |
| 123 | 123 |
| 124 std::vector<int64_t> vec; | 124 std::vector<int64_t> vec; |
| 125 base::PickleIterator iter(m); | 125 base::PickleIterator iter(m); |
| 126 EXPECT_FALSE(ReadParam(&m, &iter, &vec)); | 126 EXPECT_FALSE(ReadParam(&m, &iter, &vec)); |
| 127 } | 127 } |
| 128 | 128 |
| 129 // This test needs ~20 seconds in Debug mode, or ~4 seconds in Release mode. |
| 130 // See http://crbug.com/741866 for details. |
| 131 TEST(IPCMessageIntegrity, DISABLED_ReadVectorTooLarge3) { |
| 132 base::Pickle pickle; |
| 133 IPC::WriteParam(&pickle, 256 * 1024 * 1024); |
| 134 IPC::WriteParam(&pickle, 0); |
| 135 IPC::WriteParam(&pickle, 1); |
| 136 IPC::WriteParam(&pickle, 2); |
| 137 |
| 138 base::PickleIterator iter(pickle); |
| 139 std::vector<int> vec; |
| 140 EXPECT_FALSE(IPC::ReadParam(&pickle, &iter, &vec)); |
| 141 } |
| 142 |
| 129 class SimpleListener : public IPC::Listener { | 143 class SimpleListener : public IPC::Listener { |
| 130 public: | 144 public: |
| 131 SimpleListener() : other_(NULL) { | 145 SimpleListener() : other_(NULL) { |
| 132 } | 146 } |
| 133 void Init(IPC::Sender* s) { | 147 void Init(IPC::Sender* s) { |
| 134 other_ = s; | 148 other_ = s; |
| 135 } | 149 } |
| 136 protected: | 150 protected: |
| 137 IPC::Sender* other_; | 151 IPC::Sender* other_; |
| 138 }; | 152 }; |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 // thrown out of sync by the extra argument. | 356 // thrown out of sync by the extra argument. |
| 343 msg = new MsgClassIS(3, base::ASCIIToUTF16("expect three")); | 357 msg = new MsgClassIS(3, base::ASCIIToUTF16("expect three")); |
| 344 sender()->Send(msg); | 358 sender()->Send(msg); |
| 345 EXPECT_TRUE(listener.ExpectMessage(3, MsgClassIS::ID)); | 359 EXPECT_TRUE(listener.ExpectMessage(3, MsgClassIS::ID)); |
| 346 | 360 |
| 347 EXPECT_TRUE(WaitForClientShutdown()); | 361 EXPECT_TRUE(WaitForClientShutdown()); |
| 348 DestroyChannel(); | 362 DestroyChannel(); |
| 349 } | 363 } |
| 350 | 364 |
| 351 } // namespace | 365 } // namespace |
| OLD | NEW |