12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Copyright 2015 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "chromecast/base/process_utils.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace chromecast {
- // Verify that a simple process works as expected.
- TEST(ProcessUtilsTest, SimpleProcess) {
- // Create a simple command.
- std::vector<std::string> args;
- args.push_back("echo");
- args.push_back("Hello World");
- // Execute the command and collect the output.
- std::string stdout_result;
- ASSERT_TRUE(GetAppOutput(args, &stdout_result));
- // Echo will append a newline to the stdout.
- EXPECT_EQ("Hello World\n", stdout_result);
- }
- // Verify that false is returned for an invalid command.
- TEST(ProcessUtilsTest, InvalidCommand) {
- // Create a command which is not valid.
- std::vector<std::string> args;
- args.push_back("invalid_command");
- // The command should not run.
- std::string stdout_result;
- ASSERT_FALSE(GetAppOutput(args, &stdout_result));
- ASSERT_TRUE(stdout_result.empty());
- }
- // Verify that false is returned when a command an error code.
- TEST(ProcessUtilsTest, ProcessReturnsError) {
- // Create a simple command.
- std::vector<std::string> args;
- args.push_back("cd");
- args.push_back("path/to/invalid/directory");
- args.push_back("2>&1"); // Pipe the stderr into stdout.
- // Execute the command and collect the output. Verify that the output of the
- // process is collected, even when the process returns an error code.
- std::string stderr_result;
- ASSERT_FALSE(GetAppOutput(args, &stderr_result));
- ASSERT_FALSE(stderr_result.empty());
- }
- } // namespace chromecast
|