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