1f0bfeaa8Sopenharmony_ci/*
2f0bfeaa8Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3f0bfeaa8Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4f0bfeaa8Sopenharmony_ci * you may not use this file except in compliance with the License.
5f0bfeaa8Sopenharmony_ci * You may obtain a copy of the License at
6f0bfeaa8Sopenharmony_ci *
7f0bfeaa8Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8f0bfeaa8Sopenharmony_ci *
9f0bfeaa8Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10f0bfeaa8Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11f0bfeaa8Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12f0bfeaa8Sopenharmony_ci * See the License for the specific language governing permissions and
13f0bfeaa8Sopenharmony_ci * limitations under the License.
14f0bfeaa8Sopenharmony_ci */
15f0bfeaa8Sopenharmony_ci
16f0bfeaa8Sopenharmony_ci#include "meminfo.h"
17f0bfeaa8Sopenharmony_ci
18f0bfeaa8Sopenharmony_ci#include <cstdio>
19f0bfeaa8Sopenharmony_ci
20f0bfeaa8Sopenharmony_ci#include "gtest/gtest.h"
21f0bfeaa8Sopenharmony_ci
22f0bfeaa8Sopenharmony_cinamespace OHOS {
23f0bfeaa8Sopenharmony_cinamespace MemInfo {
24f0bfeaa8Sopenharmony_ciusing namespace testing;
25f0bfeaa8Sopenharmony_ciusing namespace testing::ext;
26f0bfeaa8Sopenharmony_ci
27f0bfeaa8Sopenharmony_ciclass MemInfoTest : public testing::Test {
28f0bfeaa8Sopenharmony_cipublic:
29f0bfeaa8Sopenharmony_ci    static void SetUpTestCase();
30f0bfeaa8Sopenharmony_ci    static void TearDownTestCase();
31f0bfeaa8Sopenharmony_ci    void SetUp();
32f0bfeaa8Sopenharmony_ci    void TearDown();
33f0bfeaa8Sopenharmony_ci};
34f0bfeaa8Sopenharmony_ci
35f0bfeaa8Sopenharmony_civoid MemInfoTest::SetUpTestCase()
36f0bfeaa8Sopenharmony_ci{
37f0bfeaa8Sopenharmony_ci}
38f0bfeaa8Sopenharmony_ci
39f0bfeaa8Sopenharmony_civoid MemInfoTest::TearDownTestCase()
40f0bfeaa8Sopenharmony_ci{
41f0bfeaa8Sopenharmony_ci}
42f0bfeaa8Sopenharmony_ci
43f0bfeaa8Sopenharmony_civoid MemInfoTest::SetUp()
44f0bfeaa8Sopenharmony_ci{
45f0bfeaa8Sopenharmony_ci}
46f0bfeaa8Sopenharmony_ci
47f0bfeaa8Sopenharmony_civoid MemInfoTest::TearDown()
48f0bfeaa8Sopenharmony_ci{
49f0bfeaa8Sopenharmony_ci}
50f0bfeaa8Sopenharmony_ci
51f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetRssByPid_Test_001, TestSize.Level1)
52f0bfeaa8Sopenharmony_ci{
53f0bfeaa8Sopenharmony_ci    int pid = 1;
54f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
55f0bfeaa8Sopenharmony_ci    size = GetRssByPid(pid);
56f0bfeaa8Sopenharmony_ci    std::cout << "size = " << size << std::endl;
57f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size > 0, true);
58f0bfeaa8Sopenharmony_ci}
59f0bfeaa8Sopenharmony_ci
60f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetRssByPid_Test_002, TestSize.Level1)
61f0bfeaa8Sopenharmony_ci{
62f0bfeaa8Sopenharmony_ci    int pid = -1;
63f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
64f0bfeaa8Sopenharmony_ci    size = GetRssByPid(pid);
65f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size == 0, true);
66f0bfeaa8Sopenharmony_ci}
67f0bfeaa8Sopenharmony_ci
68f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetPssByPid_Test_001, TestSize.Level1)
69f0bfeaa8Sopenharmony_ci{
70f0bfeaa8Sopenharmony_ci    int pid = 1;
71f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
72f0bfeaa8Sopenharmony_ci    size = GetPssByPid(pid);
73f0bfeaa8Sopenharmony_ci    std::cout << "size = " << size << std::endl;
74f0bfeaa8Sopenharmony_ci    system("cat /proc/1/smaps_rollup");
75f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size > 0, true);
76f0bfeaa8Sopenharmony_ci}
77f0bfeaa8Sopenharmony_ci
78f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetPssByPid_Test_002, TestSize.Level1)
79f0bfeaa8Sopenharmony_ci{
80f0bfeaa8Sopenharmony_ci    int pid = -1;
81f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
82f0bfeaa8Sopenharmony_ci    size = GetPssByPid(pid);
83f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size == 0, true);
84f0bfeaa8Sopenharmony_ci}
85f0bfeaa8Sopenharmony_ci
86f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetSwapPssByPid_Test_001, TestSize.Level1)
87f0bfeaa8Sopenharmony_ci{
88f0bfeaa8Sopenharmony_ci    int pid = 1;
89f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
90f0bfeaa8Sopenharmony_ci    size = GetSwapPssByPid(pid);
91f0bfeaa8Sopenharmony_ci    std::cout << "size = " << size << std::endl;
92f0bfeaa8Sopenharmony_ci    system("cat /proc/1/smaps_rollup");
93f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size >= 0, true);
94f0bfeaa8Sopenharmony_ci}
95f0bfeaa8Sopenharmony_ci
96f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetSwapPssByPid_Test_002, TestSize.Level1)
97f0bfeaa8Sopenharmony_ci{
98f0bfeaa8Sopenharmony_ci    int pid = -1;
99f0bfeaa8Sopenharmony_ci    uint64_t size = 0;
100f0bfeaa8Sopenharmony_ci    size = GetSwapPssByPid(pid);
101f0bfeaa8Sopenharmony_ci    ASSERT_EQ(size == 0, true);
102f0bfeaa8Sopenharmony_ci}
103f0bfeaa8Sopenharmony_ci
104f0bfeaa8Sopenharmony_ciHWTEST_F(MemInfoTest, GetGraphicsMemory_Test, TestSize.Level1)
105f0bfeaa8Sopenharmony_ci{
106f0bfeaa8Sopenharmony_ci    int pid = 1;
107f0bfeaa8Sopenharmony_ci    uint64_t gl = 0;
108f0bfeaa8Sopenharmony_ci    uint64_t graph = 0;
109f0bfeaa8Sopenharmony_ci    GetGraphicsMemory(pid, gl, graph);
110f0bfeaa8Sopenharmony_ci    ASSERT_EQ(gl == 0, true);
111f0bfeaa8Sopenharmony_ci}
112f0bfeaa8Sopenharmony_ci}
113f0bfeaa8Sopenharmony_ci}
114