| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 
| 2 // | 2 // | 
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. | 
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at | 
| 6 // | 6 // | 
| 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 
| 8 // | 8 // | 
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software | 
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 73       EXPECT_NE(THREAD_NULL, thread); | 73       EXPECT_NE(THREAD_NULL, thread); | 
| 74       EXPECT_EQ(ChildTask(), task); | 74       EXPECT_EQ(ChildTask(), task); | 
| 75     } else { | 75     } else { | 
| 76       EXPECT_EQ(THREAD_NULL, thread); | 76       EXPECT_EQ(THREAD_NULL, thread); | 
| 77       EXPECT_EQ(TASK_NULL, task); | 77       EXPECT_EQ(TASK_NULL, task); | 
| 78     } | 78     } | 
| 79 | 79 | 
| 80     mach_exception_code_t expect_code = exception_code_; | 80     mach_exception_code_t expect_code = exception_code_; | 
| 81     mach_exception_subcode_t expect_subcode = exception_subcode_; | 81     mach_exception_subcode_t expect_subcode = exception_subcode_; | 
| 82     if ((behavior & MACH_EXCEPTION_CODES) == 0) { | 82     if ((behavior & MACH_EXCEPTION_CODES) == 0) { | 
| 83       expect_code = static_cast<exception_data_type_t>(expect_code); | 83       expect_code = implicit_cast<exception_data_type_t>(expect_code); | 
| 84       expect_subcode = static_cast<exception_data_type_t>(expect_subcode); | 84       expect_subcode = implicit_cast<exception_data_type_t>(expect_subcode); | 
| 85     } | 85     } | 
| 86 | 86 | 
| 87     EXPECT_EQ(exception_, exception); | 87     EXPECT_EQ(exception_, exception); | 
| 88     EXPECT_EQ(2u, code_count); | 88     EXPECT_EQ(2u, code_count); | 
| 89 | 89 | 
| 90     // The code_count check above would ideally use ASSERT_EQ so that the next | 90     // The code_count check above would ideally use ASSERT_EQ so that the next | 
| 91     // conditionals would not be necessary, but ASSERT_* requires a function | 91     // conditionals would not be necessary, but ASSERT_* requires a function | 
| 92     // returning type void, and the interface dictates otherwise here. | 92     // returning type void, and the interface dictates otherwise here. | 
| 93     if (code_count >= 1) { | 93     if (code_count >= 1) { | 
| 94       EXPECT_EQ(expect_code, code[0]); | 94       EXPECT_EQ(expect_code, code[0]); | 
| 95     } | 95     } | 
| 96     if (code_count >= 2) { | 96     if (code_count >= 2) { | 
| 97       EXPECT_EQ(expect_subcode, code[1]); | 97       EXPECT_EQ(expect_subcode, code[1]); | 
| 98     } | 98     } | 
| 99 | 99 | 
| 100     if (HasState()) { | 100     if (HasState()) { | 
| 101       EXPECT_EQ(exception_ + 10, *flavor); | 101       EXPECT_EQ(exception_ + 10, *flavor); | 
| 102       EXPECT_EQ(MACHINE_THREAD_STATE_COUNT, old_state_count); | 102       EXPECT_EQ(MACHINE_THREAD_STATE_COUNT, old_state_count); | 
| 103       EXPECT_NE(nullptr, old_state); | 103       EXPECT_NE(nullptr, old_state); | 
| 104       EXPECT_EQ(static_cast<mach_msg_type_number_t>(THREAD_STATE_MAX), | 104       EXPECT_EQ(implicit_cast<mach_msg_type_number_t>(THREAD_STATE_MAX), | 
| 105                 *new_state_count); | 105                 *new_state_count); | 
| 106       EXPECT_NE(nullptr, new_state); | 106       EXPECT_NE(nullptr, new_state); | 
| 107 | 107 | 
| 108       for (size_t index = 0; index < old_state_count; ++index) { | 108       for (size_t index = 0; index < old_state_count; ++index) { | 
| 109         EXPECT_EQ(index, old_state[index]); | 109         EXPECT_EQ(index, old_state[index]); | 
| 110       } | 110       } | 
| 111 | 111 | 
| 112       // Use a flavor known to be different from the incoming flavor, for a test | 112       // Use a flavor known to be different from the incoming flavor, for a test | 
| 113       // of the “out” side of the inout flavor parameter. | 113       // of the “out” side of the inout flavor parameter. | 
| 114       *flavor = exception_ + 20; | 114       *flavor = exception_ + 20; | 
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 281 | 281 | 
| 282       TestExcClientVariants test_exc_client_variants(behavior, true); | 282       TestExcClientVariants test_exc_client_variants(behavior, true); | 
| 283       test_exc_client_variants.Run(); | 283       test_exc_client_variants.Run(); | 
| 284     } | 284     } | 
| 285   } | 285   } | 
| 286 } | 286 } | 
| 287 | 287 | 
| 288 }  // namespace | 288 }  // namespace | 
| 289 }  // namespace test | 289 }  // namespace test | 
| 290 }  // namespace crashpad | 290 }  // namespace crashpad | 
| OLD | NEW | 
|---|