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

Unified Diff: util/mach/exc_server_variants_test.cc

Issue 757113002: ExcServerVariants test: use constructors to initialize test structures (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Rebase Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « util/mach/child_port_server_test.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: util/mach/exc_server_variants_test.cc
diff --git a/util/mach/exc_server_variants_test.cc b/util/mach/exc_server_variants_test.cc
index 4f3697ce80ad34398f360c6521cba12d1c96204e..4c9a7964b853c88f3d3e19e2c5ac65a286d3e9dd 100644
--- a/util/mach/exc_server_variants_test.cc
+++ b/util/mach/exc_server_variants_test.cc
@@ -77,16 +77,7 @@ void InitializeMachMsgPortDescriptor(mach_msg_port_descriptor_t* descriptor,
// object-oriented fashion.
struct __attribute__((packed, aligned(4))) ExceptionRaiseRequest {
- mach_msg_header_t Head;
- mach_msg_body_t msgh_body;
- mach_msg_port_descriptor_t thread;
- mach_msg_port_descriptor_t task;
- NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- integer_t code[2];
-
- void InitializeForTesting() {
+ ExceptionRaiseRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND) |
@@ -104,14 +95,19 @@ struct __attribute__((packed, aligned(4))) ExceptionRaiseRequest {
code[0] = kTestExceptonCodes[0];
code[1] = kTestExceptonCodes[1];
}
-};
-struct __attribute__((packed, aligned(4))) ExceptionRaiseReply {
mach_msg_header_t Head;
+ mach_msg_body_t msgh_body;
+ mach_msg_port_descriptor_t thread;
+ mach_msg_port_descriptor_t task;
NDR_record_t NDR;
- kern_return_t RetCode;
+ exception_type_t exception;
+ mach_msg_type_number_t codeCnt;
+ integer_t code[2];
+};
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) ExceptionRaiseReply {
+ ExceptionRaiseReply() {
memset(this, 0x5a, sizeof(*this));
RetCode = KERN_FAILURE;
}
@@ -142,19 +138,14 @@ struct __attribute__((packed, aligned(4))) ExceptionRaiseReply {
EXPECT_EQ(0, memcmp(&NDR, &NDR_record, sizeof(NDR)));
EXPECT_EQ(KERN_SUCCESS, RetCode);
}
-};
-struct __attribute__((packed, aligned(4))) ExceptionRaiseStateRequest {
mach_msg_header_t Head;
NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- integer_t code[2];
- int flavor;
- mach_msg_type_number_t old_stateCnt;
- natural_t old_state[THREAD_STATE_MAX];
+ kern_return_t RetCode;
+};
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) ExceptionRaiseStateRequest {
+ ExceptionRaiseStateRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND);
@@ -174,17 +165,19 @@ struct __attribute__((packed, aligned(4))) ExceptionRaiseStateRequest {
// may be smaller than the maximum that it can carry.
Head.msgh_size += sizeof(old_state[0]) * old_stateCnt - sizeof(old_state);
}
-};
-struct __attribute__((packed, aligned(4))) ExceptionRaiseStateReply {
mach_msg_header_t Head;
NDR_record_t NDR;
- kern_return_t RetCode;
+ exception_type_t exception;
+ mach_msg_type_number_t codeCnt;
+ integer_t code[2];
int flavor;
- mach_msg_type_number_t new_stateCnt;
- natural_t new_state[THREAD_STATE_MAX];
+ mach_msg_type_number_t old_stateCnt;
+ natural_t old_state[THREAD_STATE_MAX];
+};
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) ExceptionRaiseStateReply {
+ ExceptionRaiseStateReply() {
memset(this, 0x5a, sizeof(*this));
RetCode = KERN_FAILURE;
}
@@ -224,22 +217,17 @@ struct __attribute__((packed, aligned(4))) ExceptionRaiseStateReply {
EXPECT_EQ(kThreadStateFlavor, flavor);
EXPECT_EQ(arraysize(new_state), new_stateCnt);
}
-};
-struct __attribute__((packed, aligned(4))) ExceptionRaiseStateIdentityRequest {
mach_msg_header_t Head;
- mach_msg_body_t msgh_body;
- mach_msg_port_descriptor_t thread;
- mach_msg_port_descriptor_t task;
NDR_record_t NDR;
- exception_type_t exception;
- mach_msg_type_number_t codeCnt;
- integer_t code[2];
+ kern_return_t RetCode;
int flavor;
- mach_msg_type_number_t old_stateCnt;
- natural_t old_state[THREAD_STATE_MAX];
+ mach_msg_type_number_t new_stateCnt;
+ natural_t new_state[THREAD_STATE_MAX];
+};
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) ExceptionRaiseStateIdentityRequest {
+ ExceptionRaiseStateIdentityRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND) |
@@ -263,13 +251,7 @@ struct __attribute__((packed, aligned(4))) ExceptionRaiseStateIdentityRequest {
// may be smaller than the maximum that it can carry.
Head.msgh_size += sizeof(old_state[0]) * old_stateCnt - sizeof(old_state);
}
-};
-
-// The reply messages for exception_raise_state and
-// exception_raise_state_identity are identical.
-using ExceptionRaiseStateIdentityReply = ExceptionRaiseStateReply;
-struct __attribute__((packed, aligned(4))) MachExceptionRaiseRequest {
mach_msg_header_t Head;
mach_msg_body_t msgh_body;
mach_msg_port_descriptor_t thread;
@@ -277,9 +259,18 @@ struct __attribute__((packed, aligned(4))) MachExceptionRaiseRequest {
NDR_record_t NDR;
exception_type_t exception;
mach_msg_type_number_t codeCnt;
- int64_t code[2];
+ integer_t code[2];
+ int flavor;
+ mach_msg_type_number_t old_stateCnt;
+ natural_t old_state[THREAD_STATE_MAX];
+};
+
+// The reply messages for exception_raise_state and
+// exception_raise_state_identity are identical.
+using ExceptionRaiseStateIdentityReply = ExceptionRaiseStateReply;
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) MachExceptionRaiseRequest {
+ MachExceptionRaiseRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND) |
@@ -297,23 +288,23 @@ struct __attribute__((packed, aligned(4))) MachExceptionRaiseRequest {
code[0] = kTestMachExceptionCodes[0];
code[1] = kTestMachExceptionCodes[1];
}
-};
-// The reply messages for exception_raise and mach_exception_raise are
-// identical.
-using MachExceptionRaiseReply = ExceptionRaiseReply;
-
-struct __attribute__((packed, aligned(4))) MachExceptionRaiseStateRequest {
mach_msg_header_t Head;
+ mach_msg_body_t msgh_body;
+ mach_msg_port_descriptor_t thread;
+ mach_msg_port_descriptor_t task;
NDR_record_t NDR;
exception_type_t exception;
mach_msg_type_number_t codeCnt;
int64_t code[2];
- int flavor;
- mach_msg_type_number_t old_stateCnt;
- natural_t old_state[THREAD_STATE_MAX];
+};
+
+// The reply messages for exception_raise and mach_exception_raise are
+// identical.
+using MachExceptionRaiseReply = ExceptionRaiseReply;
- void InitializeForTesting() {
+struct __attribute__((packed, aligned(4))) MachExceptionRaiseStateRequest {
+ MachExceptionRaiseStateRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND);
@@ -333,18 +324,8 @@ struct __attribute__((packed, aligned(4))) MachExceptionRaiseStateRequest {
// may be smaller than the maximum that it can carry.
Head.msgh_size += sizeof(old_state[0]) * old_stateCnt - sizeof(old_state);
}
-};
-
-// The reply messages for exception_raise_state and mach_exception_raise_state
-// are identical.
-using MachExceptionRaiseStateReply = ExceptionRaiseStateReply;
-struct __attribute__((packed,
- aligned(4))) MachExceptionRaiseStateIdentityRequest {
mach_msg_header_t Head;
- mach_msg_body_t msgh_body;
- mach_msg_port_descriptor_t thread;
- mach_msg_port_descriptor_t task;
NDR_record_t NDR;
exception_type_t exception;
mach_msg_type_number_t codeCnt;
@@ -352,8 +333,15 @@ struct __attribute__((packed,
int flavor;
mach_msg_type_number_t old_stateCnt;
natural_t old_state[THREAD_STATE_MAX];
+};
+
+// The reply messages for exception_raise_state and mach_exception_raise_state
+// are identical.
+using MachExceptionRaiseStateReply = ExceptionRaiseStateReply;
- void InitializeForTesting() {
+struct __attribute__((packed,
+ aligned(4))) MachExceptionRaiseStateIdentityRequest {
+ MachExceptionRaiseStateIdentityRequest() {
memset(this, 0xa5, sizeof(*this));
Head.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND) |
@@ -377,6 +365,18 @@ struct __attribute__((packed,
// may be smaller than the maximum that it can carry.
Head.msgh_size += sizeof(old_state[0]) * old_stateCnt - sizeof(old_state);
}
+
+ mach_msg_header_t Head;
+ mach_msg_body_t msgh_body;
+ mach_msg_port_descriptor_t thread;
+ mach_msg_port_descriptor_t task;
+ NDR_record_t NDR;
+ exception_type_t exception;
+ mach_msg_type_number_t codeCnt;
+ int64_t code[2];
+ int flavor;
+ mach_msg_type_number_t old_stateCnt;
+ natural_t old_state[THREAD_STATE_MAX];
};
// The reply messages for exception_raise_state_identity and
@@ -387,9 +387,8 @@ using MachExceptionRaiseStateIdentityReply = ExceptionRaiseStateIdentityReply;
// UniversalMachExcServer deals appropriately with messages that it does not
// understand: messages with an unknown Head.msgh_id.
-struct __attribute__((packed, aligned(4))) InvalidRequest
- : public mach_msg_empty_send_t {
- void InitializeForTesting(mach_msg_id_t id) {
+struct InvalidRequest : public mach_msg_empty_send_t {
+ explicit InvalidRequest(mach_msg_id_t id) {
memset(this, 0xa5, sizeof(*this));
header.msgh_bits =
MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, MACH_MSG_TYPE_PORT_SEND);
@@ -400,9 +399,8 @@ struct __attribute__((packed, aligned(4))) InvalidRequest
}
};
-struct __attribute__((packed, aligned(4))) BadIDErrorReply
- : public mig_reply_error_t {
- void InitializeForTesting() {
+struct BadIDErrorReply : public mig_reply_error_t {
+ BadIDErrorReply() {
memset(this, 0x5a, sizeof(*this));
RetCode = KERN_FAILURE;
}
@@ -551,11 +549,9 @@ TEST(ExcServerVariants, MockExceptionRaise) {
ExceptionRaiseRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
ExceptionRaiseReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior = EXCEPTION_DEFAULT;
@@ -590,11 +586,9 @@ TEST(ExcServerVariants, MockExceptionRaiseState) {
ExceptionRaiseStateRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
ExceptionRaiseStateReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior = EXCEPTION_STATE;
@@ -633,11 +627,9 @@ TEST(ExcServerVariants, MockExceptionRaiseStateIdentity) {
ExceptionRaiseStateIdentityRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
ExceptionRaiseStateIdentityReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior = EXCEPTION_STATE_IDENTITY;
@@ -673,11 +665,9 @@ TEST(ExcServerVariants, MockMachExceptionRaise) {
MachExceptionRaiseRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
MachExceptionRaiseReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior =
EXCEPTION_DEFAULT | MACH_EXCEPTION_CODES;
@@ -714,11 +704,9 @@ TEST(ExcServerVariants, MockMachExceptionRaiseState) {
MachExceptionRaiseStateRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
MachExceptionRaiseStateReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior =
EXCEPTION_STATE | MACH_EXCEPTION_CODES;
@@ -758,11 +746,9 @@ TEST(ExcServerVariants, MockMachExceptionRaiseStateIdentity) {
MachExceptionRaiseStateIdentityRequest request;
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting();
MachExceptionRaiseStateIdentityReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
const exception_behavior_t kExceptionBehavior =
EXCEPTION_STATE_IDENTITY | MACH_EXCEPTION_CODES;
@@ -835,13 +821,11 @@ TEST(ExcServerVariants, MockUnknownID) {
SCOPED_TRACE(base::StringPrintf("unknown id %d", id));
- InvalidRequest request;
+ InvalidRequest request(id);
EXPECT_LE(sizeof(request), server.MachMessageServerRequestSize());
- request.InitializeForTesting(id);
BadIDErrorReply reply;
EXPECT_LE(sizeof(reply), server.MachMessageServerReplySize());
- reply.InitializeForTesting();
bool destroy_complex_request = false;
EXPECT_FALSE(server.MachMessageServerFunction(
« no previous file with comments | « util/mach/child_port_server_test.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698