//===-- HostTest.cpp ------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "lldb/Host/Host.h" #include "lldb/Host/FileSystem.h" #include "lldb/Host/HostInfo.h" #include "lldb/Target/Process.h" #include "gtest/gtest.h" using namespace lldb_private; namespace { class HostTest : public testing::Test { public: static void SetUpTestCase() { FileSystem::Initialize(); HostInfo::Initialize(); } static void TearDownTestCase() { HostInfo::Terminate(); FileSystem::Terminate(); } }; } // namespace TEST_F(HostTest, GetProcessInfo) { ProcessInstanceInfo Info; ASSERT_FALSE(Host::GetProcessInfo(0, Info)); ASSERT_TRUE(Host::GetProcessInfo(getpid(), Info)); ASSERT_TRUE(Info.ProcessIDIsValid()); EXPECT_EQ(lldb::pid_t(getpid()), Info.GetProcessID()); ASSERT_TRUE(Info.ParentProcessIDIsValid()); EXPECT_EQ(lldb::pid_t(getppid()), Info.GetParentProcessID()); ASSERT_TRUE(Info.EffectiveUserIDIsValid()); EXPECT_EQ(geteuid(), Info.GetEffectiveUserID()); ASSERT_TRUE(Info.EffectiveGroupIDIsValid()); EXPECT_EQ(getegid(), Info.GetEffectiveGroupID()); ASSERT_TRUE(Info.UserIDIsValid()); EXPECT_EQ(geteuid(), Info.GetUserID()); ASSERT_TRUE(Info.GroupIDIsValid()); EXPECT_EQ(getegid(), Info.GetGroupID()); EXPECT_TRUE(Info.GetArchitecture().IsValid()); EXPECT_EQ(HostInfo::GetArchitecture(HostInfo::eArchKindDefault), Info.GetArchitecture()); }