| Index: chromeos/process_test.cc
|
| diff --git a/chromeos/process_test.cc b/chromeos/process_test.cc
|
| index 98d4bf8637567834320ed99faf87b6e100831feb..f7d11c5984ca50d32ccf288b796ecb5c85bf6663 100644
|
| --- a/chromeos/process_test.cc
|
| +++ b/chromeos/process_test.cc
|
| @@ -92,7 +92,7 @@ TEST_F(ProcessTest, NonZeroReturnValue) {
|
| TEST_F(ProcessTest, BadOutputFile) {
|
| process_.AddArg(kBinEcho);
|
| process_.RedirectOutput("/bad/path");
|
| - EXPECT_EQ(127, process_.Run());
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| }
|
|
|
| TEST_F(ProcessTest, ExistingOutputFile) {
|
| @@ -101,12 +101,12 @@ TEST_F(ProcessTest, ExistingOutputFile) {
|
| EXPECT_FALSE(file_util::PathExists(FilePath(output_file_)));
|
| EXPECT_EQ(0, process_.Run());
|
| EXPECT_TRUE(file_util::PathExists(FilePath(output_file_)));
|
| - EXPECT_EQ(127, process_.Run());
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| }
|
|
|
| TEST_F(ProcessTest, BadExecutable) {
|
| process_.AddArg("false");
|
| - EXPECT_EQ(127, process_.Run());
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| }
|
|
|
| void ProcessTest::CheckStderrCaptured() {
|
| @@ -196,8 +196,46 @@ TEST_F(ProcessTest, RedirectStdinUsingPipe) {
|
| ExpectFileEquals(kMessage, output_file_.c_str());
|
| }
|
|
|
| +TEST_F(ProcessTest, WithSameUid) {
|
| + gid_t uid = geteuid();
|
| + process_.AddArg(kBinEcho);
|
| + process_.SetUid(uid);
|
| + EXPECT_EQ(0, process_.Run());
|
| +}
|
| +
|
| +TEST_F(ProcessTest, WithSameGid) {
|
| + gid_t gid = getegid();
|
| + process_.AddArg(kBinEcho);
|
| + process_.SetGid(gid);
|
| + EXPECT_EQ(0, process_.Run());
|
| +}
|
| +
|
| +TEST_F(ProcessTest, WithIllegalUid) {
|
| + ASSERT_NE(0, geteuid());
|
| + process_.AddArg(kBinEcho);
|
| + process_.SetUid(0);
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| + std::string contents;
|
| + EXPECT_TRUE(file_util::ReadFileToString(FilePath(output_file_),
|
| + &contents));
|
| + EXPECT_NE(std::string::npos,
|
| + contents.find("Unable to set UID to 0: 1\n"));
|
| +}
|
| +
|
| +TEST_F(ProcessTest, WithIllegalGid) {
|
| + ASSERT_NE(0, getegid());
|
| + process_.AddArg(kBinEcho);
|
| + process_.SetGid(0);
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| + std::string contents;
|
| + EXPECT_TRUE(file_util::ReadFileToString(FilePath(output_file_),
|
| + &contents));
|
| + EXPECT_NE(std::string::npos,
|
| + contents.find("Unable to set GID to 0: 1\n"));
|
| +}
|
| +
|
| TEST_F(ProcessTest, NoParams) {
|
| - EXPECT_EQ(127, process_.Run());
|
| + EXPECT_EQ(Process::kErrorExitStatus, process_.Run());
|
| }
|
|
|
| TEST_F(ProcessTest, SegFaultHandling) {
|
|
|