#include "user_mgr.hpp" #include TEST(ExecuteCmdTest, CommandReturnsEmptyOutput) { std::vector output = phosphor::user::executeCmd("/bin/true"); ASSERT_TRUE(output.empty()); } TEST(ExecuteCmdTest, CommandWithArgs) { std::vector output = phosphor::user::executeCmd( "/bin/echo", "testing", "with", "multiple", "args"); ASSERT_EQ(output.size(), 1); EXPECT_EQ(output[0], "testing with multiple args"); } TEST(ExecuteCmdTest, CommandReturnsOutput) { std::vector output = phosphor::user::executeCmd("/bin/echo", "-e", "hello\\nworld"); ASSERT_EQ(output.size(), 2); EXPECT_EQ(output[0], "hello"); EXPECT_EQ(output[1], "world"); } TEST(ExecuteCmdTest, NonExistentCommand) { EXPECT_THROW(phosphor::user::executeCmd("/path/to/nonexistent_command"), boost::process::process_error); } TEST(ExecuteCmdTest, CommandReturnsNonZeroExitCode) { EXPECT_THROW( phosphor::user::executeCmd("/bin/false"), sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure); }