1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_cijest.mock('../../../../src/trace/component/SpSystemTrace', () => { 17fb726d48Sopenharmony_ci return {}; 18fb726d48Sopenharmony_ci}); 19fb726d48Sopenharmony_ciimport { SpProcessChart } from '../../../../src/trace/component/chart/SpProcessChart'; 20fb726d48Sopenharmony_ciimport { TraceRow } from "../../../../src/trace/component/trace/base/TraceRow"; 21fb726d48Sopenharmony_ciimport { ProcessStruct } from "../../../../src/trace/database/ui-worker/ProcedureWorkerProcess"; 22fb726d48Sopenharmony_ci 23fb726d48Sopenharmony_cijest.mock('../../../../src/js-heap/model/DatabaseStruct'); 24fb726d48Sopenharmony_ciconst sqlit = require('../../../../src/trace/database/sql/Func.sql'); 25fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/sql/Func.sql'); 26fb726d48Sopenharmony_ciconst processSqlite = require('../../../../src/trace/database/sql/ProcessThread.sql'); 27fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/sql/ProcessThread.sql'); 28fb726d48Sopenharmony_ciconst sqlite = require('../../../../src/trace/database/sql/SqlLite.sql'); 29fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/sql/SqlLite.sql'); 30fb726d48Sopenharmony_ciconst jankSqlite = require('../../../../src/trace/database/sql/Janks.sql'); 31fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/sql/Janks.sql'); 32fb726d48Sopenharmony_ciconst memSqlite = require('../../../../src/trace/database/sql/Memory.sql'); 33fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/sql/Memory.sql'); 34fb726d48Sopenharmony_cijest.mock('../../../../src/trace/database/ui-worker/ProcedureWorker', () => { 35fb726d48Sopenharmony_ci return {}; 36fb726d48Sopenharmony_ci}); 37fb726d48Sopenharmony_ci 38fb726d48Sopenharmony_ciconst intersectionObserverMock = () => ({ 39fb726d48Sopenharmony_ci observe: () => null, 40fb726d48Sopenharmony_ci}); 41fb726d48Sopenharmony_ciwindow.IntersectionObserver = jest.fn().mockImplementation(intersectionObserverMock); 42fb726d48Sopenharmony_ci// @ts-ignore 43fb726d48Sopenharmony_ciwindow.ResizeObserver = window.ResizeObserver || jest.fn().mockImplementation(() => ({ 44fb726d48Sopenharmony_ci observe: jest.fn(), 45fb726d48Sopenharmony_ci unobserve: jest.fn(), 46fb726d48Sopenharmony_ci disconnect: jest.fn(), 47fb726d48Sopenharmony_ci})); 48fb726d48Sopenharmony_ci 49fb726d48Sopenharmony_cidescribe('SpProcessChart Test', () => { 50fb726d48Sopenharmony_ci let htmlElement: any = document.createElement('sp-system-trace'); 51fb726d48Sopenharmony_ci let spProcessChart = new SpProcessChart(htmlElement); 52fb726d48Sopenharmony_ci let MockqueryProcessAsyncFunc = sqlit.queryProcessAsyncFunc; 53fb726d48Sopenharmony_ci let MockqueryDistributedRelationData = processSqlite.queryDistributedRelationData; 54fb726d48Sopenharmony_ci MockqueryDistributedRelationData.mockResolvedValue([]); 55fb726d48Sopenharmony_ci 56fb726d48Sopenharmony_ci MockqueryProcessAsyncFunc.mockResolvedValue([ 57fb726d48Sopenharmony_ci { 58fb726d48Sopenharmony_ci tid: 1, 59fb726d48Sopenharmony_ci pid: 1, 60fb726d48Sopenharmony_ci threadName: '1', 61fb726d48Sopenharmony_ci track_id: 3, 62fb726d48Sopenharmony_ci startTs: 1111, 63fb726d48Sopenharmony_ci dur: 2000000, 64fb726d48Sopenharmony_ci funName: 'deliverInputEvent', 65fb726d48Sopenharmony_ci parent_id: 4, 66fb726d48Sopenharmony_ci id: 5, 67fb726d48Sopenharmony_ci cookie: 'ff', 68fb726d48Sopenharmony_ci depth: 5, 69fb726d48Sopenharmony_ci argsetid: 6, 70fb726d48Sopenharmony_ci }, 71fb726d48Sopenharmony_ci ]); 72fb726d48Sopenharmony_ci let processContentCount = processSqlite.queryProcessContentCount; 73fb726d48Sopenharmony_ci processContentCount.mockResolvedValue([ 74fb726d48Sopenharmony_ci { 75fb726d48Sopenharmony_ci pid: 1, 76fb726d48Sopenharmony_ci switch_count: 2, 77fb726d48Sopenharmony_ci thread_count: 3, 78fb726d48Sopenharmony_ci slice_count: 4, 79fb726d48Sopenharmony_ci mem_count: 5, 80fb726d48Sopenharmony_ci }, 81fb726d48Sopenharmony_ci ]); 82fb726d48Sopenharmony_ci let queryProcessThreads = processSqlite.queryProcessThreads; 83fb726d48Sopenharmony_ci queryProcessThreads.mockResolvedValue([]); 84fb726d48Sopenharmony_ci let queryProcessThreadsByTable = processSqlite.queryProcessThreadsByTable; 85fb726d48Sopenharmony_ci queryProcessThreadsByTable.mockResolvedValue([ 86fb726d48Sopenharmony_ci { 87fb726d48Sopenharmony_ci pid: 1, 88fb726d48Sopenharmony_ci tid: 0, 89fb726d48Sopenharmony_ci processName: 'process', 90fb726d48Sopenharmony_ci threadName: 'thread', 91fb726d48Sopenharmony_ci }, 92fb726d48Sopenharmony_ci ]); 93fb726d48Sopenharmony_ci let queryProcessMem = processSqlite.queryProcessMem; 94fb726d48Sopenharmony_ci queryProcessMem.mockResolvedValue([ 95fb726d48Sopenharmony_ci { 96fb726d48Sopenharmony_ci trackId: 1, 97fb726d48Sopenharmony_ci trackName: 'trackName', 98fb726d48Sopenharmony_ci upid: 2, 99fb726d48Sopenharmony_ci pid: 1, 100fb726d48Sopenharmony_ci processName: 'processName', 101fb726d48Sopenharmony_ci }, 102fb726d48Sopenharmony_ci ]); 103fb726d48Sopenharmony_ci let queryEventCountMap = sqlite.queryEventCountMap; 104fb726d48Sopenharmony_ci queryEventCountMap.mockResolvedValue([ 105fb726d48Sopenharmony_ci { 106fb726d48Sopenharmony_ci eventName: 'eventName', 107fb726d48Sopenharmony_ci count: 1, 108fb726d48Sopenharmony_ci }, 109fb726d48Sopenharmony_ci ]); 110fb726d48Sopenharmony_ci let queryProcess = processSqlite.queryProcess; 111fb726d48Sopenharmony_ci queryProcess.mockResolvedValue([ 112fb726d48Sopenharmony_ci { 113fb726d48Sopenharmony_ci pid: 1, 114fb726d48Sopenharmony_ci processName: 'processName', 115fb726d48Sopenharmony_ci }, 116fb726d48Sopenharmony_ci ]); 117fb726d48Sopenharmony_ci 118fb726d48Sopenharmony_ci let queryProcessByTable = processSqlite.queryProcessByTable; 119fb726d48Sopenharmony_ci queryProcessByTable.mockResolvedValue([ 120fb726d48Sopenharmony_ci { 121fb726d48Sopenharmony_ci pid: 2, 122fb726d48Sopenharmony_ci processName: 'processName', 123fb726d48Sopenharmony_ci }, 124fb726d48Sopenharmony_ci ]); 125fb726d48Sopenharmony_ci 126fb726d48Sopenharmony_ci let getMaxDepthByTid = sqlit.getMaxDepthByTid; 127fb726d48Sopenharmony_ci getMaxDepthByTid.mockResolvedValue([ 128fb726d48Sopenharmony_ci { 129fb726d48Sopenharmony_ci tid: 1, 130fb726d48Sopenharmony_ci maxDepth: 1, 131fb726d48Sopenharmony_ci }, 132fb726d48Sopenharmony_ci { 133fb726d48Sopenharmony_ci tid: 2, 134fb726d48Sopenharmony_ci maxDepth: 2, 135fb726d48Sopenharmony_ci }, 136fb726d48Sopenharmony_ci ]); 137fb726d48Sopenharmony_ci let queryAllJankProcess = jankSqlite.queryAllJankProcess; 138fb726d48Sopenharmony_ci queryAllJankProcess.mockResolvedValue([ 139fb726d48Sopenharmony_ci { 140fb726d48Sopenharmony_ci pid: 1, 141fb726d48Sopenharmony_ci }, 142fb726d48Sopenharmony_ci ]); 143fb726d48Sopenharmony_ci 144fb726d48Sopenharmony_ci let queryAllExpectedData = sqlite.queryAllExpectedData; 145fb726d48Sopenharmony_ci queryAllExpectedData.mockResolvedValue([ 146fb726d48Sopenharmony_ci { 147fb726d48Sopenharmony_ci id: 41, 148fb726d48Sopenharmony_ci ts: 749660047, 149fb726d48Sopenharmony_ci name: 1159, 150fb726d48Sopenharmony_ci type: 1, 151fb726d48Sopenharmony_ci dur: 16657682, 152fb726d48Sopenharmony_ci pid: 1242, 153fb726d48Sopenharmony_ci cmdline: 'render_service', 154fb726d48Sopenharmony_ci }, 155fb726d48Sopenharmony_ci { 156fb726d48Sopenharmony_ci id: 45, 157fb726d48Sopenharmony_ci ts: 766321174, 158fb726d48Sopenharmony_ci name: 1160, 159fb726d48Sopenharmony_ci type: 1, 160fb726d48Sopenharmony_ci dur: 16657682, 161fb726d48Sopenharmony_ci pid: 1, 162fb726d48Sopenharmony_ci cmdline: 'render_service', 163fb726d48Sopenharmony_ci }, 164fb726d48Sopenharmony_ci ]); 165fb726d48Sopenharmony_ci 166fb726d48Sopenharmony_ci let queryAllActualData = jankSqlite.queryAllActualData; 167fb726d48Sopenharmony_ci queryAllActualData.mockResolvedValue([ 168fb726d48Sopenharmony_ci { 169fb726d48Sopenharmony_ci id: 40, 170fb726d48Sopenharmony_ci ts: 750328000, 171fb726d48Sopenharmony_ci name: 1159, 172fb726d48Sopenharmony_ci type: 0, 173fb726d48Sopenharmony_ci dur: 22925000, 174fb726d48Sopenharmony_ci src_slice: '36', 175fb726d48Sopenharmony_ci jank_tag: 1, 176fb726d48Sopenharmony_ci dst_slice: null, 177fb726d48Sopenharmony_ci pid: 1242, 178fb726d48Sopenharmony_ci cmdline: 'render_service', 179fb726d48Sopenharmony_ci frame_type: 'render_service', 180fb726d48Sopenharmony_ci }, 181fb726d48Sopenharmony_ci { 182fb726d48Sopenharmony_ci id: 44, 183fb726d48Sopenharmony_ci ts: 773315000, 184fb726d48Sopenharmony_ci name: 1160, 185fb726d48Sopenharmony_ci type: 0, 186fb726d48Sopenharmony_ci dur: 17740000, 187fb726d48Sopenharmony_ci src_slice: '38,42', 188fb726d48Sopenharmony_ci jank_tag: 1, 189fb726d48Sopenharmony_ci dst_slice: null, 190fb726d48Sopenharmony_ci pid: 1, 191fb726d48Sopenharmony_ci cmdline: 'render_service', 192fb726d48Sopenharmony_ci frame_type: 'render_service', 193fb726d48Sopenharmony_ci }, 194fb726d48Sopenharmony_ci ]); 195fb726d48Sopenharmony_ci 196fb726d48Sopenharmony_ci let queryProcessStartup = processSqlite.queryProcessStartup; 197fb726d48Sopenharmony_ci queryProcessStartup.mockResolvedValue([ 198fb726d48Sopenharmony_ci { 199fb726d48Sopenharmony_ci 'pid': 3913, 200fb726d48Sopenharmony_ci 'tid': 3913, 201fb726d48Sopenharmony_ci 'itid': 366, 202fb726d48Sopenharmony_ci 'startTs': 5651745832, 203fb726d48Sopenharmony_ci 'dur': 38654167, 204fb726d48Sopenharmony_ci 'startName': 0, 205fb726d48Sopenharmony_ci 'endItid': 341, 206fb726d48Sopenharmony_ci 'frame': { 207fb726d48Sopenharmony_ci 'y': 5, 208fb726d48Sopenharmony_ci 'height': 20, 209fb726d48Sopenharmony_ci 'x': 1154, 210fb726d48Sopenharmony_ci 'width': 9 211fb726d48Sopenharmony_ci }, 212fb726d48Sopenharmony_ci 'v': true, 213fb726d48Sopenharmony_ci 'stepName': 'Process Creating (38.65ms)', 214fb726d48Sopenharmony_ci 'textMetricsWidth': 129.072265625 215fb726d48Sopenharmony_ci }, 216fb726d48Sopenharmony_ci { 217fb726d48Sopenharmony_ci 'pid': 3913, 218fb726d48Sopenharmony_ci 'tid': 3913, 219fb726d48Sopenharmony_ci 'itid': 341, 220fb726d48Sopenharmony_ci 'startTs': 5690399999, 221fb726d48Sopenharmony_ci 'dur': 43619792, 222fb726d48Sopenharmony_ci 'startName': 1, 223fb726d48Sopenharmony_ci 'endItid': 486, 224fb726d48Sopenharmony_ci 'frame': { 225fb726d48Sopenharmony_ci 'y': 5, 226fb726d48Sopenharmony_ci 'height': 20, 227fb726d48Sopenharmony_ci 'x': 1162, 228fb726d48Sopenharmony_ci 'width': 10 229fb726d48Sopenharmony_ci }, 230fb726d48Sopenharmony_ci 'v': true, 231fb726d48Sopenharmony_ci 'stepName': 'Application Launching (43.62ms)', 232fb726d48Sopenharmony_ci 'textMetricsWidth': 156.416015625 233fb726d48Sopenharmony_ci }, 234fb726d48Sopenharmony_ci { 235fb726d48Sopenharmony_ci 'pid': 3913, 236fb726d48Sopenharmony_ci 'tid': 3913, 237fb726d48Sopenharmony_ci 'itid': 486, 238fb726d48Sopenharmony_ci 'startTs': 5734019791, 239fb726d48Sopenharmony_ci 'dur': 23194270, 240fb726d48Sopenharmony_ci 'startName': 2, 241fb726d48Sopenharmony_ci 'endItid': 486, 242fb726d48Sopenharmony_ci 'frame': { 243fb726d48Sopenharmony_ci 'y': 5, 244fb726d48Sopenharmony_ci 'height': 20, 245fb726d48Sopenharmony_ci 'x': 1171, 246fb726d48Sopenharmony_ci 'width': 6 247fb726d48Sopenharmony_ci }, 248fb726d48Sopenharmony_ci 'v': true 249fb726d48Sopenharmony_ci }, 250fb726d48Sopenharmony_ci { 251fb726d48Sopenharmony_ci 'pid': 3913, 252fb726d48Sopenharmony_ci 'tid': 3913, 253fb726d48Sopenharmony_ci 'itid': 486, 254fb726d48Sopenharmony_ci 'startTs': 5757214061, 255fb726d48Sopenharmony_ci 'dur': 115679167, 256fb726d48Sopenharmony_ci 'startName': 3, 257fb726d48Sopenharmony_ci 'endItid': 486, 258fb726d48Sopenharmony_ci 'frame': { 259fb726d48Sopenharmony_ci 'y': 5, 260fb726d48Sopenharmony_ci 'height': 20, 261fb726d48Sopenharmony_ci 'x': 1176, 262fb726d48Sopenharmony_ci 'width': 24 263fb726d48Sopenharmony_ci }, 264fb726d48Sopenharmony_ci 'v': true, 265fb726d48Sopenharmony_ci 'stepName': 'UI Ability OnForeground (115.68ms)', 266fb726d48Sopenharmony_ci 'textMetricsWidth': 172.59765625 267fb726d48Sopenharmony_ci }, 268fb726d48Sopenharmony_ci { 269fb726d48Sopenharmony_ci 'pid': 3913, 270fb726d48Sopenharmony_ci 'tid': 3913, 271fb726d48Sopenharmony_ci 'itid': 486, 272fb726d48Sopenharmony_ci 'startTs': 5872893228, 273fb726d48Sopenharmony_ci 'dur': 62756250, 274fb726d48Sopenharmony_ci 'startName': 4, 275fb726d48Sopenharmony_ci 'frame': { 276fb726d48Sopenharmony_ci 'y': 5, 277fb726d48Sopenharmony_ci 'height': 20, 278fb726d48Sopenharmony_ci 'x': 1199, 279fb726d48Sopenharmony_ci 'width': 14 280fb726d48Sopenharmony_ci }, 281fb726d48Sopenharmony_ci 'v': true, 282fb726d48Sopenharmony_ci 'stepName': 'First Frame - APP Phase (62.76ms)', 283fb726d48Sopenharmony_ci 'textMetricsWidth': 162.9638671875 284fb726d48Sopenharmony_ci }, 285fb726d48Sopenharmony_ci { 286fb726d48Sopenharmony_ci 'pid': 3913, 287fb726d48Sopenharmony_ci 'tid': 3913, 288fb726d48Sopenharmony_ci 'itid': 17, 289fb726d48Sopenharmony_ci 'startTs': 5968040103, 290fb726d48Sopenharmony_ci 'dur': 29438021, 291fb726d48Sopenharmony_ci 'startName': 5, 292fb726d48Sopenharmony_ci 'frame': { 293fb726d48Sopenharmony_ci 'y': 5, 294fb726d48Sopenharmony_ci 'height': 20, 295fb726d48Sopenharmony_ci 'x': 1219, 296fb726d48Sopenharmony_ci 'width': 7 297fb726d48Sopenharmony_ci }, 298fb726d48Sopenharmony_ci 'v': true 299fb726d48Sopenharmony_ci } 300fb726d48Sopenharmony_ci ]); 301fb726d48Sopenharmony_ci 302fb726d48Sopenharmony_ci let queryProcessSoInitData = processSqlite.queryProcessSoInitData; 303fb726d48Sopenharmony_ci queryProcessSoInitData.mockResolvedValue([ 304fb726d48Sopenharmony_ci { 305fb726d48Sopenharmony_ci 'pid': 3913, 306fb726d48Sopenharmony_ci 'tid': 3913, 307fb726d48Sopenharmony_ci 'itid': 486, 308fb726d48Sopenharmony_ci 'startTs': 5678439061, 309fb726d48Sopenharmony_ci 'dur': 1137500, 310fb726d48Sopenharmony_ci 'soName': ' /system/lib64/seccomp/libapp_filter.z.so', 311fb726d48Sopenharmony_ci 'depth': 0, 312fb726d48Sopenharmony_ci 'frame': { 313fb726d48Sopenharmony_ci 'x': 1160, 314fb726d48Sopenharmony_ci 'y': 0, 315fb726d48Sopenharmony_ci 'width': 1, 316fb726d48Sopenharmony_ci 'height': 20 317fb726d48Sopenharmony_ci } 318fb726d48Sopenharmony_ci }, 319fb726d48Sopenharmony_ci { 320fb726d48Sopenharmony_ci 'pid': 3913, 321fb726d48Sopenharmony_ci 'tid': 3913, 322fb726d48Sopenharmony_ci 'itid': 486, 323fb726d48Sopenharmony_ci 'startTs': 5682777082, 324fb726d48Sopenharmony_ci 'dur': 1130729, 325fb726d48Sopenharmony_ci 'soName': ' /system/lib64/libhidebug.so', 326fb726d48Sopenharmony_ci 'depth': 0, 327fb726d48Sopenharmony_ci 'frame': { 328fb726d48Sopenharmony_ci 'x': 1160, 329fb726d48Sopenharmony_ci 'y': 0, 330fb726d48Sopenharmony_ci 'width': 1, 331fb726d48Sopenharmony_ci 'height': 20 332fb726d48Sopenharmony_ci } 333fb726d48Sopenharmony_ci }, 334fb726d48Sopenharmony_ci { 335fb726d48Sopenharmony_ci 'pid': 3913, 336fb726d48Sopenharmony_ci 'tid': 3913, 337fb726d48Sopenharmony_ci 'itid': 486, 338fb726d48Sopenharmony_ci 'startTs': 5696226041, 339fb726d48Sopenharmony_ci 'dur': 4319791, 340fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libinputmethod_extension_module.z.so', 341fb726d48Sopenharmony_ci 'depth': 0, 342fb726d48Sopenharmony_ci 'frame': { 343fb726d48Sopenharmony_ci 'x': 1163, 344fb726d48Sopenharmony_ci 'y': 0, 345fb726d48Sopenharmony_ci 'width': 1, 346fb726d48Sopenharmony_ci 'height': 20 347fb726d48Sopenharmony_ci } 348fb726d48Sopenharmony_ci }, 349fb726d48Sopenharmony_ci { 350fb726d48Sopenharmony_ci 'pid': 3913, 351fb726d48Sopenharmony_ci 'tid': 3913, 352fb726d48Sopenharmony_ci 'itid': 486, 353fb726d48Sopenharmony_ci 'startTs': 5700671874, 354fb726d48Sopenharmony_ci 'dur': 4128125, 355fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libbackup_extension_ability_native.z.so', 356fb726d48Sopenharmony_ci 'depth': 0, 357fb726d48Sopenharmony_ci 'frame': { 358fb726d48Sopenharmony_ci 'x': 1164, 359fb726d48Sopenharmony_ci 'y': 0, 360fb726d48Sopenharmony_ci 'width': 1, 361fb726d48Sopenharmony_ci 'height': 20 362fb726d48Sopenharmony_ci } 363fb726d48Sopenharmony_ci }, 364fb726d48Sopenharmony_ci { 365fb726d48Sopenharmony_ci 'pid': 3913, 366fb726d48Sopenharmony_ci 'tid': 3913, 367fb726d48Sopenharmony_ci 'itid': 486, 368fb726d48Sopenharmony_ci 'startTs': 5704894270, 369fb726d48Sopenharmony_ci 'dur': 2187500, 370fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libwindow_extension_module.z.so', 371fb726d48Sopenharmony_ci 'depth': 0, 372fb726d48Sopenharmony_ci 'frame': { 373fb726d48Sopenharmony_ci 'x': 1165, 374fb726d48Sopenharmony_ci 'y': 0, 375fb726d48Sopenharmony_ci 'width': 1, 376fb726d48Sopenharmony_ci 'height': 20 377fb726d48Sopenharmony_ci } 378fb726d48Sopenharmony_ci }, 379fb726d48Sopenharmony_ci { 380fb726d48Sopenharmony_ci 'pid': 3913, 381fb726d48Sopenharmony_ci 'tid': 3913, 382fb726d48Sopenharmony_ci 'itid': 486, 383fb726d48Sopenharmony_ci 'startTs': 5707165624, 384fb726d48Sopenharmony_ci 'dur': 1503125, 385fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libdatashare_ext_ability_module.z.so', 386fb726d48Sopenharmony_ci 'depth': 0, 387fb726d48Sopenharmony_ci 'frame': { 388fb726d48Sopenharmony_ci 'x': 1165, 389fb726d48Sopenharmony_ci 'y': 0, 390fb726d48Sopenharmony_ci 'width': 1, 391fb726d48Sopenharmony_ci 'height': 20 392fb726d48Sopenharmony_ci } 393fb726d48Sopenharmony_ci }, 394fb726d48Sopenharmony_ci { 395fb726d48Sopenharmony_ci 'pid': 3913, 396fb726d48Sopenharmony_ci 'tid': 3913, 397fb726d48Sopenharmony_ci 'itid': 486, 398fb726d48Sopenharmony_ci 'startTs': 5708719791, 399fb726d48Sopenharmony_ci 'dur': 2018229, 400fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libpush_extension.z.so', 401fb726d48Sopenharmony_ci 'depth': 0, 402fb726d48Sopenharmony_ci 'frame': { 403fb726d48Sopenharmony_ci 'x': 1166, 404fb726d48Sopenharmony_ci 'y': 0, 405fb726d48Sopenharmony_ci 'width': 1, 406fb726d48Sopenharmony_ci 'height': 20 407fb726d48Sopenharmony_ci } 408fb726d48Sopenharmony_ci }, 409fb726d48Sopenharmony_ci { 410fb726d48Sopenharmony_ci 'pid': 3913, 411fb726d48Sopenharmony_ci 'tid': 3913, 412fb726d48Sopenharmony_ci 'itid': 486, 413fb726d48Sopenharmony_ci 'startTs': 5710788020, 414fb726d48Sopenharmony_ci 'dur': 846875, 415fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libenterprise_admin_extension_module.z.so', 416fb726d48Sopenharmony_ci 'depth': 0, 417fb726d48Sopenharmony_ci 'frame': { 418fb726d48Sopenharmony_ci 'x': 1166, 419fb726d48Sopenharmony_ci 'y': 0, 420fb726d48Sopenharmony_ci 'width': 1, 421fb726d48Sopenharmony_ci 'height': 20 422fb726d48Sopenharmony_ci } 423fb726d48Sopenharmony_ci }, 424fb726d48Sopenharmony_ci { 425fb726d48Sopenharmony_ci 'pid': 3913, 426fb726d48Sopenharmony_ci 'tid': 3913, 427fb726d48Sopenharmony_ci 'itid': 486, 428fb726d48Sopenharmony_ci 'startTs': 5711693749, 429fb726d48Sopenharmony_ci 'dur': 1522917, 430fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libstatic_subscriber_extension_module.z.so', 431fb726d48Sopenharmony_ci 'depth': 0, 432fb726d48Sopenharmony_ci 'frame': { 433fb726d48Sopenharmony_ci 'x': 1166, 434fb726d48Sopenharmony_ci 'y': 0, 435fb726d48Sopenharmony_ci 'width': 1, 436fb726d48Sopenharmony_ci 'height': 20 437fb726d48Sopenharmony_ci } 438fb726d48Sopenharmony_ci }, 439fb726d48Sopenharmony_ci { 440fb726d48Sopenharmony_ci 'pid': 3913, 441fb726d48Sopenharmony_ci 'tid': 3913, 442fb726d48Sopenharmony_ci 'itid': 486, 443fb726d48Sopenharmony_ci 'startTs': 5713377603, 444fb726d48Sopenharmony_ci 'dur': 1327604, 445fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libui_extension_module.z.so', 446fb726d48Sopenharmony_ci 'depth': 0, 447fb726d48Sopenharmony_ci 'frame': { 448fb726d48Sopenharmony_ci 'x': 1167, 449fb726d48Sopenharmony_ci 'y': 0, 450fb726d48Sopenharmony_ci 'width': 1, 451fb726d48Sopenharmony_ci 'height': 20 452fb726d48Sopenharmony_ci } 453fb726d48Sopenharmony_ci }, 454fb726d48Sopenharmony_ci { 455fb726d48Sopenharmony_ci 'pid': 3913, 456fb726d48Sopenharmony_ci 'tid': 3913, 457fb726d48Sopenharmony_ci 'itid': 486, 458fb726d48Sopenharmony_ci 'startTs': 5714757291, 459fb726d48Sopenharmony_ci 'dur': 2567187, 460fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libauthorization_extension_module.z.so', 461fb726d48Sopenharmony_ci 'depth': 0, 462fb726d48Sopenharmony_ci 'frame': { 463fb726d48Sopenharmony_ci 'x': 1167, 464fb726d48Sopenharmony_ci 'y': 0, 465fb726d48Sopenharmony_ci 'width': 1, 466fb726d48Sopenharmony_ci 'height': 20 467fb726d48Sopenharmony_ci } 468fb726d48Sopenharmony_ci }, 469fb726d48Sopenharmony_ci { 470fb726d48Sopenharmony_ci 'pid': 3913, 471fb726d48Sopenharmony_ci 'tid': 3913, 472fb726d48Sopenharmony_ci 'itid': 486, 473fb726d48Sopenharmony_ci 'startTs': 5717385936, 474fb726d48Sopenharmony_ci 'dur': 2341146, 475fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libaccessibility_extension_module.z.so', 476fb726d48Sopenharmony_ci 'depth': 0, 477fb726d48Sopenharmony_ci 'frame': { 478fb726d48Sopenharmony_ci 'x': 1167, 479fb726d48Sopenharmony_ci 'y': 0, 480fb726d48Sopenharmony_ci 'width': 1, 481fb726d48Sopenharmony_ci 'height': 20 482fb726d48Sopenharmony_ci } 483fb726d48Sopenharmony_ci }, 484fb726d48Sopenharmony_ci { 485fb726d48Sopenharmony_ci 'pid': 3913, 486fb726d48Sopenharmony_ci 'tid': 3913, 487fb726d48Sopenharmony_ci 'itid': 486, 488fb726d48Sopenharmony_ci 'startTs': 5719780728, 489fb726d48Sopenharmony_ci 'dur': 1603646, 490fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libservice_extension_module.z.so', 491fb726d48Sopenharmony_ci 'depth': 0, 492fb726d48Sopenharmony_ci 'frame': { 493fb726d48Sopenharmony_ci 'x': 1168, 494fb726d48Sopenharmony_ci 'y': 0, 495fb726d48Sopenharmony_ci 'width': 1, 496fb726d48Sopenharmony_ci 'height': 20 497fb726d48Sopenharmony_ci } 498fb726d48Sopenharmony_ci }, 499fb726d48Sopenharmony_ci { 500fb726d48Sopenharmony_ci 'pid': 3913, 501fb726d48Sopenharmony_ci 'tid': 3913, 502fb726d48Sopenharmony_ci 'itid': 486, 503fb726d48Sopenharmony_ci 'startTs': 5721437499, 504fb726d48Sopenharmony_ci 'dur': 1314583, 505fb726d48Sopenharmony_ci 'soName': ' system/lib64/extensionability/libworkschedextension.z.so', 506fb726d48Sopenharmony_ci 'depth': 0, 507fb726d48Sopenharmony_ci 'frame': { 508fb726d48Sopenharmony_ci 'x': 1168, 509fb726d48Sopenharmony_ci 'y': 0, 510fb726d48Sopenharmony_ci 'width': 1, 511fb726d48Sopenharmony_ci 'height': 20 512fb726d48Sopenharmony_ci } 513fb726d48Sopenharmony_ci } 514fb726d48Sopenharmony_ci ]); 515fb726d48Sopenharmony_ci let processData = processSqlite.queryProcessData; 516fb726d48Sopenharmony_ci processData.mockResolvedValue([ 517fb726d48Sopenharmony_ci { 518fb726d48Sopenharmony_ci cpu: 0, dur: 199000, startTime: 259730000 519fb726d48Sopenharmony_ci }, 520fb726d48Sopenharmony_ci { 521fb726d48Sopenharmony_ci cpu: 2, dur: 147000, startTime: 307742000 522fb726d48Sopenharmony_ci } 523fb726d48Sopenharmony_ci ]); 524fb726d48Sopenharmony_ci let processMemData = processSqlite.queryProcessMemData; 525fb726d48Sopenharmony_ci processMemData.mockResolvedValue([ 526fb726d48Sopenharmony_ci { 527fb726d48Sopenharmony_ci startTime: 593015789, 528fb726d48Sopenharmony_ci track_id: 153, 529fb726d48Sopenharmony_ci ts: 30150767408970, 530fb726d48Sopenharmony_ci type: 'measure', 531fb726d48Sopenharmony_ci value: 0 532fb726d48Sopenharmony_ci }, 533fb726d48Sopenharmony_ci { 534fb726d48Sopenharmony_ci startTime: 593360060, 535fb726d48Sopenharmony_ci track_id: 153, 536fb726d48Sopenharmony_ci ts: 30150767753241, 537fb726d48Sopenharmony_ci type: 'measure', 538fb726d48Sopenharmony_ci value: 1 539fb726d48Sopenharmony_ci } 540fb726d48Sopenharmony_ci ]); 541fb726d48Sopenharmony_ci let maxValue = memSqlite.queryMemFilterIdMaxValue; 542fb726d48Sopenharmony_ci maxValue.mockResolvedValue([ 543fb726d48Sopenharmony_ci { 544fb726d48Sopenharmony_ci filterId: 1, 545fb726d48Sopenharmony_ci maxValue: 522 546fb726d48Sopenharmony_ci }, 547fb726d48Sopenharmony_ci { 548fb726d48Sopenharmony_ci filterId: 2, 549fb726d48Sopenharmony_ci maxValue: 563 550fb726d48Sopenharmony_ci } 551fb726d48Sopenharmony_ci ]); 552fb726d48Sopenharmony_ci let funcNames = sqlit.queryAllFuncNames; 553fb726d48Sopenharmony_ci funcNames.mockResolvedValue([ 554fb726d48Sopenharmony_ci { 555fb726d48Sopenharmony_ci id: 0, 556fb726d48Sopenharmony_ci name: 'test' 557fb726d48Sopenharmony_ci } 558fb726d48Sopenharmony_ci ]); 559fb726d48Sopenharmony_ci 560fb726d48Sopenharmony_ci let soInitNames = sqlite.queryAllSoInitNames; 561fb726d48Sopenharmony_ci soInitNames.mockResolvedValue([ 562fb726d48Sopenharmony_ci { 563fb726d48Sopenharmony_ci id: 1, 564fb726d48Sopenharmony_ci name: 'soInitName' 565fb726d48Sopenharmony_ci } 566fb726d48Sopenharmony_ci ]); 567fb726d48Sopenharmony_ci 568fb726d48Sopenharmony_ci let allProcessNames = processSqlite.queryAllProcessNames; 569fb726d48Sopenharmony_ci allProcessNames.mockResolvedValue([ 570fb726d48Sopenharmony_ci { 571fb726d48Sopenharmony_ci id: 2, 572fb726d48Sopenharmony_ci name: 'processName', 573fb726d48Sopenharmony_ci pid: 256 574fb726d48Sopenharmony_ci } 575fb726d48Sopenharmony_ci ]); 576fb726d48Sopenharmony_ci 577fb726d48Sopenharmony_ci let srcSlices = sqlite.queryAllSrcSlices; 578fb726d48Sopenharmony_ci srcSlices.mockResolvedValue([ 579fb726d48Sopenharmony_ci { 580fb726d48Sopenharmony_ci id: 3, 581fb726d48Sopenharmony_ci src: 'src' 582fb726d48Sopenharmony_ci } 583fb726d48Sopenharmony_ci ]); 584fb726d48Sopenharmony_ci 585fb726d48Sopenharmony_ci let threadNames = processSqlite.queryAllThreadName; 586fb726d48Sopenharmony_ci threadNames.mockResolvedValue([ 587fb726d48Sopenharmony_ci { 588fb726d48Sopenharmony_ci tid: 4, 589fb726d48Sopenharmony_ci name: 'threadName' 590fb726d48Sopenharmony_ci } 591fb726d48Sopenharmony_ci ]); 592fb726d48Sopenharmony_ci 593fb726d48Sopenharmony_ci spProcessChart.setAttribute = jest.fn(); 594fb726d48Sopenharmony_ci spProcessChart.addChildTraceRow = jest.fn(); 595fb726d48Sopenharmony_ci it('SpProcessChart01', function () { 596fb726d48Sopenharmony_ci spProcessChart.init(); 597fb726d48Sopenharmony_ci expect(spProcessChart).toBeDefined(); 598fb726d48Sopenharmony_ci }); 599fb726d48Sopenharmony_ci 600fb726d48Sopenharmony_ci it('SpProcessChart02', function () { 601fb726d48Sopenharmony_ci expect(spProcessChart.initAsyncFuncData()).not.toBeUndefined(); 602fb726d48Sopenharmony_ci }); 603fb726d48Sopenharmony_ci 604fb726d48Sopenharmony_ci it('SpProcessChart03', function () { 605fb726d48Sopenharmony_ci spProcessChart.initAsyncFuncData(); 606fb726d48Sopenharmony_ci spProcessChart.initDeliverInputEvent(); 607fb726d48Sopenharmony_ci expect(spProcessChart.processAsyncFuncArray.length).toEqual(1); 608fb726d48Sopenharmony_ci }); 609fb726d48Sopenharmony_ci 610fb726d48Sopenharmony_ci it('SpProcessChart04', function () { 611fb726d48Sopenharmony_ci let row = new TraceRow<ProcessStruct>(); 612fb726d48Sopenharmony_ci let startUpRow = spProcessChart.addStartUpRow(row); 613fb726d48Sopenharmony_ci expect(startUpRow).not.toBeUndefined(); 614fb726d48Sopenharmony_ci }); 615fb726d48Sopenharmony_ci 616fb726d48Sopenharmony_ci it('SpProcessChart05', function () { 617fb726d48Sopenharmony_ci let row = new TraceRow<ProcessStruct>(); 618fb726d48Sopenharmony_ci let soInitRow = spProcessChart.addSoInitRow(row, 1); 619fb726d48Sopenharmony_ci expect(soInitRow).not.toBeUndefined(); 620fb726d48Sopenharmony_ci }); 621fb726d48Sopenharmony_ci}); 622