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 16import { 17 ProcedureLogicWorkerSchedulingAnalysis, 18 FreqThread, 19 ThreadCpuUsage, 20 CpuAnalysis, 21 CpuMeasure, 22 Irq, 23 CpuUsage, 24} from '../../../../src/trace/database/logic-worker/ProcedureLogicWorkerSchedulingAnalysis'; 25 26describe('ProcedureLogicWorkerSchedulingAnalysis Test', () => { 27 it('ProcedureLogicWorkerSchedulingAnalysisTest01', function () { 28 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 29 expect(procedureLogicWorkerSchedulingAnalysis).not.toBeUndefined(); 30 }); 31 it('ProcedureLogicWorkerSchedulingAnalysisTest02', function () { 32 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 33 let data = { 34 params: [ 35 { 36 endTs: 1, 37 total: 2, 38 list: '', 39 }, 40 ], 41 type: '', 42 id: 1, 43 action: '', 44 }; 45 window.postMessage = jest.fn(() => true); 46 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 47 }); 48 it('ProcedureLogicWorkerSchedulingAnalysisTest03', function () { 49 let freqThread = new FreqThread(); 50 expect(freqThread).not.toBeUndefined(); 51 }); 52 it('ProcedureLogicWorkerSchedulingAnalysisTest04', function () { 53 let threadCpuUsage = new ThreadCpuUsage(); 54 expect(threadCpuUsage).not.toBeUndefined(); 55 }); 56 it('ProcedureLogicWorkerSchedulingAnalysisTest05', function () { 57 let cpuAnalysis = new CpuAnalysis(); 58 expect(cpuAnalysis).not.toBeUndefined(); 59 }); 60 it('ProcedureLogicWorkerSchedulingAnalysisTest06', function () { 61 let cpuMeasure = new CpuMeasure(); 62 expect(cpuMeasure).not.toBeUndefined(); 63 }); 64 it('ProcedureLogicWorkerSchedulingAnalysisTest07', function () { 65 let irq = new Irq(); 66 expect(irq).not.toBeUndefined(); 67 }); 68 it('ProcedureLogicWorkerSchedulingAnalysisTest08', function () { 69 let cpuUsage = new CpuUsage(); 70 expect(cpuUsage).not.toBeUndefined(); 71 }); 72 it('ProcedureLogicWorkerSchedulingAnalysisTest09', function () { 73 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 74 let arr = [ 75 { 76 cpu: 1, 77 dur: 1, 78 ts: 1, 79 freqArr: { cpu: 1, freq: 1, dur: 1 }, 80 }, 81 ]; 82 expect(procedureLogicWorkerSchedulingAnalysis.handlerThreadFreqData(arr)).toStrictEqual([]); 83 }); 84 it('ProcedureLogicWorkerSchedulingAnalysisTest10', function () { 85 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 86 let arr = [ 87 { 88 cpu: 1, 89 dur: 1, 90 ts: 1, 91 freqArr: { cpu: 1, freq: 1, dur: 1 }, 92 }, 93 ]; 94 expect(procedureLogicWorkerSchedulingAnalysis.handlerFreqThreadData(arr)).toStrictEqual([]); 95 }); 96 it('ProcedureLogicWorkerSchedulingAnalysisTest11', function () { 97 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 98 let arr = [ 99 { 100 cpu: 1, 101 dur: 1, 102 ts: 1, 103 freqArr: { cpu: 1, freq: 1, dur: 1 }, 104 }, 105 ]; 106 expect(procedureLogicWorkerSchedulingAnalysis.groupFreqByCpu(arr)).toBeUndefined(); 107 }); 108 it('ProcedureLogicWorkerSchedulingAnalysisTest12', function () { 109 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 110 let arr = [ 111 { 112 cpu: 1, 113 dur: 1, 114 ts: 1, 115 freqArr: { cpu: 1, freq: 1, dur: 1 }, 116 }, 117 ]; 118 expect(procedureLogicWorkerSchedulingAnalysis.handleCPUIdle0Map(arr)).toBeUndefined(); 119 }); 120 it('ProcedureLogicWorkerSchedulingAnalysisTest13', function () { 121 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 122 let arr = [ 123 { 124 cpu: 1, 125 dur: 1, 126 ts: 1, 127 freqArr: { cpu: 1, freq: 1, dur: 1 }, 128 }, 129 ]; 130 expect(procedureLogicWorkerSchedulingAnalysis.getEffectiveFrequencyDur(arr)).toBeUndefined(); 131 }); 132 it('ProcedureLogicWorkerSchedulingAnalysisTest14', function () { 133 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 134 let arr = [ 135 { 136 cpu: 1, 137 dur: 1, 138 ts: 1, 139 freqArr: { cpu: 1, freq: 1, dur: 1 }, 140 }, 141 ]; 142 expect(procedureLogicWorkerSchedulingAnalysis.handleProcessThread(arr)).toBeUndefined(); 143 }); 144 it('ProcedureLogicWorkerSchedulingAnalysisTest15', function () { 145 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 146 window.postMessage = jest.fn(() => true); 147 expect(procedureLogicWorkerSchedulingAnalysis.getCpuFrequency('')).toBeUndefined(); 148 }); 149 it('ProcedureLogicWorkerSchedulingAnalysisTest16', function () { 150 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 151 window.postMessage = jest.fn(() => true); 152 expect(procedureLogicWorkerSchedulingAnalysis.getProcessAndThread()).toBeUndefined(); 153 }); 154 it('ProcedureLogicWorkerSchedulingAnalysisTest17', function () { 155 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 156 window.postMessage = jest.fn(() => true); 157 expect(procedureLogicWorkerSchedulingAnalysis.getCpuUsage()).toBeUndefined(); 158 }); 159 it('ProcedureLogicWorkerSchedulingAnalysisTest18', function () { 160 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 161 window.postMessage = jest.fn(() => true); 162 expect(procedureLogicWorkerSchedulingAnalysis.queryData('', '', [])).toBeUndefined(); 163 }); 164 it('ProcedureLogicWorkerSchedulingAnalysisTest19', function () { 165 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 166 window.postMessage = jest.fn(() => true); 167 expect(procedureLogicWorkerSchedulingAnalysis.getThreadStateByCpu(1)).toBeUndefined(); 168 }); 169 it('ProcedureLogicWorkerSchedulingAnalysisTest20', function () { 170 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 171 window.postMessage = jest.fn(() => true); 172 expect(procedureLogicWorkerSchedulingAnalysis.getCpuIdle0()).toBeUndefined(); 173 }); 174 it('ProcedureLogicWorkerSchedulingAnalysisTest21', function () { 175 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 176 window.postMessage = jest.fn(() => true); 177 expect(procedureLogicWorkerSchedulingAnalysis.getCpuIdle()).toBeUndefined(); 178 }); 179 it('ProcedureLogicWorkerSchedulingAnalysisTest22', function () { 180 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 181 window.postMessage = jest.fn(() => true); 182 expect(procedureLogicWorkerSchedulingAnalysis.getCpuIrq()).toBeUndefined(); 183 }); 184 it('ProcedureLogicWorkerSchedulingAnalysisTest23', function () { 185 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 186 window.postMessage = jest.fn(() => true); 187 expect(procedureLogicWorkerSchedulingAnalysis.queryThreadCpuUsage([1], [0], [2])).toBeUndefined(); 188 }); 189 it('ProcedureLogicWorkerSchedulingAnalysisTest24', function () { 190 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 191 window.postMessage = jest.fn(() => true); 192 expect(procedureLogicWorkerSchedulingAnalysis.queryThreadRunTime(1)).toBeUndefined(); 193 }); 194 it('ProcedureLogicWorkerSchedulingAnalysisTest25', function () { 195 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 196 window.postMessage = jest.fn(() => true); 197 expect(procedureLogicWorkerSchedulingAnalysis.queryProcessThreadCount()).toBeUndefined(); 198 }); 199 it('ProcedureLogicWorkerSchedulingAnalysisTest26', function () { 200 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 201 window.postMessage = jest.fn(() => true); 202 expect(procedureLogicWorkerSchedulingAnalysis.queryProcessSwitchCount()).toBeUndefined(); 203 }); 204 it('ProcedureLogicWorkerSchedulingAnalysisTest27', function () { 205 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 206 window.postMessage = jest.fn(() => true); 207 expect(procedureLogicWorkerSchedulingAnalysis.queryThreadStateByTid(1)).toBeUndefined(); 208 }); 209 it('ProcedureLogicWorkerSchedulingAnalysisTest28', function () { 210 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 211 let data = { 212 params: [ 213 { 214 endTs: 1, 215 total: 2, 216 list: '', 217 }, 218 ], 219 type: 'scheduling-clearData', 220 id: 1, 221 action: '', 222 }; 223 window.postMessage = jest.fn(() => true); 224 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 225 }); 226 it('ProcedureLogicWorkerSchedulingAnalysisTest29', function () { 227 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 228 let data = { 229 params: [ 230 { 231 endTs: 1, 232 total: 2, 233 list: '', 234 }, 235 ], 236 type: 'scheduling-initFreqData', 237 id: 1, 238 action: '', 239 }; 240 window.postMessage = jest.fn(() => true); 241 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 242 }); 243 it('ProcedureLogicWorkerSchedulingAnalysisTest30', function () { 244 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 245 let data = { 246 params: [ 247 { 248 endTs: 1, 249 total: 2, 250 list: '', 251 }, 252 ], 253 type: 'scheduling-getProcessAndThread', 254 id: 1, 255 action: '', 256 }; 257 window.postMessage = jest.fn(() => true); 258 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 259 }); 260 it('ProcedureLogicWorkerSchedulingAnalysisTest31', function () { 261 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 262 let data = { 263 params: [ 264 { 265 endTs: 1, 266 total: 2, 267 list: '', 268 }, 269 ], 270 type: 'scheduling-getCpuIdle0', 271 id: 1, 272 action: '', 273 }; 274 window.postMessage = jest.fn(() => true); 275 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 276 }); 277 it('ProcedureLogicWorkerSchedulingAnalysisTest32', function () { 278 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 279 let data = { 280 params: [ 281 { 282 endTs: 1, 283 total: 2, 284 list: '', 285 }, 286 ], 287 type: 'scheduling-getCpuUsage', 288 id: 1, 289 action: '', 290 }; 291 window.postMessage = jest.fn(() => true); 292 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 293 }); 294 it('ProcedureLogicWorkerSchedulingAnalysisTest33', function () { 295 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 296 let data = { 297 params: [ 298 { 299 endTs: 1, 300 total: 2, 301 list: '', 302 }, 303 ], 304 type: 'scheduling-CPU Frequency', 305 id: 1, 306 action: '', 307 }; 308 window.postMessage = jest.fn(() => true); 309 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 310 }); 311 it('ProcedureLogicWorkerSchedulingAnalysisTest34', function () { 312 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 313 let data = { 314 params: [ 315 { 316 endTs: 1, 317 total: 2, 318 list: '', 319 }, 320 ], 321 type: 'scheduling-CPU Frequency Thread', 322 id: 1, 323 action: '', 324 }; 325 window.postMessage = jest.fn(() => true); 326 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 327 }); 328 it('ProcedureLogicWorkerSchedulingAnalysisTest35', function () { 329 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 330 let data = { 331 params: [ 332 { 333 endTs: 1, 334 total: 2, 335 list: '', 336 }, 337 ], 338 type: 'scheduling-CPU Idle', 339 id: 1, 340 action: '', 341 }; 342 window.postMessage = jest.fn(() => true); 343 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 344 }); 345 it('ProcedureLogicWorkerSchedulingAnalysisTest37', function () { 346 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 347 let data = { 348 params: [ 349 { 350 endTs: 1, 351 total: 2, 352 list: '', 353 }, 354 ], 355 type: 'scheduling-CPU Irq', 356 id: 1, 357 action: '', 358 }; 359 window.postMessage = jest.fn(() => true); 360 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 361 }); 362 it('ProcedureLogicWorkerSchedulingAnalysisTest38', function () { 363 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 364 let data = { 365 params: [ 366 { 367 endTs: 1, 368 total: 2, 369 list: '', 370 }, 371 ], 372 type: 'scheduling-Thread CpuUsage', 373 id: 1, 374 action: '', 375 }; 376 window.postMessage = jest.fn(() => true); 377 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 378 }); 379 it('ProcedureLogicWorkerSchedulingAnalysisTest39', function () { 380 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 381 let data = { 382 params: [ 383 { 384 endTs: 1, 385 total: 2, 386 list: '', 387 }, 388 ], 389 type: 'scheduling-Thread RunTime', 390 id: 1, 391 action: '', 392 }; 393 window.postMessage = jest.fn(() => true); 394 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 395 }); 396 it('ProcedureLogicWorkerSchedulingAnalysisTest40', function () { 397 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 398 let data = { 399 params: [ 400 { 401 endTs: 1, 402 total: 2, 403 list: '', 404 }, 405 ], 406 type: 'scheduling-Process ThreadCount', 407 id: 1, 408 action: '', 409 }; 410 window.postMessage = jest.fn(() => true); 411 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 412 }); 413 it('ProcedureLogicWorkerSchedulingAnalysisTest41', function () { 414 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 415 let data = { 416 params: [ 417 { 418 endTs: 1, 419 total: 2, 420 list: '', 421 }, 422 ], 423 type: 'scheduling-Process SwitchCount', 424 id: 1, 425 action: '', 426 }; 427 window.postMessage = jest.fn(() => true); 428 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 429 }); 430 it('ProcedureLogicWorkerSchedulingAnalysisTest42', function () { 431 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 432 let data = { 433 params: [ 434 { 435 endTs: 1, 436 total: 2, 437 list: '', 438 }, 439 ], 440 type: 'scheduling-Thread Freq', 441 id: 1, 442 action: '', 443 }; 444 window.postMessage = jest.fn(() => true); 445 expect(procedureLogicWorkerSchedulingAnalysis.handle(data)).toBeUndefined(); 446 }); 447 it('ProcedureLogicWorkerSchedulingAnalysisTest43', function () { 448 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 449 window.postMessage = jest.fn(() => true); 450 expect(procedureLogicWorkerSchedulingAnalysis.groupIrgDataByCpu([])).toBeTruthy(); 451 }); 452 it('ProcedureLogicWorkerSchedulingAnalysisTest44', function () { 453 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 454 window.postMessage = jest.fn(() => true); 455 expect(procedureLogicWorkerSchedulingAnalysis.computeCpuMeasureDur([], 1)).toBeTruthy(); 456 }); 457 it('ProcedureLogicWorkerSchedulingAnalysisTest45', function () { 458 let procedureLogicWorkerSchedulingAnalysis = new ProcedureLogicWorkerSchedulingAnalysis(); 459 window.postMessage = jest.fn(() => true); 460 expect(procedureLogicWorkerSchedulingAnalysis.handlerThreadCpuUsageData([])).toBeTruthy(); 461 }); 462}); 463