mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 14:06:33 +00:00
linux: Fix failing exception handler server test
The test broke at: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/978630 which moved responsibility for sending a ForkBroker request to PtraceDecider. MockPtraceDecider wasn't updated to send this request, so no broker was forked. Change-Id: I8eddcc57c7b45419a72f1239c1cc9ab27e4ac2d2 Reviewed-on: https://chromium-review.googlesource.com/996715 Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
parent
ba0bd63254
commit
1ebedb05dd
@ -141,6 +141,25 @@ class MockPtraceStrategyDecider : public PtraceStrategyDecider {
|
||||
~MockPtraceStrategyDecider() {}
|
||||
|
||||
Strategy ChooseStrategy(int sock, const ucred& client_credentials) override {
|
||||
if (strategy_ == Strategy::kUseBroker) {
|
||||
ServerToClientMessage message = {};
|
||||
message.type = ServerToClientMessage::kTypeForkBroker;
|
||||
|
||||
Errno status;
|
||||
bool result = LoggingWriteFile(sock, &message, sizeof(message)) &&
|
||||
LoggingReadFileExactly(sock, &status, sizeof(status));
|
||||
EXPECT_TRUE(result);
|
||||
|
||||
if (!result) {
|
||||
return Strategy::kError;
|
||||
}
|
||||
|
||||
if (status != 0) {
|
||||
errno = status;
|
||||
ADD_FAILURE() << ErrnoMessage("Handler Client ForkBroker");
|
||||
return Strategy::kNoPtrace;
|
||||
}
|
||||
}
|
||||
return strategy_;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user