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