• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2021 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 */
15import hiTraceChain from '@ohos.hiTraceChain'
16import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium'
17import hilog from '@ohos.hilog'
18
19export default function HiTraceJsTest() {
20describe('HiTraceJsTest', function () {
21
22    /**
23    * run before testClass
24    */
25    beforeAll(function () {
26        console.info('beforeAll called');
27    })
28
29    /**
30    * run after testClass
31    */
32    afterAll(function () {
33        console.info('afterAll called');
34    })
35
36    /**
37     * @tc.number DFX_DFT_Hitrace_JS_001
38     * @tc.name hitrace interface test
39     * @tc.desc hitrace begin interface test.
40     */
41    it('testHitraceApi01', 1, async function (done) {
42        console.info('testHitraceApi01 start');
43        try{
44            let traceId = hiTraceChain.begin("hitrace01");
45            let traceIdIsvalid = hiTraceChain.isValid(traceId);
46            if(!traceIdIsvalid){
47                expect().assertFail();
48                console.log(`testHitraceApi01 got an error: ${JSON.stringify(error)}`);
49            }
50            hiTraceChain.end(traceId);
51        } catch (error){
52            console.log(`testHitraceApi01 got an error: ${JSON.stringify(error)}`);
53            expect().assertFail();
54            done();
55        }
56        console.info('testHitraceApi01 end');
57        done();
58    })
59
60     /**
61     * @tc.number DFX_DFT_Hitrace_JS_002
62     * @tc.name hitrace interface test
63     * @tc.desc hitrace begin interface test.
64     */
65    it('testHitraceApi02', 1, async function (done) {
66        console.info('testHitraceApi02 start');
67        try{
68            let traceId = hiTraceChain.begin("hitrace02", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC |
69            hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
70            let traceIdIsvalid = hiTraceChain.isValid(traceId);
71            if(!traceIdIsvalid){
72                expect().assertFail();
73                console.log(`testHitraceApi02 got an error: ${JSON.stringify(error)}`);
74            }
75            hiTraceChain.end(traceId);
76        } catch (error){
77            console.log(`testHitraceApi02 got an error: ${JSON.stringify(error)}`);
78            expect().assertFail();
79            done();
80        }
81        console.info('testHitraceApi02 end');
82        done();
83    })
84
85     /**
86     * @tc.number DFX_DFT_Hitrace_JS_003
87     * @tc.name hitrace interface test
88     * @tc.desc hitrace begin interface test.
89     */
90    it('testHitraceApi03', 1, async function (done) {
91        console.info('testHitraceApi03 start');
92        try{
93            let traceId = hiTraceChain.begin("hitrace03", hiTraceChain.HiTraceFlag.TP_INFO);
94            let curTraceId = hiTraceChain.getId();
95            if(traceId.chainId != curTraceId.chainId){
96                expect().assertFail();
97                console.log(`testHitraceApi03 got an error: ${JSON.stringify(error)}`);
98            }
99            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD,
100                                    hiTraceChain.HiTraceTracepointType.SS, traceId, "hitrace api test.");
101            hiTraceChain.end(traceId);
102        } catch (error){
103            console.log(`testHitraceApi03 got an error: ${JSON.stringify(error)}`);
104            expect().assertFail();
105            done();
106        }
107        console.info('testHitraceApi03 end');
108        done();
109    })
110
111     /**
112     * @tc.number DFX_DFT_Hitrace_JS_004
113     * @tc.name hitrace interface test
114     * @tc.desc hitrace begin interface test.
115     */
116    it('testHitraceApi04', 1, async function (done) {
117        console.info('testHitraceApi04 start');
118        try{
119            let traceId = hiTraceChain.begin("hitrace04", hiTraceChain.HiTraceFlag.NO_BE_INFO);
120            let spanTraceId = hiTraceChain.createSpan();
121            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.NO_BE_INFO);
122            if(!enabledDoNotCreateSpanFlag){
123                expect().assertFail();
124                console.log(`testHitraceApi04 got an error: ${JSON.stringify(error)}`);
125            }
126            hiTraceChain.end(traceId);
127        } catch (error){
128            console.log(`testHitraceApi04 got an error: ${JSON.stringify(error)}`);
129            expect().assertFail();
130            done();
131        }
132        console.info('testHitraceApi04 end');
133        done();
134    })
135
136     /**
137     * @tc.number DFX_DFT_Hitrace_JS_005
138     * @tc.name hitrace interface test
139     * @tc.desc hitrace begin interface test.
140     */
141    it('testHitraceApi05', 1, async function (done) {
142        console.info('testHitraceApi05 start');
143        try{
144            let traceId = hiTraceChain.begin("hitrace05");
145            hiTraceChain.enableFlag(traceId, hiTraceChain.HiTraceFlag.DISABLE_LOG);
146            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.DISABLE_LOG);
147            if(!enabledDoNotCreateSpanFlag){
148                expect().assertFail();
149                console.log(`testHitraceApi05 got an error: ${JSON.stringify(error)}`);
150            }
151            hiTraceChain.end(traceId);
152        } catch (error){
153            console.log(`testHitraceApi05 got an error: ${JSON.stringify(error)}`);
154            expect().assertFail();
155            done();
156        }
157        console.info('testHitraceApi05 end');
158        done();
159    })
160
161     /**
162     * @tc.number DFX_DFT_Hitrace_JS_006
163     * @tc.name hitrace interface test
164     * @tc.desc hitrace begin interface test.
165     */
166    it('testHitraceApi06', 1, async function (done) {
167        console.info('testHitraceApi06 start');
168        try{
169            let traceId = hiTraceChain.begin("hitrace06");
170            hiTraceChain.enableFlag(traceId, hiTraceChain.HiTraceFlag.FAILURE_TRIGGER);
171            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId,
172            hiTraceChain.HiTraceFlag.FAILURE_TRIGGER);
173            if(!enabledDoNotCreateSpanFlag){
174                expect().assertFail();
175                console.log(`testHitraceApi06 got an error: ${JSON.stringify(error)}`);
176            }
177            hiTraceChain.end(traceId);
178        } catch (error){
179            console.log(`testHitraceApi06 got an error: ${JSON.stringify(error)}`);
180            expect().assertFail();
181            done();
182        }
183        console.info('testHitraceApi06 end');
184        done();
185    })
186
187     /**
188     * @tc.number DFX_DFT_Hitrace_JS_007
189     * @tc.name hitrace interface test
190     * @tc.desc hitrace begin interface test.
191     */
192    it('testHitraceApi07', 1, async function (done) {
193        console.info('testHitraceApi07 start');
194        try{
195            let traceId = hiTraceChain.begin("hitrace07", hiTraceChain.HiTraceFlag.D2D_TP_INFO);
196            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.D2D_TP_INFO)
197            if(!enabledDoNotCreateSpanFlag){
198                expect().assertFail();
199                console.log(`testHitraceApi07 got an error: ${JSON.stringify(error)}`);
200            }
201            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.PROCESS,
202                                    hiTraceChain.HiTraceTracepointType.CS, traceId, "hitrace test");
203            hiTraceChain.end(traceId);
204        } catch (error){
205            console.log(`testHitraceApi07 got an error: ${JSON.stringify(error)}`);
206            expect().assertFail();
207            done();
208        }
209        console.info('testHitraceApi07 end');
210        done();
211    })
212
213     /**
214     * @tc.number DFX_DFT_Hitrace_JS_008
215     * @tc.name hitrace interface test
216     * @tc.desc hitrace begin interface test.
217     */
218    it('testHitraceApi08', 1, async function (done) {
219        console.info('testHitraceApi08 start');
220        hiTraceChain.clearId();
221        let traceId = hiTraceChain.begin("testHitraceApi08", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
222        let curChainId = traceId.chainId;
223        new Promise(function(resolve, reject){
224            resolve()
225        }).then(() => {
226            console.info('in testHitraceApi08 then callback')
227            console.info(`testHitraceApi08 ${hiTraceChain.getId().chainId} <> ${curChainId}`)
228            expect(hiTraceChain.getId().chainId == curChainId).assertTrue()
229            done()
230        })
231        hiTraceChain.end(traceId);
232        done()
233        console.info('testHitraceApi08 end');
234
235    })
236
237     /**
238     * @tc.number DFX_DFT_Hitrace_JS_009
239     * @tc.name hitrace interface test
240     * @tc.desc hitrace begin interface test.
241     */
242    it('testHitraceApi09', 1, async function (done) {
243        console.info('testHitraceApi09 start');
244        hiTraceChain.clearId();
245        let traceId = hiTraceChain.begin("hitrace09", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
246        let curChainId = traceId.chainId;
247        async function asyncTask() {
248        }
249        asyncTask().then(() => {
250            console.info('in testhiTraceApi09 then callback')
251            console.info(`testHitraceApi09 ${hiTraceChain.getId().chainId} <> ${curChainId}`)
252            expect(hiTraceChain.getId().chainId == curChainId).assertTrue()
253            done()
254        })
255        hiTraceChain.end(traceId);
256        done()
257        console.info('testHitraceApi09 end');
258    })
259
260    /**
261     * @tc.name: 接口测试-hitrace接口支持跨设备跟踪
262     * @tc.number DFX_DFT_Hitrace_JS_010
263     * @tc.function A01010
264     * @tc.feature DFX_DFT_Hitrace
265     * @tc.level Level3
266     * @tc.type FUNC
267     */
268    it('testHitraceApi10', 0, async function (done) {
269        console.info('testHitraceApi10 start')
270        hiTraceChain.clearId();
271        try {
272            let traceId = hiTraceChain.begin("hitrace10", hiTraceChain.HiTraceFlag.D2D_TP_INFO);
273            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.D2D_TP_INFO);
274            if(!enabledDoNotCreateSpanFlag){
275                expect().assertFail();
276                console.log(`testHitraceApi10 got an error: ${JSON.stringify(error)}`);
277            }
278            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
279                                    hiTraceChain.HiTraceTracepointType.CR,traceId, "hitrace test");
280            hiTraceChain.end(traceId);
281        } catch (error) {
282            console.log(`testHitraceApi10 got an error: ${JSON.stringify(error)}`);
283            expect().assertFail();
284			done()
285        }
286        console.info('testHitraceApi10 end')
287		done()
288    });
289
290	/**
291     * @tc.name: 接口测试-hitrace接口支持跨设备跟踪
292     * @tc.number DFX_DFT_Hitrace_JS_011
293     * @tc.function A01011
294     * @tc.feature DFX_DFT_Hitrace
295     * @tc.level Level3
296     * @tc.type FUNC
297     */
298    it('testHitraceApi11', 0, async function (done) {
299        console.info('testHitraceApi11 start')
300		hiTraceChain.setId(12345678);
301        hiTraceChain.clearId();
302        try {
303            let traceId = hiTraceChain.begin("hitrace11", hiTraceChain.HiTraceFlag.D2D_TP_INFO);
304			let flags = traceId.flags
305			let parentSpanId = traceId.parentSpanId
306			let spanId = traceId.spanId
307            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.D2D_TP_INFO);
308            if(!enabledDoNotCreateSpanFlag){
309                expect().assertFail();
310                console.log(`testHitraceApi11 got an error: ${JSON.stringify(error)}`);
311            }
312            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEFAULT,
313                                    hiTraceChain.HiTraceTracepointType.SR, traceId, "hitrace test");
314            hiTraceChain.end(traceId);
315        } catch (error) {
316            console.log(`testHitraceApi11 got an error: ${JSON.stringify(error)}`);
317            expect().assertFail();
318			done()
319        }
320        console.info('testHitraceApi11 end')
321		done()
322    });
323
324	/**
325     * @tc.name: 接口测试-hitrace接口支持跨设备跟踪
326     * @tc.number DFX_DFT_Hitrace_JS_012
327     * @tc.function A01010
328     * @tc.feature DFX_DFT_Hitrace
329     * @tc.level Level3
330     * @tc.type FUNC
331     */
332    it('testHitraceApi12', 0, async function (done) {
333        console.info('testHitraceApi12 start')
334        try {
335            let traceId = hiTraceChain.begin("hitrace12", hiTraceChain.HiTraceFlag.D2D_TP_INFO);
336            let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(traceId, hiTraceChain.HiTraceFlag.D2D_TP_INFO);
337            if(!enabledDoNotCreateSpanFlag){
338                expect().assertFail();
339                console.log(`testHitraceApi12 got an error: ${JSON.stringify(error)}`);
340            }
341            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
342                                    hiTraceChain.HiTraceTracepointType.GENERAL, traceId, "hitrace test");
343            hiTraceChain.end(traceId);
344        } catch (error) {
345            console.log(`testHitraceApi12 got an error: ${JSON.stringify(error)}`);
346            expect().assertFail();
347			done()
348        }
349        console.info('testHitraceApi12 end')
350		done()
351    });
352
353    /**
354     * @tc.name: 接口测试-跟踪业务名为null
355     * @tc.number DFX_DFT_Hitrace_JS_01300
356     * @tc.function A01010
357     * @tc.feature DFX_DFT_Hitrace
358     * @tc.level Level3
359     * @tc.type FUNC
360     */
361    it('testHitraceApi013', 1, async function (done) {
362        console.info('testHitraceApi013 start');
363        let traceId = hiTraceChain.begin(null);
364        let traceIdIsvalid = hiTraceChain.isValid(traceId);
365        expect(!traceIdIsvalid).assertTrue()
366        console.info('testHitraceApi013 end');
367        done();
368    })
369
370    /**
371     * @tc.name: 接口测试-跟踪业务名为undefined
372     * @tc.number DFX_DFT_Hitrace_JS_01400
373     * @tc.function A01010
374     * @tc.feature DFX_DFT_Hitrace
375     * @tc.level Level3
376     * @tc.type FUNC
377     */
378     it('testHitraceApi014', 1, async function (done) {
379        console.info('testHitraceApi014 start');
380        let traceId = hiTraceChain.begin(undefined);
381        let traceIdIsvalid = hiTraceChain.isValid(traceId);
382        expect(!traceIdIsvalid).assertTrue()
383        console.info('testHitraceApi014 end');
384        done();
385    })
386
387    /**
388     * @tc.name: 接口测试-跟踪业务名为长度大于32位
389     * @tc.number DFX_DFT_Hitrace_JS_01500
390     * @tc.function A01010
391     * @tc.feature DFX_DFT_Hitrace
392     * @tc.level Level3
393     * @tc.type FUNC
394     */
395     it('testHitraceApi015', 1, async function (done) {
396        console.info('testHitraceApi015 start');
397        try{
398            let traceId = hiTraceChain.begin("1234567890qwertyuiopasdfghjklzxcvbnm");
399            let traceIdIsvalid = hiTraceChain.isValid(traceId);
400            if(!traceIdIsvalid){
401                expect().assertFail();
402                console.log(`testHitraceApi015 got an error: ${JSON.stringify(error)}`);
403            }
404            hiTraceChain.end(traceId);
405        } catch (error){
406            console.log(`testHitraceApi015 got an error: ${JSON.stringify(error)}`);
407            expect().assertFail();
408            done();
409        }
410        console.info('testHitraceApi015 end');
411        done();
412    })
413
414    /**
415     * @tc.name: 接口测试-跟踪业务名为长度大于1024位
416     * @tc.number DFX_DFT_Hitrace_JS_01600
417     * @tc.function A01010
418     * @tc.feature DFX_DFT_Hitrace
419     * @tc.level Level3
420     * @tc.type FUNC
421     */
422     it('testHitraceApi016', 1, async function (done) {
423        console.info('testHitraceApi016 start');
424        try{
425            let traceId = hiTraceChain.begin("1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm1234567890qwertyuiopasdfghjklzxcvbnm12345678901234567890");
426            let traceIdIsvalid = hiTraceChain.isValid(traceId);
427            if(!traceIdIsvalid){
428                expect().assertFail();
429                console.log(`testHitraceApi016 got an error: ${JSON.stringify(error)}`);
430            }
431            hiTraceChain.end(traceId);
432        } catch (error){
433            console.log(`testHitraceApi016 got an error: ${JSON.stringify(error)}`);
434            expect().assertFail();
435            done();
436        }
437        console.info('testHitraceApi016 end');
438        done();
439    })
440
441    /**
442     * @tc.name: 接口测试-跟踪业务名为""
443     * @tc.number DFX_DFT_Hitrace_JS_01700
444     * @tc.function A01010
445     * @tc.feature DFX_DFT_Hitrace
446     * @tc.level Level3
447     * @tc.type FUNC
448     */
449     it('testHitraceApi017', 1, async function (done) {
450        console.info('testHitraceApi017 start');
451        try{
452            let traceId = hiTraceChain.begin("");
453            let traceIdIsvalid = hiTraceChain.isValid(traceId);
454            if(!traceIdIsvalid){
455                expect().assertFail();
456                console.log(`testHitraceApi017 got an error: ${JSON.stringify(error)}`);
457            }
458            hiTraceChain.end(traceId);
459        } catch (error){
460            console.log(`testHitraceApi017 got an error: ${JSON.stringify(error)}`);
461            expect().assertFail();
462            done();
463        }
464        console.info('testHitraceApi017 end');
465        done();
466    })
467
468    /**
469     * @tc.name: 接口测试-跟踪业务名为" "
470     * @tc.number DFX_DFT_Hitrace_JS_01800
471     * @tc.function A01010
472     * @tc.feature DFX_DFT_Hitrace
473     * @tc.level Level3
474     * @tc.type FUNC
475     */
476     it('testHitraceApi018', 1, async function (done) {
477        console.info('testHitraceApi018 start');
478        try{
479            let traceId = hiTraceChain.begin(" ");
480            let traceIdIsvalid = hiTraceChain.isValid(traceId);
481            if(!traceIdIsvalid){
482                expect().assertFail();
483                console.log(`testHitraceApi018 got an error: ${JSON.stringify(error)}`);
484            }
485            hiTraceChain.end(traceId);
486        } catch (error){
487            console.log(`testHitraceApi018 got an error: ${JSON.stringify(error)}`);
488            expect().assertFail();
489            done();
490        }
491        console.info('testHitraceApi018 end');
492        done();
493    })
494
495    /**
496     * @tc.name: 接口测试-跟踪业务名为"default"
497     * @tc.number DFX_DFT_Hitrace_JS_01900
498     * @tc.function A01010
499     * @tc.feature DFX_DFT_Hitrace
500     * @tc.level Level3
501     * @tc.type FUNC
502     */
503     it('testHitraceApi019', 1, async function (done) {
504        console.info('testHitraceApi019 start');
505        try{
506            let traceId = hiTraceChain.begin("default");
507            let traceIdIsvalid = hiTraceChain.isValid(traceId);
508            if(!traceIdIsvalid){
509                expect().assertFail();
510                console.log(`testHitraceApi019 got an error: ${JSON.stringify(error)}`);
511            }
512            hiTraceChain.end(traceId);
513        } catch (error){
514            console.log(`testHitraceApi019 got an error: ${JSON.stringify(error)}`);
515            expect().assertFail();
516            done();
517        }
518        console.info('testHitraceApi019 end');
519        done();
520    })
521
522    /**
523     * @tc.name: 接口测试-跟踪业务名为中文字符
524     * @tc.number DFX_DFT_Hitrace_JS_02000
525     * @tc.function A01010
526     * @tc.feature DFX_DFT_Hitrace
527     * @tc.level Level3
528     * @tc.type FUNC
529     */
530     it('testHitraceApi020', 1, async function (done) {
531        console.info('testHitraceApi020 start');
532        try{
533            let traceId = hiTraceChain.begin("华为");
534            let traceIdIsvalid = hiTraceChain.isValid(traceId);
535            if(!traceIdIsvalid){
536                expect().assertFail();
537                console.log(`testHitraceApi020 got an error: ${JSON.stringify(error)}`);
538            }
539            hiTraceChain.end(traceId);
540        } catch (error){
541            console.log(`testHitraceApi020 got an error: ${JSON.stringify(error)}`);
542            expect().assertFail();
543            done();
544        }
545        console.info('testHitraceApi020 end');
546        done();
547    })
548
549    /**
550     * @tc.name: 接口测试-HiTraceCommunicationMode为DEFAULT
551     * @tc.number DFX_DFT_Hitrace_JS_02100
552     * @tc.function A01010
553     * @tc.feature DFX_DFT_Hitrace
554     * @tc.level Level3
555     * @tc.type FUNC
556     */
557     it('testHitraceApi021', 1, async function (done) {
558        console.info('testHitraceApi021 start');
559        try{
560            let traceId = hiTraceChain.begin("hitrace03", hiTraceChain.HiTraceFlag.TP_INFO);
561            let curTraceId = hiTraceChain.getId();
562            if(traceId.chainId != curTraceId.chainId){
563                expect().assertFail();
564                console.log(`testHitraceApi021 got an error: ${JSON.stringify(error)}`);
565            }
566            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEFAULT,
567                                    hiTraceChain.HiTraceTracepointType.SS, traceId, "hitrace api test.");
568            hiTraceChain.end(traceId);
569        } catch (error){
570            console.log(`testHitraceApi021 got an error: ${JSON.stringify(error)}`);
571            expect().assertFail();
572            done();
573        }
574        console.info('testHitraceApi021 end');
575        done();
576    })
577
578    /**
579     * @tc.name: 接口测试-HiTraceCommunicationMode为PROCESS
580     * @tc.number DFX_DFT_Hitrace_JS_02200
581     * @tc.function A01010
582     * @tc.feature DFX_DFT_Hitrace
583     * @tc.level Level3
584     * @tc.type FUNC
585     */
586     it('testHitraceApi022', 1, async function (done) {
587        console.info('testHitraceApi022 start');
588        try{
589            let traceId = hiTraceChain.begin("hitrace03", hiTraceChain.HiTraceFlag.TP_INFO);
590            let curTraceId = hiTraceChain.getId();
591            if(traceId.chainId != curTraceId.chainId){
592                expect().assertFail();
593                console.log(`testHitraceApi022 got an error: ${JSON.stringify(error)}`);
594            }
595            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.PROCESS,
596                                    hiTraceChain.HiTraceTracepointType.SS, traceId, "hitrace api test.");
597            hiTraceChain.end(traceId);
598        } catch (error){
599            console.log(`testHitraceApi022 got an error: ${JSON.stringify(error)}`);
600            expect().assertFail();
601            done();
602        }
603        console.info('testHitraceApi022 end');
604        done();
605    })
606
607    /**
608     * @tc.name: 接口测试-HiTraceCommunicationMode为DEVICE
609     * @tc.number DFX_DFT_Hitrace_JS_02300
610     * @tc.function A01010
611     * @tc.feature DFX_DFT_Hitrace
612     * @tc.level Level3
613     * @tc.type FUNC
614     */
615     it('testHitraceApi023', 1, async function (done) {
616        console.info('testHitraceApi023 start');
617        try{
618            let traceId = hiTraceChain.begin("testHitraceApi023", hiTraceChain.HiTraceFlag.TP_INFO);
619            let curTraceId = hiTraceChain.getId();
620            if(traceId.chainId != curTraceId.chainId){
621                expect().assertFail();
622                console.log(`testHitraceApi023 got an error: ${JSON.stringify(error)}`);
623            }
624            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
625                                    hiTraceChain.HiTraceTracepointType.SS, traceId, "hitrace api test.");
626            hiTraceChain.end(traceId);
627        } catch (error){
628            console.log(`testHitraceApi023 got an error: ${JSON.stringify(error)}`);
629            expect().assertFail();
630            done();
631        }
632        console.info('testHitraceApi023 end');
633        done();
634    })
635
636    /**
637     * @tc.name: 接口测试-HiTraceTracepointType为CS
638     * @tc.number DFX_DFT_Hitrace_JS_02400
639     * @tc.function A01010
640     * @tc.feature DFX_DFT_Hitrace
641     * @tc.level Level3
642     * @tc.type FUNC
643     */
644     it('testHitraceApi024', 1, async function (done) {
645        console.info('testHitraceApi024 start');
646        try{
647            let traceId = hiTraceChain.begin("testHitraceApi024", hiTraceChain.HiTraceFlag.TP_INFO);
648            let curTraceId = hiTraceChain.getId();
649            if(traceId.chainId != curTraceId.chainId){
650                expect().assertFail();
651                console.log(`testHitraceApi024 got an error: ${JSON.stringify(error)}`);
652            }
653            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
654                                    hiTraceChain.HiTraceTracepointType.CS, traceId, "hitrace api test.");
655            hiTraceChain.end(traceId);
656        } catch (error){
657            console.log(`testHitraceApi024 got an error: ${JSON.stringify(error)}`);
658            expect().assertFail();
659            done();
660        }
661        console.info('testHitraceApi024 end');
662        done();
663    })
664
665    /**
666     * @tc.name: 接口测试-HiTraceTracepointType为CR
667     * @tc.number DFX_DFT_Hitrace_JS_02500
668     * @tc.function A01010
669     * @tc.feature DFX_DFT_Hitrace
670     * @tc.level Level3
671     * @tc.type FUNC
672     */
673     it('testHitraceApi025', 1, async function (done) {
674        console.info('testHitraceApi025 start');
675        try{
676            let traceId = hiTraceChain.begin("testHitraceApi025", hiTraceChain.HiTraceFlag.TP_INFO);
677            let curTraceId = hiTraceChain.getId();
678            if(traceId.chainId != curTraceId.chainId){
679                expect().assertFail();
680                console.log(`testHitraceApi025 got an error: ${JSON.stringify(error)}`);
681            }
682            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
683                                    hiTraceChain.HiTraceTracepointType.CR, traceId, "hitrace api test.");
684            hiTraceChain.end(traceId);
685        } catch (error){
686            console.log(`testHitraceApi025 got an error: ${JSON.stringify(error)}`);
687            expect().assertFail();
688            done();
689        }
690        console.info('testHitraceApi025 end');
691        done();
692    })
693
694    /**
695     * @tc.name: 接口测试-HiTraceTracepointType为SR
696     * @tc.number DFX_DFT_Hitrace_JS_02600
697     * @tc.function A01010
698     * @tc.feature DFX_DFT_Hitrace
699     * @tc.level Level3
700     * @tc.type FUNC
701     */
702     it('testHitraceApi026', 1, async function (done) {
703        console.info('testHitraceApi026 start');
704        try{
705            let traceId = hiTraceChain.begin("testHitraceApi026", hiTraceChain.HiTraceFlag.TP_INFO);
706            let curTraceId = hiTraceChain.getId();
707            if(traceId.chainId != curTraceId.chainId){
708                expect().assertFail();
709                console.log(`testHitraceApi026 got an error: ${JSON.stringify(error)}`);
710            }
711            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
712                                    hiTraceChain.HiTraceTracepointType.SR, traceId, "hitrace api test.");
713            hiTraceChain.end(traceId);
714        } catch (error){
715            console.log(`testHitraceApi026 got an error: ${JSON.stringify(error)}`);
716            expect().assertFail();
717            done();
718        }
719        console.info('testHitraceApi026 end');
720        done();
721    })
722
723    /**
724     * @tc.name: 接口测试-HiTraceTracepointType为GENERAL
725     * @tc.number DFX_DFT_Hitrace_JS_02700
726     * @tc.function A01010
727     * @tc.feature DFX_DFT_Hitrace
728     * @tc.level Level3
729     * @tc.type FUNC
730     */
731     it('testHitraceApi027', 1, async function (done) {
732        console.info('testHitraceApi027 start');
733        try{
734            let traceId = hiTraceChain.begin("testHitraceApi027", hiTraceChain.HiTraceFlag.TP_INFO);
735            let curTraceId = hiTraceChain.getId();
736            if(traceId.chainId != curTraceId.chainId){
737                expect().assertFail();
738                console.log(`testHitraceApi027 got an error: ${JSON.stringify(error)}`);
739            }
740            hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.DEVICE,
741                                    hiTraceChain.HiTraceTracepointType.GENERAL, traceId, "hitrace api test.");
742            hiTraceChain.end(traceId);
743        } catch (error){
744            console.log(`testHitraceApi027 got an error: ${JSON.stringify(error)}`);
745            expect().assertFail();
746            done();
747        }
748        console.info('testHitraceApi027 end');
749        done();
750    })
751})
752}
753