1 /* 2 * Copyright (c) 2024-2025 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 <gtest/gtest.h> 17 18 #include "hiebpf_collector.h" 19 20 using namespace testing::ext; 21 using namespace OHOS::HiviewDFX; 22 using namespace OHOS::HiviewDFX::UCollectUtil; 23 using namespace OHOS::HiviewDFX::UCollect; 24 25 class HiebpfCollectorTest : public testing::Test { 26 public: SetUp()27 void SetUp() {}; TearDown()28 void TearDown() {}; SetUpTestCase()29 static void SetUpTestCase() {}; TearDownTestCase()30 static void TearDownTestCase() {}; 31 }; 32 33 #ifdef UNIFIED_COLLECTOR_EBPF_ENABLE 34 /** 35 * @tc.name: HiebpfCollectorTest001 36 * @tc.desc: used to test HiebpfCollectorTest.StartHiebpf 37 * @tc.type: FUNC 38 */ 39 HWTEST_F(HiebpfCollectorTest, HiebpfCollectorTest001, TestSize.Level1) 40 { 41 std::shared_ptr<UCollectUtil::HiebpfCollector> hiebpfCollector = UCollectUtil::HiebpfCollector::Create(); 42 CollectResult<bool> data = hiebpfCollector->StartHiebpf(5, "com.ohos.launcher", "/data/local/tmp/ebpf.txt"); 43 std::cout << "collect hiebpf data result = " << data.retCode << std::endl; 44 data = hiebpfCollector->StopHiebpf(); 45 std::cout << "collect hiebpf data result = " << data.retCode << std::endl; 46 ASSERT_EQ(data.retCode, UcError::SUCCESS); 47 } 48 #else 49 /** 50 * @tc.name: HiebpfCollectorTest001 51 * @tc.desc: used to test empty HiebpfCollector 52 * @tc.type: FUNC 53 */ 54 HWTEST_F(HiebpfCollectorTest, HiebpfCollectorTest001, TestSize.Level1) 55 { 56 auto hiebpfCollector = UCollectUtil::HiebpfCollector::Create(); 57 CollectResult<bool> data = hiebpfCollector->StartHiebpf(0, "", ""); 58 ASSERT_TRUE(data.retCode == UcError::FEATURE_CLOSED); 59 } 60 #endif 61