Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 417 // This test is similar to the BoundsCheck test but for responses. | 417 // This test is similar to the BoundsCheck test but for responses. |
| 418 TEST_F(ValidationTest, ResponseBoundsCheck) { | 418 TEST_F(ValidationTest, ResponseBoundsCheck) { |
| 419 DummyMessageReceiver dummy_receiver; | 419 DummyMessageReceiver dummy_receiver; |
| 420 mojo::FilterChain validators(&dummy_receiver); | 420 mojo::FilterChain validators(&dummy_receiver); |
| 421 validators.Append<mojo::MessageHeaderValidator>(); | 421 validators.Append<mojo::MessageHeaderValidator>(); |
| 422 validators.Append<BoundsCheckTestInterface::ResponseValidator_>(); | 422 validators.Append<BoundsCheckTestInterface::ResponseValidator_>(); |
| 423 | 423 |
| 424 RunValidationTests("resp_boundscheck_", &validators); | 424 RunValidationTests("resp_boundscheck_", &validators); |
| 425 } | 425 } |
| 426 | 426 |
| 427 // Test that the client cannot send a message (e.g. a recursively defined | |
| 428 // struct) so deep that the validation code blows the stack. The validation code | |
| 429 // should check for this case and return a validation error. | |
| 430 TEST_F(ValidationTest, RequestMaxRecursionDepth) { | |
| 431 DummyMessageReceiver dummy_receiver; | |
| 432 mojo::FilterChain validators(&dummy_receiver); | |
| 433 validators.Append<mojo::MessageHeaderValidator>(); | |
| 434 validators.Append<ConformanceTestInterface::RequestValidator_>(); | |
| 435 | |
| 436 RunValidationTests("req_max_recursion_depth", &validators); | |
|
yzshen1
2016/09/07 16:51:20
Does it make sense to use the same prefix as other
tibell
2016/09/08 00:03:38
Done.
| |
| 437 } | |
| 438 | |
| 427 // Test that InterfacePtr<X> applies the correct validators and they don't | 439 // Test that InterfacePtr<X> applies the correct validators and they don't |
| 428 // conflict with each other: | 440 // conflict with each other: |
| 429 // - MessageHeaderValidator | 441 // - MessageHeaderValidator |
| 430 // - X::ResponseValidator_ | 442 // - X::ResponseValidator_ |
| 431 TEST_F(ValidationIntegrationTest, InterfacePtr) { | 443 TEST_F(ValidationIntegrationTest, InterfacePtr) { |
| 432 IntegrationTestInterfacePtr interface_ptr = MakeProxy( | 444 IntegrationTestInterfacePtr interface_ptr = MakeProxy( |
| 433 InterfacePtrInfo<IntegrationTestInterface>(testee_endpoint(), 0u)); | 445 InterfacePtrInfo<IntegrationTestInterface>(testee_endpoint(), 0u)); |
| 434 interface_ptr.internal_state()->EnableTestingMode(); | 446 interface_ptr.internal_state()->EnableTestingMode(); |
| 435 | 447 |
| 436 RunValidationTests("integration_intf_resp", test_message_receiver()); | 448 RunValidationTests("integration_intf_resp", test_message_receiver()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 490 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(0))); | 502 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(0))); |
| 491 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(1))); | 503 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(1))); |
| 492 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(2))); | 504 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(2))); |
| 493 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(3))); | 505 EXPECT_TRUE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(3))); |
| 494 EXPECT_FALSE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(4))); | 506 EXPECT_FALSE(IsKnownEnumValue(static_cast<StructWithEnum::EnumWithin>(4))); |
| 495 } | 507 } |
| 496 | 508 |
| 497 } // namespace | 509 } // namespace |
| 498 } // namespace test | 510 } // namespace test |
| 499 } // namespace mojo | 511 } // namespace mojo |
| OLD | NEW |