#include "test/multiprocess.h"
#include <signal.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
#include <memory>
#include <string>
#include "base/auto_reset.h"
#include "base/check_op.h"
#include "base/files/scoped_file.h"
#include "base/posix/eintr_wrapper.h"
#include "base/strings/stringprintf.h"
#include "build/build_config.h"
#include "gtest/gtest.h"
#include "test/errors.h"
#include "util/misc/scoped_forbid_return.h"
#include "util/posix/signals.h"
#if BUILDFLAG(IS_APPLE)
#include "test/mac/exception_swallower.h"
#endif
namespace crashpad {
namespace test {
namespace internal {
struct MultiprocessInfo { … };
}
Multiprocess::Multiprocess()
: … { … }
void Multiprocess::Run() { … }
void Multiprocess::SetExpectedChildTermination(TerminationReason reason,
ReturnCodeType code) { … }
void Multiprocess::SetExpectedChildTerminationBuiltinTrap() { … }
Multiprocess::~Multiprocess() { … }
void Multiprocess::PreFork() { … }
pid_t Multiprocess::ChildPID() const { … }
FileHandle Multiprocess::ReadPipeHandle() const { … }
FileHandle Multiprocess::WritePipeHandle() const { … }
void Multiprocess::CloseReadPipe() { … }
void Multiprocess::CloseWritePipe() { … }
void Multiprocess::RunParent() { … }
void Multiprocess::RunChild() { … }
}
}