@@ -34,39 +34,37 @@ class HostTest : public testing::Test {
34
34
TEST_F (HostTest, GetProcessInfo) {
35
35
llvm::Triple triple = HostInfo::GetTargetTriple ();
36
36
37
- ASSERT_TRUE (
38
- (triple.getOS () == llvm::Triple::OSType ::Linux) ||
39
- (triple.hasEnvironment () &&
40
- triple.getEnvironment () == llvm::Triple::EnvironmentType::Android));
41
-
42
37
ProcessInstanceInfo Info;
43
38
44
39
ASSERT_FALSE (Host::GetProcessInfo (LLDB_INVALID_PROCESS_ID, Info));
45
40
46
41
ASSERT_TRUE (Host::GetProcessInfo (getpid (), Info));
47
42
48
- ASSERT_TRUE (Info.ProcessIDIsValid ());
43
+ EXPECT_TRUE (Info.ProcessIDIsValid ());
49
44
EXPECT_EQ (lldb::pid_t (getpid ()), Info.GetProcessID ());
50
45
51
- ASSERT_TRUE (Info.ParentProcessIDIsValid ());
46
+ EXPECT_TRUE (Info.ParentProcessIDIsValid ());
52
47
EXPECT_EQ (lldb::pid_t (getppid ()), Info.GetParentProcessID ());
53
48
54
- ASSERT_TRUE (Info.ProcessGroupIDIsValid ());
49
+ // Not currently set on apple systems.
50
+ #ifndef __APPLE__
51
+ EXPECT_TRUE (Info.ProcessGroupIDIsValid ());
55
52
EXPECT_EQ (lldb::pid_t (getpgrp ()), Info.GetProcessGroupID ());
56
53
57
- ASSERT_TRUE (Info.ProcessSessionIDIsValid ());
54
+ EXPECT_TRUE (Info.ProcessSessionIDIsValid ());
58
55
EXPECT_EQ (lldb::pid_t (getsid (getpid ())), Info.GetProcessSessionID ());
56
+ #endif
59
57
60
- ASSERT_TRUE (Info.EffectiveUserIDIsValid ());
58
+ EXPECT_TRUE (Info.EffectiveUserIDIsValid ());
61
59
EXPECT_EQ (geteuid (), Info.GetEffectiveUserID ());
62
60
63
- ASSERT_TRUE (Info.EffectiveGroupIDIsValid ());
61
+ EXPECT_TRUE (Info.EffectiveGroupIDIsValid ());
64
62
EXPECT_EQ (getegid (), Info.GetEffectiveGroupID ());
65
63
66
- ASSERT_TRUE (Info.UserIDIsValid ());
64
+ EXPECT_TRUE (Info.UserIDIsValid ());
67
65
EXPECT_EQ (geteuid (), Info.GetUserID ());
68
66
69
- ASSERT_TRUE (Info.GroupIDIsValid ());
67
+ EXPECT_TRUE (Info.GroupIDIsValid ());
70
68
EXPECT_EQ (getegid (), Info.GetGroupID ());
71
69
72
70
EXPECT_TRUE (Info.GetArchitecture ().IsValid ());
@@ -90,14 +88,19 @@ TEST_F(HostTest, GetProcessInfo) {
90
88
ProcessInstanceInfo::timespec next_user_time = Info.GetUserTime ();
91
89
ASSERT_TRUE (user_time.tv_sec <= next_user_time.tv_sec ||
92
90
user_time.tv_usec <= next_user_time.tv_usec );
91
+ }
93
92
94
- #ifndef _AIX
93
+ // Only linux currently sets these.
94
+ #ifdef __linux__
95
+ TEST_F (HostTest, GetProcessInfoSetsPriority) {
96
+ ProcessInstanceInfo Info;
95
97
struct rlimit rlim;
96
98
EXPECT_EQ (getrlimit (RLIMIT_NICE, &rlim), 0 );
97
99
// getpriority can return -1 so we zero errno first
98
100
errno = 0 ;
99
- int prio = getpriority (PRIO_PROCESS, PRIO_PROCESS );
101
+ int prio = getpriority (PRIO_PROCESS, 0 );
100
102
ASSERT_TRUE ((prio < 0 && errno == 0 ) || prio >= 0 );
103
+ ASSERT_TRUE (Host::GetProcessInfo (getpid (), Info));
101
104
ASSERT_EQ (Info.GetPriorityValue (), prio);
102
105
// If we can't raise our nice level then this test can't be performed.
103
106
int max_incr = PRIO_MAX - rlim.rlim_cur ;
@@ -110,5 +113,5 @@ TEST_F(HostTest, GetProcessInfo) {
110
113
}
111
114
ASSERT_TRUE (Info.IsZombie ().has_value ());
112
115
ASSERT_FALSE (Info.IsZombie ().value ());
113
- #endif /* ifndef _AIX */
114
116
}
117
+ #endif
0 commit comments