Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: mojo/public/rust/tests/validation.rs

Issue 2240003002: Rust: Polish off communication across Mojom interfaces (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Upload newest version of code gen Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 //! Tests encoding and decoding functionality in the bindings package 5 //! Tests encoding and decoding functionality in the bindings package
6 //! 6 //!
7 //! Test failure is defined as the function returning via panicking 7 //! Test failure is defined as the function returning via panicking
8 //! and the result being caught in the test! macro. If a test function 8 //! and the result being caught in the test! macro. If a test function
9 //! returns without panicking, it is assumed to pass. 9 //! returns without panicking, it is assumed to pass.
10 10
11 #[macro_use] 11 #[macro_use]
12 extern crate mojo; 12 extern crate mojo;
13 13
14 use mojo::bindings::mojom::MojomMessageOption; 14 use mojo::bindings::mojom::MojomMessageOption;
15 use mojo::system; 15 use mojo::system;
16 16
17 #[macro_use] 17 #[macro_use]
18 mod util; 18 mod util;
19 19
20 use util::mojom_validation::*; 20 use util::mojom_validation::*;
21 21
22 /// This macro is a wrapper for the tests! macro as it takes advantage of the 22 /// This macro is a wrapper for the tests! macro as it takes advantage of the
23 /// shared code between tests. 23 /// shared code between tests.
24 /// 24 ///
25 /// Given a test name, it will generate a test function. In this test function 25 /// Given a test name, it will generate a test function. In this test function
26 /// we perform the following steps: 26 /// we perform the following steps:
27 /// 1. Decode the header of the validation input. 27 /// 1. Decode the header of the validation input.
28 /// 3. Decode the payload of the validation input. 28 /// 2. Decode the payload of the validation input, expecting a validation
29 /// error.
29 /// 30 ///
30 macro_rules! validation_tests { 31 macro_rules! validation_tests {
31 ($($name:ident => $req_type:ident;)*) => { 32 ($($name:ident => $req_type:ident;)*) => {
32 tests! { 33 tests! {
33 $( 34 $(
34 fn $name() { 35 fn $name() {
35 let data = include_str!(concat!("../../interfaces/bindings/tests /data/validation/", 36 let data = include_str!(concat!("../../interfaces/bindings/tests /data/validation/",
36 stringify!($name), 37 stringify!($name),
37 ".data")); 38 ".data"));
38 let expected = include_str!(concat!("../../interfaces/bindings/t ests/data/validation/", 39 let expected = include_str!(concat!("../../interfaces/bindings/t ests/data/validation/",
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 conformance_msghdr_num_bytes_huge => ConformanceTestInterfaceRequestOption; 118 conformance_msghdr_num_bytes_huge => ConformanceTestInterfaceRequestOption;
118 conformance_msghdr_num_bytes_less_than_min_requirement => ConformanceTestInt erfaceRequestOption; 119 conformance_msghdr_num_bytes_less_than_min_requirement => ConformanceTestInt erfaceRequestOption;
119 conformance_msghdr_num_bytes_less_than_struct_header => ConformanceTestInter faceRequestOption; 120 conformance_msghdr_num_bytes_less_than_struct_header => ConformanceTestInter faceRequestOption;
120 conformance_msghdr_num_bytes_version_mismatch_1 => ConformanceTestInterfaceR equestOption; 121 conformance_msghdr_num_bytes_version_mismatch_1 => ConformanceTestInterfaceR equestOption;
121 conformance_msghdr_num_bytes_version_mismatch_2 => ConformanceTestInterfaceR equestOption; 122 conformance_msghdr_num_bytes_version_mismatch_2 => ConformanceTestInterfaceR equestOption;
122 conformance_msghdr_num_bytes_version_mismatch_3 => ConformanceTestInterfaceR equestOption; 123 conformance_msghdr_num_bytes_version_mismatch_3 => ConformanceTestInterfaceR equestOption;
123 resp_boundscheck_msghdr_no_such_method => BoundsCheckTestInterfaceResponseOp tion; 124 resp_boundscheck_msghdr_no_such_method => BoundsCheckTestInterfaceResponseOp tion;
124 resp_conformance_msghdr_invalid_response_flags1 => ConformanceTestInterfaceR esponseOption; 125 resp_conformance_msghdr_invalid_response_flags1 => ConformanceTestInterfaceR esponseOption;
125 resp_conformance_msghdr_invalid_response_flags2 => ConformanceTestInterfaceR esponseOption; 126 resp_conformance_msghdr_invalid_response_flags2 => ConformanceTestInterfaceR esponseOption;
126 resp_conformance_msghdr_no_such_method => ConformanceTestInterfaceResponseOp tion; 127 resp_conformance_msghdr_no_such_method => ConformanceTestInterfaceResponseOp tion;
128 integration_intf_resp_mthd0_unexpected_array_header => IntegrationTestInterf aceResponseOption;
129 integration_intf_rqst_mthd0_unexpected_struct_header => IntegrationTestInter faceRequestOption;
130 integration_msghdr_invalid_flags => IntegrationTestInterfaceRequestOption;
127 } 131 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698