• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2022 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//@ts-ignore
17import {ProcedureLogicWorkerPerf, PerfCountSample,PerfCallChainMerageData, PerfStack, PerfCmdLine, PerfCall,timeMsFormat2p,PerfFile,PerfThread,PerfCallChain} from "../../../../dist/trace/database/logic-worker/ProcedureLogicWorkerPerf.js"
18
19describe('ProcedureLogicWorkerPerf Test', ()=> {
20
21    it('ProcedureLogicWorkerPerfTest', function () {
22        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
23        expect(procedureLogicWorkerPerf).not.toBeUndefined();
24    });
25
26    it('ProcedureLogicWorkerPerfTest01', function () {
27        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
28        let data = {
29            id:1,
30            params:[{
31                list:'',
32            }],
33            action:'',
34            type: 'perf-init'
35        }
36        procedureLogicWorkerPerf.initPerfFiles = jest.fn(()=>true)
37        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
38    });
39
40    it('ProcedureLogicWorkerPerfTest02', function () {
41        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
42        let data = {
43            id:1,
44            params:[{
45                list:'',
46            }],
47            action:'',
48            type: 'perf-queryPerfFiles'
49        }
50        procedureLogicWorkerPerf.initPerfThreads = jest.fn(()=>true)
51        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
52    });
53
54    it('ProcedureLogicWorkerPerfTest03', function () {
55        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
56        let data = {
57            id:1,
58            params:[{
59                list:'',
60            }],
61            action:'',
62            type: 'perf-queryPerfThread'
63        }
64        procedureLogicWorkerPerf.initPerfCalls = jest.fn(()=>true)
65        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
66    });
67
68    it('ProcedureLogicWorkerPerfTest04', function () {
69        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
70        let data = {
71            id:1,
72            params:[{
73                list:'',
74            }],
75            action:'',
76            type: 'perf-queryPerfCalls'
77        }
78        procedureLogicWorkerPerf.initPerfCallchains = jest.fn(()=>true)
79        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
80    });
81
82    it('ProcedureLogicWorkerPerfTest05', function () {
83        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
84        let data = {
85            id:1,
86            params:[{
87                list:'',
88            }],
89            action:'',
90            type: 'perf-queryPerfCallchains'
91        }
92        window.postMessage = jest.fn(()=>true)
93        procedureLogicWorkerPerf.initCallChainTopDown = jest.fn(()=>true)
94        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
95    });
96
97    it('ProcedureLogicWorkerPerfTest06', function () {
98        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
99        let data = {
100            id:1,
101            params:[{
102                list:'',
103            }],
104            action:'',
105            type: 'perf-queryCallchainsGroupSample'
106        }
107        window.postMessage = jest.fn(()=>true)
108        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
109    });
110
111    it('ProcedureLogicWorkerPerfTest07', function () {
112        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
113        let data = {
114            id:1,
115            params:[{
116                list:'',
117            }],
118            action:'',
119            type: 'perf-action'
120        }
121        procedureLogicWorkerPerf.resolvingAction = jest.fn(()=>true)
122        window.postMessage = jest.fn(()=>true)
123        expect(procedureLogicWorkerPerf.handle(data)).toBeUndefined();
124    });
125
126    it('ProcedureLogicWorkerPerfTest08', function () {
127        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
128        expect(procedureLogicWorkerPerf.clearAll()).toBeUndefined();
129    });
130
131    it('ProcedureLogicWorkerPerfTest09', function () {
132        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
133        let callChain = [{
134            sampleId: '',
135            depth: 0,
136            canCharge: false,
137            name: '',
138            tid: '',
139            fileName: '',
140            threadName: '',
141        }]
142        expect(procedureLogicWorkerPerf.initCallChainBottomUp(callChain)).toBeUndefined();
143    });
144
145    it('ProcedureLogicWorkerPerfTest10', function () {
146        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
147        let callChain = [{
148            sampleId: '',
149            depth: 0,
150            canCharge: false,
151            name: '',
152            tid: '',
153            fileName: '',
154            threadName: '',
155        }]
156        expect(procedureLogicWorkerPerf.initCallChainTopDown([callChain])).toBeUndefined();
157    });
158
159    it('ProcedureLogicWorkerPerfTest11', function () {
160        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
161        let callChain = {
162            sampleId: -1,
163            depth: 0,
164            canCharge: true,
165            name: '',
166            tid: '',
167            fileName: '',
168            threadName: '',
169            symbolId:-1
170        }
171        expect(procedureLogicWorkerPerf.setCallChainName(callChain)).toBeUndefined();
172    });
173
174    it('ProcedureLogicWorkerPerfTest12', function () {
175        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
176        let callChain = {
177            sampleId: 0,
178        }
179        expect(procedureLogicWorkerPerf.setCallChainName(callChain)).toBeUndefined();
180    });
181
182    it('ProcedureLogicWorkerPerfTest14', function () {
183        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
184        let callChain = {
185            sampleId: '',
186            depth: 0,
187            canCharge: false,
188            name: '',
189            tid: '',
190            fileName: '',
191            threadName: '',
192        }
193        expect(procedureLogicWorkerPerf.addPerfCallData(callChain)).toBeUndefined();
194    });
195
196    it('ProcedureLogicWorkerPerfTest15', function () {
197        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
198        let callChain = {
199            sampleId: '',
200        }
201        expect(procedureLogicWorkerPerf.addGroupData(callChain)).toBeUndefined();
202    });
203
204    it('ProcedureLogicWorkerPerfTest16', function () {
205        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
206        expect(procedureLogicWorkerPerf.getCallChainsBySampleIds([],[])).toBeTruthy();
207    });
208
209    it('ProcedureLogicWorkerPerfTest17', function () {
210        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
211        expect(procedureLogicWorkerPerf.freshCurrentCallchains([],1)).toBeUndefined();
212    });
213
214    it('ProcedureLogicWorkerPerfTest19', function () {
215        let perfCountSample = new PerfCountSample();
216        perfCountSample = {
217            sampleId: 0,
218            count: 0,
219            pid: 0,
220            tid: 0,
221            threadState: '',
222        }
223        expect(perfCountSample).not.toBeUndefined();
224    });
225
226    it('ProcedureLogicWorkerPerfTest20', function () {
227        let perfStack = new PerfStack();
228        perfStack = {
229            sample: '',
230            path: '',
231            fileId: 0,
232            type: 0,
233            vaddrInFile: 0,
234        }
235        expect(perfStack).not.toBeUndefined();
236    });
237
238    it('ProcedureLogicWorkerPerfTest21', function () {
239        let perfCmdLine = new PerfCmdLine();
240        perfCmdLine = {
241            report_value: '',
242        }
243        expect(perfCmdLine).not.toBeUndefined();
244    });
245
246    it('ProcedureLogicWorkerPerfTest21', function () {
247        let perfCmdLine = new PerfCmdLine();
248        perfCmdLine = {
249            report_value: '',
250        }
251        expect(perfCmdLine).not.toBeUndefined();
252    });
253
254    it('ProcedureLogicWorkerPerfTest21', function () {
255        let perfCall = new PerfCall();
256        perfCall = {
257            sampleId: 0,
258            name: '',
259            depth: 0,
260        }
261        expect(perfCall).not.toBeUndefined();
262    });
263
264    it('ProcedureLogicWorkerPerfTest22', function () {
265        expect(timeMsFormat2p('')).toBe("0s");
266    });
267
268    it('ProcedureLogicWorkerPerfTest23', function () {
269        expect(timeMsFormat2p(3600_000)).toBe("1.00h");
270    });
271
272    it('ProcedureLogicWorkerPerfTest24', function () {
273        expect(timeMsFormat2p(60_000)).toBe("1.00min");
274    });
275
276    it('ProcedureLogicWorkerPerfTest25', function () {
277        expect(timeMsFormat2p(1_000)).toBe("1.00s");
278    });
279
280    it('ProcedureLogicWorkerPerfTest26', function () {
281        expect(timeMsFormat2p(100)).toBe("100.00ms");
282    });
283
284    it('ProcedureLogicWorkerPerfTest31', function () {
285        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
286        procedureLogicWorkerPerf.recursionChargeInitTree = jest.fn(()=>undefined);
287        let node = [{
288            symbolName: '',
289            libName: '',
290            length: 1,
291            initChildren: {
292                length: 1,
293            }
294        }]
295        expect(procedureLogicWorkerPerf.recursionChargeInitTree(node,'',true)).toBeUndefined();
296    });
297
298    it('ProcedureLogicWorkerPerfTest32', function () {
299        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
300        expect(procedureLogicWorkerPerf.splitTree([],'','',true)).toBeUndefined();
301    });
302
303    it('ProcedureLogicWorkerPerfTest33', function () {
304        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
305        procedureLogicWorkerPerf.recursionPruneInitTree = jest.fn(()=>undefined);
306        let node = {
307            symbolName: '',
308            libName: '',
309            length: 1,
310            initChildren: {
311                length: 1,
312            }
313        }
314        expect(procedureLogicWorkerPerf.recursionPruneInitTree(node,'',true)).toBeUndefined();
315    });
316
317    it('ProcedureLogicWorkerPerfTest34', function () {
318        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
319        procedureLogicWorkerPerf.recursionChargeByRule = jest.fn(()=>undefined);
320        let node = {
321            initChildren: [{
322                length: 1,
323            }]
324        }
325        let rule = {
326            child: {
327                isStore: 1,
328            }
329        }
330        expect(procedureLogicWorkerPerf.recursionChargeByRule(node,'',rule)).toBeUndefined();
331    });
332
333    it('ProcedureLogicWorkerPerfTest35', function () {
334        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
335        window.postMessage = jest.fn(()=>true)
336        expect(procedureLogicWorkerPerf.queryData("","","")).toBeUndefined();
337    });
338
339    it('ProcedureLogicWorkerPerfTest36', function () {
340        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
341        procedureLogicWorkerPerf.queryData = jest.fn(()=>true)
342        expect(procedureLogicWorkerPerf.initPerfFiles()).toBeUndefined();
343    });
344
345    it('ProcedureLogicWorkerPerfTest37', function () {
346        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
347        procedureLogicWorkerPerf.queryData = jest.fn(()=>true)
348        expect(procedureLogicWorkerPerf.initPerfThreads()).toBeUndefined();
349    });
350
351    it('ProcedureLogicWorkerPerfTest38', function () {
352        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
353        procedureLogicWorkerPerf.queryData = jest.fn(()=>true)
354        expect(procedureLogicWorkerPerf.initPerfCalls()).toBeUndefined();
355    });
356
357    it('ProcedureLogicWorkerPerfTest39', function () {
358        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
359        procedureLogicWorkerPerf.queryData = jest.fn(()=>true)
360        expect(procedureLogicWorkerPerf.initPerfCallchains()).toBeUndefined();
361    });
362
363    it('ProcedureLogicWorkerPerfTest40', function () {
364        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
365        procedureLogicWorkerPerf.queryData = jest.fn(()=>true)
366        let selectionParam = {
367            perfAll:'',
368            perfCpus:[1],
369            perfProcess:[2],
370            perfThread:[1],
371            leftNs:0,
372            rightNs:0
373        }
374        expect(procedureLogicWorkerPerf.getCurrentDataFromDb(selectionParam)).toBeUndefined();
375    });
376
377    it('ProcedureLogicWorkerPerfTest41', function () {
378        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
379        let currentNode = {
380            children:[],
381            initChildren:[],
382        }
383        let list = [{
384            length:1,
385            name:""
386        }]
387        expect(procedureLogicWorkerPerf.merageChildren(currentNode,list,true)).toBeUndefined();
388    });
389    it('ProcedureLogicWorkerPerfTest42', function () {
390        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
391        let sampleIds = {
392            length:1,
393        }
394        let isTopDown = {
395
396        }
397        expect(procedureLogicWorkerPerf.groupNewTreeNoId(sampleIds, isTopDown)).toStrictEqual([]);
398    });
399    it('ProcedureLogicWorkerPerfTest43', function () {
400        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
401        let node = {
402            initChildren:{
403                length:1,
404                forEach:jest.fn(()=>true)
405            },
406            libName:1
407        }
408        let symbolName = 1;
409
410        let isSymbol = true;
411        expect(procedureLogicWorkerPerf.recursionChargeInitTree(node, symbolName, isSymbol)).toBeUndefined();
412    });
413    it('ProcedureLogicWorkerPerfTest44', function () {
414        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
415        let node = {
416            children:{
417                length:1,
418                forEach:jest.fn(()=>true)
419            },
420            libName:1
421        }
422        let symbolName = 1;
423
424        let isSymbol = true;
425        expect(procedureLogicWorkerPerf.recursionChargeTree(node, symbolName, isSymbol)).toBeUndefined();
426    });
427    it('ProcedureLogicWorkerPerfTest45', function () {
428        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
429        let node = {
430            initChildren:{
431                length:1,
432                forEach:jest.fn(()=>true)
433            },
434            libName:1
435        }
436        let symbolName = 1;
437
438        let isSymbol = true;
439        expect(procedureLogicWorkerPerf.recursionPruneInitTree(node, symbolName, isSymbol)).toBeUndefined();
440    });
441    it('ProcedureLogicWorkerPerfTest46', function () {
442        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
443        let node = {
444            children:{
445                length:1,
446                forEach:jest.fn(()=>true)
447            },
448            libName:1
449        }
450        let symbolName = 1;
451
452        let isSymbol = true;
453        expect(procedureLogicWorkerPerf.recursionPruneTree(node, symbolName, isSymbol)).toBeUndefined();
454    });
455    it('ProcedureLogicWorkerPerfTest47', function () {
456        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
457        let node = {
458            initChildren:{
459                length:1,
460                forEach:jest.fn(()=>true)
461            },
462        }
463        let ruleName = 1;
464
465        let rule = true;
466        expect(procedureLogicWorkerPerf.recursionChargeByRule(node, ruleName, rule)).toBeUndefined();
467    });
468    it('ProcedureLogicWorkerPerfTest48', function () {
469        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
470        let node = {
471            initChildren:{
472                length:1,
473                forEach:jest.fn(()=>true)
474            },
475        }
476        let symbolName = 1;
477        expect(procedureLogicWorkerPerf.pruneChildren(node, symbolName)).toBeUndefined();
478    });
479    it('ProcedureLogicWorkerPerfTest49', function () {
480        let procedureLogicWorkerPerf = new ProcedureLogicWorkerPerf();
481        expect(procedureLogicWorkerPerf.clearSplitMapData()).toBeUndefined();
482    });
483    it('PerfFileTest01', function () {
484        let perfFile = new PerfFile();
485        expect(perfFile.constructor()).toBeUndefined();
486    });
487    it('PerfFileTest02', function () {
488        let perfFile = new PerfFile();
489        let path=true
490        expect(perfFile.setFileName(path)).toBeUndefined();
491    });
492    it('PerfThreadTest01', function () {
493        let perfThread = new PerfThread();
494        expect(perfThread.constructor()).toBeUndefined();
495    });
496    it('PerfCallChainTest01', function () {
497        let perfCallChain = new PerfCallChain();
498        expect(perfCallChain.constructor()).toBeUndefined();
499    });
500    it('PerfCallChainMerageDataTest01', function () {
501        let perfCallChainMerageData = new PerfCallChainMerageData();
502        expect(perfCallChainMerageData.constructor()).toEqual({"canCharge": true, "children": [], "count": 0, "currentTreeParentNode": undefined,
503            "depth": 0, "dur": 0, "id": "", "initChildren": [], "isSelected": false, "isStore": 0, "libName": "",
504            "parentId": "", "path": "", "pid": 0, "searchShow": true, "self": "0s", "selfDur": 0, "size": 0, "symbol": "",
505            "symbolName": "", "tid": 0, "type": 0, "vaddrInFile": 0, "weight": "", "weightPercent": ""});
506    });
507    it('PerfCallChainMerageDataTest03', function () {
508        let perfCallChainMerageData = new PerfCallChainMerageData();
509        perfCallChainMerageData.parentNode = true
510        expect(perfCallChainMerageData.parentNode).toBeTruthy()
511    });
512    it('PerfCallChainMerageDataTest04', function () {
513        let perfCallChainMerageData = new PerfCallChainMerageData();
514        perfCallChainMerageData.total = true
515        expect(perfCallChainMerageData.total).toBeTruthy()
516    });
517})