EXPECT_EQ(ret, 0);
}
+TEST_F(ResourceMonitorTest,
+ pass_resource_monitor_set_resource_flag_invalid)
+{
+ int ret;
+ int res_type = RESOURCE_TYPE_PROCESS; /* RESOURCE_TYPE_PROCESS has private visibility */
+ u_int64_t res_attr_id = PROCESS_ATTR_CPU_UTIL;
+ u_int64_t ctrl_id = PROCESS_CTRL_TGID;
+
+ int id = pass_resource_monitor_init();
+ EXPECT_TRUE(id > 0);
+
+ int res_id = pass_resource_monitor_create_resource(id, res_type);
+ ret = pass_resource_monitor_set_resource_flag(id, res_id, RESOURCE_FLAG_PUBLIC);
+ EXPECT_EQ(ret, 0);
+
+ ret = pass_resource_monitor_set_resource_ctrl(id, res_id, ctrl_id, getpid());
+ EXPECT_EQ(ret, 0);
+
+ ret = pass_resource_monitor_set_resource_attr(id, res_id, res_attr_id);
+ EXPECT_EQ(ret, -EPERM);
+
+ ret = pass_resource_monitor_delete_resource(id, res_id);
+ EXPECT_EQ(ret, 0);
+
+ ret = pass_resource_monitor_exit(id);
+ EXPECT_EQ(ret, 0);
+}
+
struct resource_attr_info {
u_int64_t attr_id;
int attr_type;