59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===-- 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());
 | |
| }
 |