• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include <iostream>
16 #include <string>
17 
18 #include "io_collector.h"
19 
20 #include <gtest/gtest.h>
21 
22 using namespace testing::ext;
23 using namespace OHOS::HiviewDFX;
24 using namespace OHOS::HiviewDFX::UCollectUtil;
25 using namespace OHOS::HiviewDFX::UCollect;
26 
27 class IoCollectorTest : public testing::Test {
28 public:
SetUp()29     void SetUp() {};
TearDown()30     void TearDown() {};
SetUpTestCase()31     static void SetUpTestCase() {};
TearDownTestCase()32     static void TearDownTestCase() {};
33 };
34 
35 /**
36  * @tc.name: IoCollectorTest001
37  * @tc.desc: used to test IoCollector.CollectProcessIo
38  * @tc.type: FUNC
39 */
40 HWTEST_F(IoCollectorTest, IoCollectorTest001, TestSize.Level1)
41 {
42     std::shared_ptr<IoCollector> collector = IoCollector::Create();
43     CollectResult<ProcessIo> data = collector->CollectProcessIo(1000);
44     std::cout << "collect process io result" << data.retCode << std::endl;
45     ASSERT_TRUE(data.retCode == UcError::SUCCESS);
46 }
47 
48 /**
49  * @tc.name: IoCollectorTest002
50  * @tc.desc: used to test IoCollector.CollectRawDiskStats
51  * @tc.type: FUNC
52 */
53 HWTEST_F(IoCollectorTest, IoCollectorTest002, TestSize.Level1)
54 {
55     std::shared_ptr<IoCollector> collect = IoCollector::Create();
56     auto result = collect->CollectRawDiskStats();
57     std::cout << "collect raw disk stats result " << result.retCode << std::endl;
58     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
59 }
60 
61 /**
62  * @tc.name: IoCollectorTest003
63  * @tc.desc: used to test IoCollector.CollectDiskStats
64  * @tc.type: FUNC
65 */
66 HWTEST_F(IoCollectorTest, IoCollectorTest003, TestSize.Level1)
67 {
68     std::shared_ptr<IoCollector> collect = IoCollector::Create();
__anon308625f90102(const DiskStats &stats) 69     auto result = collect->CollectDiskStats([] (const DiskStats &stats) {
70         return false;
71     });
72     std::cout << "collect disk stats result " << result.retCode << std::endl;
73     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
74 }
75 
76 /**
77  * @tc.name: IoCollectorTest004
78  * @tc.desc: used to test IoCollector.ExportDiskStats
79  * @tc.type: FUNC
80 */
81 HWTEST_F(IoCollectorTest, IoCollectorTest004, TestSize.Level1)
82 {
83     std::shared_ptr<IoCollector> collect = IoCollector::Create();
__anon308625f90202(const DiskStats &stats) 84     auto result = collect->ExportDiskStats([] (const DiskStats &stats) {
85         return false;
86     });
87     std::cout << "export disk stats result " << result.retCode << std::endl;
88     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
89 
90     sleep(3);
91     auto nextResult = collect->ExportDiskStats();
92     std::cout << "export disk stats nextResult " << nextResult.retCode << std::endl;
93     ASSERT_TRUE(nextResult.retCode == UcError::SUCCESS);
94 }
95 
96 /**
97  * @tc.name: IoCollectorTest005
98  * @tc.desc: used to test IoCollector.ExportDiskStats
99  * @tc.type: FUNC
100 */
101 HWTEST_F(IoCollectorTest, IoCollectorTest005, TestSize.Level1)
102 {
103     std::shared_ptr<IoCollector> collect = IoCollector::Create();
__anon308625f90302(const DiskStats &stats) 104     auto result = collect->CollectDiskStats([] (const DiskStats &stats) {
105         return false;
106     }, true);
107     std::cout << "export disk stats result " << result.retCode << std::endl;
108     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
109 
110     sleep(3);
111     auto nextResult = collect->ExportDiskStats();
112     std::cout << "export disk stats nextResult " << nextResult.retCode << std::endl;
113     ASSERT_TRUE(nextResult.retCode == UcError::SUCCESS);
114 }
115 
116 /**
117  * @tc.name: IoCollectorTest006
118  * @tc.desc: used to test IoCollector.CollectEMMCInfo
119  * @tc.type: FUNC
120 */
121 HWTEST_F(IoCollectorTest, IoCollectorTest006, TestSize.Level1)
122 {
123     std::shared_ptr<IoCollector> collect = IoCollector::Create();
124     auto result = collect->CollectEMMCInfo();
125     std::cout << "collect emmc info result " << result.retCode << std::endl;
126     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
127 }
128 
129 /**
130  * @tc.name: IoCollectorTest007
131  * @tc.desc: used to test IoCollector.ExportEMMCInfo
132  * @tc.type: FUNC
133 */
134 HWTEST_F(IoCollectorTest, IoCollectorTest007, TestSize.Level1)
135 {
136     std::shared_ptr<IoCollector> collect = IoCollector::Create();
137     auto result = collect->ExportEMMCInfo();
138     std::cout << "export emmc info result " << result.retCode << std::endl;
139     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
140 }
141 
142 /**
143  * @tc.name: IoCollectorTest008
144  * @tc.desc: used to test IoCollector.CollectAllProcIoStats
145  * @tc.type: FUNC
146 */
147 HWTEST_F(IoCollectorTest, IoCollectorTest008, TestSize.Level1)
148 {
149     std::shared_ptr<IoCollector> collect = IoCollector::Create();
150     auto result = collect->CollectAllProcIoStats();
151     std::cout << "collect all proc io stats result " << result.retCode << std::endl;
152     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
153 }
154 
155 /**
156  * @tc.name: IoCollectorTest009
157  * @tc.desc: used to test IoCollector.ExportAllProcIoStats
158  * @tc.type: FUNC
159 */
160 HWTEST_F(IoCollectorTest, IoCollectorTest009, TestSize.Level1)
161 {
162     std::shared_ptr<IoCollector> collect = IoCollector::Create();
163     auto result = collect->ExportAllProcIoStats();
164     std::cout << "export all proc io stats result " << result.retCode << std::endl;
165     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
166 }
167 
168 /**
169  * @tc.name: IoCollectorTest010
170  * @tc.desc: used to test IoCollector.ExportAllProcIoStats
171  * @tc.type: FUNC
172 */
173 HWTEST_F(IoCollectorTest, IoCollectorTest010, TestSize.Level1)
174 {
175     std::shared_ptr<IoCollector> collect = IoCollector::Create();
176     auto result = collect->ExportAllProcIoStats();
177     std::cout << "export all proc io stats result " << result.retCode << std::endl;
178     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
179 
180     sleep(3);
181     auto nextResult = collect->ExportAllProcIoStats();
182     std::cout << "export all proc io stats nextResult " << nextResult.retCode << std::endl;
183     ASSERT_TRUE(nextResult.retCode == UcError::SUCCESS);
184 }
185 
186 /**
187  * @tc.name: IoCollectorTest011
188  * @tc.desc: used to test IoCollector.CollectSysIoStats
189  * @tc.type: FUNC
190 */
191 HWTEST_F(IoCollectorTest, IoCollectorTest011, TestSize.Level1)
192 {
193     std::shared_ptr<IoCollector> collect = IoCollector::Create();
194     auto result = collect->CollectSysIoStats();
195     std::cout << "collect sys io stats result " << result.retCode << std::endl;
196     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
197 }
198 
199 /**
200  * @tc.name: IoCollectorTest012
201  * @tc.desc: used to test IoCollector.ExportSysIoStats
202  * @tc.type: FUNC
203 */
204 HWTEST_F(IoCollectorTest, IoCollectorTest012, TestSize.Level1)
205 {
206     std::shared_ptr<IoCollector> collect = IoCollector::Create();
207     auto result = collect->ExportSysIoStats();
208     std::cout << "export sys io stats result " << result.retCode << std::endl;
209     ASSERT_TRUE(result.retCode == UcError::SUCCESS);
210 }
211