1 /* 2 * Copyright (c) 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 16 #include <gtest/gtest.h> 17 18 #include "trace_base_state.h" 19 20 using namespace testing::ext; 21 22 namespace OHOS { 23 namespace HiviewDFX { 24 class TraceStateTest : public testing::Test { 25 public: SetUp()26 void SetUp() {}; 27 TearDown()28 void TearDown() {}; 29 SetUpTestCase()30 static void SetUpTestCase() {}; 31 TearDownTestCase()32 static void TearDownTestCase() {}; 33 }; 34 35 class TraceBaseStateTest : public TraceBaseState { GetTag()36 std::string GetTag() { return "TraceBaseStateTest"; }; 37 }; 38 39 /** 40 * @tc.name: TraceStateTest001 41 * @tc.desc: TraceBaseState test 42 * @tc.type: FUNC 43 */ 44 HWTEST_F(TraceStateTest, TraceStateTest001, testing::ext::TestSize.Level3) 45 { 46 TraceBaseStateTest traceBaseState; 47 ASSERT_EQ(traceBaseState.SetCacheParams(1, 1).GetStateError(), TraceStateCode::FAIL); 48 DumpTraceArgs args; 49 TraceRetInfo info; __anon81148ee40102(TraceRetInfo traceRetInfo) 50 DumpTraceCallback callback = [] (TraceRetInfo traceRetInfo) {}; 51 ASSERT_EQ(traceBaseState.DumpTraceAsync(args, 1, info, callback).GetStateError(), TraceStateCode::FAIL); 52 ASSERT_EQ(traceBaseState.TraceTelemetryOn().GetStateError(), TraceStateCode::FAIL); 53 ASSERT_EQ(traceBaseState.TraceTelemetryOff().GetStateError(), TraceStateCode::FAIL); 54 ASSERT_EQ(traceBaseState.PowerTelemetryOn().GetStateError(), TraceStateCode::FAIL); 55 ASSERT_EQ(traceBaseState.PowerTelemetryOff().GetStateError(), TraceStateCode::FAIL); 56 ASSERT_EQ(traceBaseState.PostTelemetryOn(1).GetStateError(), TraceStateCode::FAIL); 57 ASSERT_EQ(traceBaseState.PostTelemetryTimeOut().GetStateError(), TraceStateCode::FAIL); 58 } 59 60 /** 61 * @tc.name: TraceStateTest002 62 * @tc.desc: CloseState test 63 * @tc.type: FUNC 64 */ 65 HWTEST_F(TraceStateTest, TraceStateTest002, testing::ext::TestSize.Level3) 66 { 67 CloseState closeState; 68 std::string invalidTags = 69 "tags:app,test clockType:boot bufferSize:10240 overwrite:1 fileLimit:20 "; // contains tag not exist 70 ASSERT_EQ(closeState.OpenTelemetryTrace(invalidTags, 71 TelemetryPolicy::DEFAULT).GetCodeError(), TraceErrorCode::TAG_ERROR); 72 } 73 } // namespace HiviewDFX 74 } // namespace OHOS