1 /*
2 * Copyright (c) 2023-2024 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, Hardware
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 #define private public
19 #include "render_frame_trace.h"
20 #include "render_frame_trace_impl.h"
21 #undef private
22
23 namespace OHOS {
24 namespace Rosen {
25 using namespace testing;
26 using namespace testing::ext;
27 using namespace FRAME_TRACE;
28
29 class RenderFrameTraceImplTest : public testing::Test {
30 public:
31 static void SetUpTestCase();
32 static void TearDownTestCase();
33 void SetUp() override;
34 void TearDown() override;
35 };
36
SetUpTestCase()37 void RenderFrameTraceImplTest::SetUpTestCase() {}
TearDownTestCase()38 void RenderFrameTraceImplTest::TearDownTestCase() {}
SetUp()39 void RenderFrameTraceImplTest::SetUp() {}
TearDown()40 void RenderFrameTraceImplTest::TearDown() {}
41
42 /**
43 * @tc.name: AccessFrameTrace
44 * @tc.desc: test
45 * @tc.type:FUNC
46 * @tc.require:
47 */
48 HWTEST_F(RenderFrameTraceImplTest, AccessFrameTrace, TestSize.Level1)
49 {
50 bool ret = RenderFrameTraceImpl::instance_->AccessFrameTrace();
51 EXPECT_NE(ret, 0);
52 }
53
54 /**
55 * @tc.name: RenderFrameTraceOpen
56 * @tc.desc: test
57 * @tc.type:FUNC
58 * @tc.require:
59 */
60 HWTEST_F(RenderFrameTraceImplTest, RenderFrameTraceOpen, TestSize.Level1)
61 {
62 RenderFrameTraceImpl::instance_->RenderFrameTraceClose();
63 RenderFrameTraceImpl::instance_->RenderFrameTraceOpen();
64 RenderFrameTraceImpl::instance_->RenderFrameTraceClose();
65 bool ret = RenderFrameTraceImpl::instance_->RenderFrameTraceIsOpen();
66 EXPECT_EQ(ret, 0);
67 }
68
69 /**
70 * @tc.name: RenderFrameTraceIsOpen
71 * @tc.desc: test
72 * @tc.type:FUNC
73 * @tc.require:
74 */
75 HWTEST_F(RenderFrameTraceImplTest, RenderFrameTraceIsOpen, TestSize.Level1)
76 {
77 RenderFrameTraceImpl::instance_->RenderFrameTraceClose();
78 bool ret = RenderFrameTraceImpl::instance_->RenderFrameTraceIsOpen();
79 EXPECT_EQ(ret, 0);
80 }
81
82 /**
83 * @tc.name: RenderFrameTraceClose
84 * @tc.desc: test
85 * @tc.type:FUNC
86 * @tc.require:
87 */
88 HWTEST_F(RenderFrameTraceImplTest, RenderFrameTraceClose, TestSize.Level1)
89 {
90 RenderFrameTraceImpl::instance_->RenderFrameTraceClose();
91 bool ret = RenderFrameTraceImpl::instance_->RenderFrameTraceIsOpen();
92 EXPECT_EQ(ret, 0);
93 }
94
95 /**
96 * @tc.name: RenderStartAndEndFrameTrace
97 * @tc.desc: test
98 * @tc.type:FUNC
99 * @tc.require:
100 */
101 HWTEST_F(RenderFrameTraceImplTest, ui, TestSize.Level1)
102 {
103 const std::string traceTag = "ui";
104 bool ret = RenderFrameTraceImpl::instance_->AccessFrameTrace();
105 EXPECT_EQ(ret, true);
106 RenderFrameTraceImpl::instance_->RenderStartFrameTrace(traceTag);
107 RenderFrameTraceImpl::instance_->RenderEndFrameTrace(traceTag);
108 }
109
110 /**
111 * @tc.name: RenderStartAndEndFrameTrace
112 * @tc.desc: test
113 * @tc.type:FUNC
114 * @tc.require:
115 */
116 HWTEST_F(RenderFrameTraceImplTest, renderthread, TestSize.Level1)
117 {
118 const std::string traceTag = "renderthread";
119 bool ret = RenderFrameTraceImpl::instance_->AccessFrameTrace();
120 EXPECT_EQ(ret, true);
121 RenderFrameTraceImpl::instance_->RenderStartFrameTrace(traceTag);
122 RenderFrameTraceImpl::instance_->RenderEndFrameTrace(traceTag);
123 }
124
125 /**
126 * @tc.name: RenderStartAndEndFrameTrace
127 * @tc.desc: test
128 * @tc.type:FUNC
129 * @tc.require:
130 */
131 HWTEST_F(RenderFrameTraceImplTest, renderservice, TestSize.Level1)
132 {
133 const std::string traceTag = "renderservice";
134 bool ret = RenderFrameTraceImpl::instance_->AccessFrameTrace();
135 EXPECT_EQ(ret, true);
136 RenderFrameTraceImpl::instance_->RenderStartFrameTrace(traceTag);
137 RenderFrameTraceImpl::instance_->RenderEndFrameTrace(traceTag);
138 }
139
140 /**
141 * @tc.name: RenderStartAndEndFrameTrace
142 * @tc.desc: test
143 * @tc.type:FUNC
144 * @tc.require:
145 */
146 HWTEST_F(RenderFrameTraceImplTest, test, TestSize.Level1)
147 {
148 const std::string traceTag = "test";
149 bool ret = RenderFrameTraceImpl::instance_->AccessFrameTrace();
150 EXPECT_EQ(ret, true);
151 RenderFrameTraceImpl::instance_->RenderStartFrameTrace(traceTag);
152 RenderFrameTraceImpl::instance_->RenderEndFrameTrace(traceTag);
153 }
154 } // namespace Rosen
155 } // namespace OHOS
156