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 <stdio.h> | 5 #include <stdio.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
364 | 364 |
365 TEST_F(ValidationTest, Conformance) { | 365 TEST_F(ValidationTest, Conformance) { |
366 DummyMessageReceiver dummy_receiver; | 366 DummyMessageReceiver dummy_receiver; |
367 mojo::internal::FilterChain validators(&dummy_receiver); | 367 mojo::internal::FilterChain validators(&dummy_receiver); |
368 validators.Append<mojo::internal::MessageHeaderValidator>(); | 368 validators.Append<mojo::internal::MessageHeaderValidator>(); |
369 validators.Append<ConformanceTestInterface::RequestValidator_>(); | 369 validators.Append<ConformanceTestInterface::RequestValidator_>(); |
370 | 370 |
371 RunValidationTests("conformance_", validators.GetHead()); | 371 RunValidationTests("conformance_", validators.GetHead()); |
372 } | 372 } |
373 | 373 |
374 // This test is similar to Conformance test but its goal is specifically | |
375 // do bounds-check testing of message validation. For example we test the | |
376 // detection of off-by-one errors in method ordinals. | |
377 TEST_F(ValidationTest, BoundsCheck) { | |
378 DummyMessageReceiver dummy_receiver; | |
379 mojo::internal::FilterChain validators(&dummy_receiver); | |
380 validators.Append<mojo::internal::MessageHeaderValidator>(); | |
381 validators.Append<BoundsCheckTestInterface::RequestValidator_>(); | |
382 | |
383 RunValidationTests("boundscheck_", validators.GetHead()); | |
384 } | |
385 | |
374 // This test is similar to the Conformance test but for responses. | 386 // This test is similar to the Conformance test but for responses. |
375 TEST_F(ValidationTest, ResponseConformance) { | 387 TEST_F(ValidationTest, ResponseConformance) { |
376 DummyMessageReceiver dummy_receiver; | 388 DummyMessageReceiver dummy_receiver; |
377 mojo::internal::FilterChain validators(&dummy_receiver); | 389 mojo::internal::FilterChain validators(&dummy_receiver); |
378 validators.Append<mojo::internal::MessageHeaderValidator>(); | 390 validators.Append<mojo::internal::MessageHeaderValidator>(); |
379 validators.Append<ConformanceTestInterface::ResponseValidator_>(); | 391 validators.Append<ConformanceTestInterface::ResponseValidator_>(); |
380 | 392 |
381 RunValidationTests("resp_conformance_", validators.GetHead()); | 393 RunValidationTests("resp_conformance_", validators.GetHead()); |
382 } | 394 } |
383 | 395 |
396 // This test is similar to the BoundsCheck test but for responses. | |
397 // Any changes to the | |
yzshen1
2015/04/06 18:41:22
In complete comment.
rudominer
2015/04/10 18:13:16
Done.
| |
398 TEST_F(ValidationTest, ResponseBoundsCheck) { | |
399 DummyMessageReceiver dummy_receiver; | |
400 mojo::internal::FilterChain validators(&dummy_receiver); | |
401 validators.Append<mojo::internal::MessageHeaderValidator>(); | |
402 validators.Append<BoundsCheckTestInterface::ResponseValidator_>(); | |
403 | |
404 RunValidationTests("resp_boundscheck_", validators.GetHead()); | |
405 } | |
406 | |
384 // Test that InterfacePtr<X> applies the correct validators and they don't | 407 // Test that InterfacePtr<X> applies the correct validators and they don't |
385 // conflict with each other: | 408 // conflict with each other: |
386 // - MessageHeaderValidator | 409 // - MessageHeaderValidator |
387 // - X::ResponseValidator_ | 410 // - X::ResponseValidator_ |
388 TEST_F(ValidationIntegrationTest, InterfacePtr) { | 411 TEST_F(ValidationIntegrationTest, InterfacePtr) { |
389 IntegrationTestInterfacePtr interface_ptr = | 412 IntegrationTestInterfacePtr interface_ptr = |
390 MakeProxy<IntegrationTestInterface>(testee_endpoint().Pass()); | 413 MakeProxy<IntegrationTestInterface>(testee_endpoint().Pass()); |
391 interface_ptr.internal_state()->router_for_testing()->EnableTestingMode(); | 414 interface_ptr.internal_state()->router_for_testing()->EnableTestingMode(); |
392 | 415 |
393 RunValidationTests("integration_intf_resp", test_message_receiver()); | 416 RunValidationTests("integration_intf_resp", test_message_receiver()); |
(...skipping 11 matching lines...) Expand all Loading... | |
405 MakeRequest<IntegrationTestInterface>(testee_endpoint().Pass())); | 428 MakeRequest<IntegrationTestInterface>(testee_endpoint().Pass())); |
406 binding.internal_router()->EnableTestingMode(); | 429 binding.internal_router()->EnableTestingMode(); |
407 | 430 |
408 RunValidationTests("integration_intf_rqst", test_message_receiver()); | 431 RunValidationTests("integration_intf_rqst", test_message_receiver()); |
409 RunValidationTests("integration_msghdr", test_message_receiver()); | 432 RunValidationTests("integration_msghdr", test_message_receiver()); |
410 } | 433 } |
411 | 434 |
412 } // namespace | 435 } // namespace |
413 } // namespace test | 436 } // namespace test |
414 } // namespace mojo | 437 } // namespace mojo |
OLD | NEW |