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 16 #include "gtest/gtest.h" 17 #include "hilog_adapter.h" 18 #include "ohos_adapter_helper.h" 19 #include "hitrace_adapter_impl.h" 20 21 #include "parameters.h" 22 using namespace OHOS; 23 24 using testing::ext::TestSize; 25 26 namespace OHOS::NWeb { 27 /** 28 * @tc.name: NormalScene. 29 * @tc.desc: test normal scene of HiViewDFXAdapter. 30 * @tc.type: FUNC. 31 * @tc.require: 32 */ 33 HWTEST(HiViewDFXAdapterTest, NormalScene, TestSize.Level1) 34 { 35 HiLogAdapter::PrintLog(LogLevelAdapter::INFO, "nwebTest", "nweb hilogAdapter PrintLog Test"); 36 37 HiLogAdapter::PrintConsoleLog(LogLevelAdapter::INFO, "ARKWEB-CONSOLE", "nwe console log test"); 38 39 int ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write( 40 "testEvent", HiSysEventAdapter::EventType::STATISTIC, { "testkey1", "0"}); 41 EXPECT_EQ(ret, 0); 42 43 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write( 44 "testEvent", HiSysEventAdapter::EventType::STATISTIC, { "testkey1", "0", "testkey2", "0"}); 45 EXPECT_EQ(ret, 0); 46 47 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write( 48 "testEvent", HiSysEventAdapter::EventType::STATISTIC, { "testkey1", "0", "testkey2", "0", "testkey3", "0" }); 49 EXPECT_EQ(ret, 0); 50 51 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write("testEvent", 52 HiSysEventAdapter::EventType::STATISTIC, 53 { "testkey1", "0", "testkey2", "testvalue2", "testkey3", "0", "testkey4", "testvalue4" }); 54 EXPECT_EQ(ret, 0); 55 56 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write("testEvent", 57 HiSysEventAdapter::EventType::STATISTIC, 58 { "testkey1", "0", "testkey2", "0", "testkey3", "0", "testkey4", "0", "testkey5", "0.0" }); 59 EXPECT_EQ(ret, 0); 60 61 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write("testEvent", 62 HiSysEventAdapter::EventType::STATISTIC, 63 { "testkey1", "0", "testkey2", "0", "testkey3", "0", "testkey4", "0", "testkey5", "0.0", "testkey6", "0.0" }); 64 EXPECT_EQ(ret, 0); 65 66 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write("testEvent", 67 HiSysEventAdapter::EventType::STATISTIC, 68 { "testkey1", "0", "testkey2", "0", "testkey3", "0", "testkey4", "0", "testkey5", "0.0", "testkey6", "0.0", 69 "testkey7", "0.0" }); 70 EXPECT_EQ(ret, 0); 71 72 ret = OhosAdapterHelper::GetInstance().GetHiSysEventAdapterInstance().Write("testEvent", 73 HiSysEventAdapter::EventType::STATISTIC, 74 { "testkey1", "0", "testkey2", "0", "testkey3", "0", "testkey4", "0", "testkey5", "0.0", "testkey6", "0.0", 75 "testkey7", "0.0", "testkey8", "0.0" }); 76 EXPECT_EQ(ret, 0); 77 78 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().StartTrace("test"); 79 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().StartAsyncTrace("test", 0); 80 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().CountTrace("test", 1); 81 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().FinishAsyncTrace("test", 0); 82 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().FinishTrace(); 83 HiTraceAdapterImpl::GetInstance().IsHiTraceEnable(); 84 } 85 86 /** 87 * @tc.name: NormalScene_01. 88 * @tc.desc: test normal scene of HiViewDFXAdapter. 89 * @tc.type: FUNC 01. 90 * @tc.require: 91 */ 92 HWTEST(HiViewDFXAdapterTest, NormalScene_01, TestSize.Level1) 93 { 94 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().StartOHOSTrace("test"); 95 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().CountOHOSTrace("test", 1); 96 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().FinishOHOSTrace(); 97 uint64_t val = (1ULL << 24); 98 std::string value = std::to_string(val); 99 OHOS::system::SetParameter("debug.hitrace.tags.enableflags", value); 100 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().StartOHOSTrace("test"); 101 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().CountOHOSTrace("test", 1); 102 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().FinishOHOSTrace(); 103 val = (1ULL << 39); 104 value = std::to_string(val); 105 OHOS::system::SetParameter("debug.hitrace.tags.enableflags", value); 106 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().StartOHOSTrace("test"); 107 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().CountOHOSTrace("test", 1); 108 OhosAdapterHelper::GetInstance().GetHiTraceAdapterInstance().FinishOHOSTrace(); 109 HiTraceAdapterImpl::GetInstance().IsACETraceEnable(); 110 } 111 } // namespace OHOS::NWeb 112