1/* 2 * Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 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 hidebug from '@ohos.hidebug' 16import fs from '@ohos.file.fs' 17import process from '@ohos.process' 18import featureAbility from '@ohos.ability.featureAbility' 19 20import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' 21 22describe("HidebugJsTest", function () { 23 beforeAll(function() { 24 /* 25 * @tc.setup: setup invoked before all testcases 26 */ 27 console.info('HidebugJsTest beforeAll called') 28 }) 29 30 afterAll(function() { 31 /* 32 * @tc.teardown: teardown invoked after all testcases 33 */ 34 console.info('HidebugJsTest afterAll called') 35 }) 36 37 beforeEach(function() { 38 /* 39 * @tc.setup: setup invoked before each testcases 40 */ 41 console.info('HidebugJsTest beforeEach called') 42 }) 43 44 afterEach(function() { 45 /* 46 * @tc.teardown: teardown invoked after each testcases 47 */ 48 console.info('HidebugJsTest afterEach called') 49 }) 50 51 async function msleep(time) { 52 let promise = new Promise((resolve, reject) => { 53 setTimeout(() => resolve("done!"), time) 54 }); 55 let result = await promise; 56 } 57 58 /** 59 * test 60 * 61 * @tc.name: HidebugJsTest_001 62 * @tc.desc: 检测cpuProfiler采集的cpuprofiler数据是否含有js napi callframe信息 63 * @tc.type: FUNC 64 * @tc.require: issueI5NXHX 65 */ 66 it('HidebugJsTest_001', 0, function () { 67 console.info("---------------------------HidebugJsTest_001----------------------------------"); 68 try { 69 let timestamp = Date.now(); 70 let filename = "cpuprofiler_" + timestamp.toString(); 71 hidebug.startProfiling(filename); 72 for (let i = 0; i < 3; i++) { 73 hidebug.getSharedDirty(); 74 } 75 hidebug.stopProfiling(); 76 let path = "/proc/self/root/data/storage/el2/base/files/" + filename + ".json"; 77 let data = fs.readTextSync(path); 78 if (data.includes("napi")) { 79 expect(true).assertTrue(); 80 } else { 81 expect(false).assertTrue(); 82 } 83 } catch (err) { 84 console.error('HidebugJsTest_001 has failed for ' + err); 85 expect(false).assertTrue(); 86 } 87 }) 88 89 /** 90 * @tc.name: HidebugJsTest_002 91 * @tc.desc: startJsCpuProfiling/stopJsCpuProfiling的正常测试, startProfiling/stopProfiling的更新版本 92 * @tc.type: FUNC 93 * @tc.require: issueI5VY8L 94 */ 95 it('HidebugJsTest_002', 0, function () { 96 console.info("---------------------------HidebugJsTest_002----------------------------------"); 97 try { 98 let timestamp = Date.now(); 99 let filename = "cpuprofiler_" + timestamp.toString(); 100 hidebug.startJsCpuProfiling(filename); 101 for (let i = 0; i < 3; i++) { 102 hidebug.getSharedDirty(); 103 } 104 hidebug.stopJsCpuProfiling(); 105 let path = "/proc/self/root/data/storage/el2/base/files/" + filename + ".json"; 106 let data = fs.readTextSync(path); 107 if (data.includes("napi")) { 108 expect(true).assertTrue(); 109 } else { 110 expect(false).assertTrue(); 111 } 112 } catch (err) { 113 console.error('HidebugJsTest_002 has failed for ' + err); 114 expect(false).assertTrue(); 115 } 116 }) 117 118 /** 119 * @tc.name: HidebugJsTest_003 120 * @tc.desc: startJsCpuProfiling/stopJsCpuProfiling的异常测试, startProfiling/stopProfiling的更新版本 121 * @tc.type: FUNC 122 * @tc.require: issueI5VY8L 123 */ 124 it('HidebugJsTest_003', 0, function () { 125 console.info("---------------------------HidebugJsTest_003----------------------------------"); 126 try { 127 hidebug.startJsCpuProfiling(); 128 for (let i = 0; i < 3; i++) { 129 hidebug.getSharedDirty(); 130 } 131 hidebug.stopJsCpuProfiling(); 132 } catch (error) { 133 console.info(error.code); 134 console.info(error.message); 135 expect(error.code === "401").assertTrue(); 136 } 137 }) 138 139 /** 140 * @tc.name: HidebugJsTest_004 141 * @tc.desc: dumpJsHeapData的正常测试, dumpHeapData的更新版本 142 * @tc.type: FUNC 143 * @tc.require: issueI5VY8L 144 */ 145 it('HidebugJsTest_004', 0, function () { 146 console.info("---------------------------HidebugJsTest_004----------------------------------"); 147 try { 148 hidebug.dumpJsHeapData("heapData"); 149 expect(true).assertTrue(); 150 } catch (error) { 151 console.info(error.code); 152 console.info(error.message); 153 } 154 }) 155 156 /** 157 * @tc.name: HidebugJsTest_005 158 * @tc.desc: dumpJsHeapData的异常测试, dumpHeapData的更新版本 159 * @tc.type: FUNC 160 * @tc.require: issueI5VY8L 161 */ 162 it('HidebugJsTest_005', 0, function () { 163 console.info("---------------------------HidebugJsTest_005----------------------------------"); 164 try { 165 hidebug.dumpJsHeapData(); 166 } catch (error) { 167 console.info(error.code); 168 console.info(error.message); 169 expect(error.code === "401").assertTrue(); 170 } 171 }) 172 173 /** 174 * @tc.name: HidebugJsTest_006 175 * @tc.desc: getServiceDump的正常测试 176 * @tc.type: FUNC 177 * @tc.require: issueI5VY8L 178 */ 179 it('HidebugJsTest_006', 0, function () { 180 console.info("---------------------------HidebugJsTest_006----------------------------------"); 181 let context = featureAbility.getContext(); 182 context.getFilesDir().then((data) => { 183 const path = data + "/serviceInfo1.txt"; 184 console.info("output path: " + path); 185 let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 186 const serviceId = 10; 187 const args = new Array("allInfo"); 188 try { 189 hidebug.getServiceDump(serviceId, file.fd, args); 190 expect(true).assertTrue(); 191 } catch (error) { 192 console.info(error.code); 193 console.info(error.message); 194 } 195 fs.closeSync(file); 196 }) 197 }) 198 199 /** 200 * @tc.name: HidebugJsTest_007 201 * @tc.desc: getServiceDump的异常测试,参数错误 202 * @tc.type: FUNC 203 * @tc.require: issueI5VY8L 204 */ 205 it('HidebugJsTest_007', 0, function () { 206 console.info("---------------------------HidebugJsTest_007----------------------------------"); 207 let context = featureAbility.getContext(); 208 context.getFilesDir().then((data) => { 209 const path = data + "/serviceInfo2.txt"; 210 console.info("output path: " + path); 211 let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 212 const serviceId = 10; 213 const args = new Array("allInfo"); 214 try { 215 hidebug.getServiceDump(serviceId); 216 } catch (error) { 217 console.info(error.code); 218 console.info(error.message); 219 expect(error.code === "401").assertTrue(); 220 } 221 fs.closeSync(file); 222 }) 223 }) 224 225 /** 226 * @tc.name: HidebugJsTest_008 227 * @tc.desc: getServiceDump的异常测试,查询system ability失败 228 * @tc.type: FUNC 229 * @tc.require: issueI5VY8L 230 */ 231 it('HidebugJsTest_008', 0, function () { 232 console.info("---------------------------HidebugJsTest_008----------------------------------"); 233 let context = featureAbility.getContext(); 234 context.getFilesDir().then((data) => { 235 const path = data + "/serviceInfo3.txt"; 236 console.info("output path: " + path); 237 let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 238 const serviceId = -10; 239 const args = new Array("allInfo"); 240 try { 241 hidebug.getServiceDump(serviceId, file.fd, args); 242 } catch (error) { 243 console.info(error.code); 244 console.info(error.message); 245 expect(error.code === "11400101").assertTrue(); 246 } 247 fs.closeSync(file); 248 }) 249 }) 250 251 /** 252 * @tc.name: HidebugJsTest_009 253 * @tc.desc: getAppNativeMemInfo的正常测试, getVss()/getPss()/getSharedDirty()/getPrivateDirty()的更新版本 254 * @tc.type: FUNC 255 * @tc.require: issueI5VY8L 256 */ 257 it('HidebugJsTest_009', 0, function () { 258 console.info("---------------------------HidebugJsTest_009----------------------------------"); 259 try { 260 let nativeMemInfo = hidebug.getAppNativeMemInfo(); 261 expect(nativeMemInfo.pss >= 0).assertTrue(); 262 expect(nativeMemInfo.vss >= 0).assertTrue(); 263 expect(nativeMemInfo.rss >= 0).assertTrue(); 264 expect(nativeMemInfo.sharedDirty >= 0).assertTrue(); 265 expect(nativeMemInfo.privateDirty >= 0).assertTrue(); 266 expect(nativeMemInfo.sharedClean >= 0).assertTrue(); 267 expect(nativeMemInfo.privateClean >= 0).assertTrue(); 268 } catch (error) { 269 console.info(error.code); 270 console.info(error.message); 271 expect(false).assertTrue(); 272 } 273 }) 274 275 /** 276 * @tc.name: HidebugJsTest_010 277 * @tc.desc: getSystemMemInfo()的正常测试 278 * @tc.type: FUNC 279 * @tc.require: issueI5VY8L 280 */ 281 it('HidebugJsTest_010', 0, function () { 282 console.info("---------------------------HidebugJsTest_010----------------------------------"); 283 try { 284 let systemMemInfo = hidebug.getSystemMemInfo(); 285 expect(systemMemInfo.totalMem >= 0).assertTrue(); 286 expect(systemMemInfo.freeMem >= 0).assertTrue(); 287 expect(systemMemInfo.availableMem >= 0).assertTrue(); 288 } catch (error) { 289 console.info(error.code); 290 console.info(error.message); 291 expect(false).assertTrue(); 292 } 293 }) 294 295 /** 296 * @tc.name: HidebugJsTest_011 297 * @tc.desc: getSystemCpuUsage的正常测试,查询system cpu usage 298 * @tc.type: FUNC 299 * @tc.require: issueI90Z36 300 */ 301 it('HidebugJsTest_011', 0, function () { 302 console.info("---------------------------HidebugJsTest_011----------------------------------"); 303 try { 304 let sysCpuUsage = hidebug.getSystemCpuUsage(); 305 expect(sysCpuUsage >= 0 && sysCpuUsage <= 1).assertTrue(); 306 } catch (error) { 307 console.info(error.code); 308 console.info(error.message); 309 expect(false).assertTrue(); 310 } 311 }) 312 313 /** 314 * @tc.name: HidebugJsTest_012 315 * @tc.desc: getAppMemoryLimit正常测试 316 * @tc.type: FUNC 317 * @tc.require: issueI8ZX7S 318 */ 319 it('HidebugJsTest_012', 0, function () { 320 console.info("---------------------------HidebugJsTest_012----------------------------------"); 321 try { 322 let temp = hidebug.getAppMemoryLimit(); 323 expect(temp.rssLimit >= BigInt(0)).assertTrue(); 324 expect(temp.vssLimit >= BigInt(0)).assertTrue(); 325 expect(temp.vmHeapLimit >= BigInt(0)).assertTrue(); 326 expect(temp.vmTotalHeapSize >= BigInt(0)).assertTrue(); 327 } catch (error) { 328 expect().assertFail(); 329 } 330 }) 331 332 /** 333 * @tc.name: HidebugJsTest_013 334 * @tc.desc: getAppVMMemoryInfo正常测试 335 * @tc.type: FUNC 336 * @tc.require: issueI5VY8L 337 */ 338 it('HidebugJsTest_013', 0, function () { 339 console.info("---------------------------HidebugJsTest_013----------------------------------"); 340 try { 341 let result = hidebug.getAppVMMemoryInfo(); 342 expect(result.allArraySize >= 0 && result.totalHeap >= 0 && result.heapUsed >= 0).assertTrue(); 343 } catch (error) { 344 console.info(error.code); 345 console.info(error.message); 346 expect(false).assertTrue(); 347 } 348 }) 349 350 /** 351 * @tc.name: HidebugJsTest_014 352 * @tc.desc: getAppThreadCpuUsage正常测试 353 * @tc.type: FUNC 354 * @tc.require: issueI5VY8L 355 */ 356 it('HidebugJsTest_014', 0, function () { 357 console.info("---------------------------HidebugJsTest_014----------------------------------"); 358 try { 359 let appThreadCpuUsage = hidebug.getAppThreadCpuUsage(); 360 expect(appThreadCpuUsage.length >= 0).assertTrue(); 361 } catch (error) { 362 console.info(error.code); 363 console.info(error.message); 364 expect(false).assertTrue(); 365 } 366 }) 367 368 /** 369 * @tc.name: HidebugJsTest_015 370 * @tc.desc: StartAppTraceCapture正常测试 371 * @tc.type: FUNC 372 * @tc.require: issueI5VY8L 373 */ 374 it('HidebugJsTest_015', 0, function () { 375 console.info("---------------------------HidebugJsTest_015----------------------------------"); 376 try { 377 let tags = [hidebug.tags.ABILITY_MANAGER]; 378 let flag = hidebug.TraceFlag.MAIN_THREAD; 379 let limitSize = 1024 * 1024; 380 let fileName = hidebug.startAppTraceCapture(tags, flag, limitSize); 381 for (let i = 0; i < 3; i++) { 382 hidebug.getSharedDirty(); 383 } 384 hidebug.stopAppTraceCapture(); 385 expect(fileName.length > 0).assertTrue(); 386 } catch (error) { 387 console.info(error.code); 388 console.info(error.message); 389 expect(false).assertTrue(); 390 } 391 }) 392 393 /** 394 * @tc.name: HidebugJsTest_016 395 * @tc.desc: getVMRuntimeStats测试 396 * @tc.type: FUNC 397 * @tc.require: issueI5VY8L 398 */ 399 it('HidebugJsTest_016', 0, function () { 400 console.info("---------------------------HidebugJsTest_016----------------------------------"); 401 try { 402 let runtimeStats = hidebug.getVMRuntimeStats(); 403 expect(runtimeStats["ark.gc.gc-count"] >= 0).assertTrue(); 404 expect(runtimeStats["ark.gc.gc-time"] >= 0).assertTrue(); 405 expect(runtimeStats["ark.gc.gc-bytes-allocated"] >= 0).assertTrue(); 406 expect(runtimeStats["ark.gc.gc-bytes-freed"] >= 0).assertTrue(); 407 expect(runtimeStats["ark.gc.fullgc-longtime-count"] >= 0).assertTrue(); 408 expect(runtimeStats["others"] === undefined).assertTrue(); 409 } catch (error) { 410 console.info(error.code); 411 console.info(error.message); 412 expect(false).assertTrue(); 413 } 414 }) 415 416 /** 417 * @tc.name: HidebugJsTest_017 418 * @tc.desc: getVMRuntimeStat正常测试 419 * @tc.type: FUNC 420 * @tc.require: issueI5VY8L 421 */ 422 it('HidebugJsTest_017', 0, function () { 423 console.info("---------------------------HidebugJsTest_017----------------------------------"); 424 try { 425 let gcCount = hidebug.getVMRuntimeStat("ark.gc.gc-count"); 426 let gcTime = hidebug.getVMRuntimeStat("ark.gc.gc-time"); 427 let gcBytesAllocated = hidebug.getVMRuntimeStat("ark.gc.gc-bytes-allocated"); 428 let gcBytesFreed = hidebug.getVMRuntimeStat("ark.gc.gc-bytes-freed"); 429 let fullGcLongTimeCount = hidebug.getVMRuntimeStat("ark.gc.fullgc-longtime-count"); 430 expect(gcCount >= 0).assertTrue(); 431 expect(gcTime >= 0).assertTrue(); 432 expect(gcBytesAllocated >= 0).assertTrue(); 433 expect(gcBytesFreed >= 0).assertTrue(); 434 expect(fullGcLongTimeCount >= 0).assertTrue(); 435 } catch (error) { 436 console.info(error.code); 437 console.info(error.message); 438 expect(false).assertTrue(); 439 } 440 }) 441 442 /** 443 * @tc.name: HidebugJsTest_018 444 * @tc.desc: getVMRuntimeStat参数异常测试 445 * @tc.type: FUNC 446 * @tc.require: issueI5VY8L 447 */ 448 it('HidebugJsTest_018', 0, function () { 449 console.info("---------------------------HidebugJsTest_018----------------------------------"); 450 try { 451 hidebug.getVMRuntimeStat("others"); 452 expect(false).assertTrue(); 453 } catch (error) { 454 expect(error.code === "401").assertTrue(); 455 expect(error.message === "Invalid parameter, unknown property.").assertTrue(); 456 } 457 }) 458 459 /** 460 * @tc.name: HidebugJsTest_019 461 * @tc.desc: setAppResourceLimit正常测试 462 * @tc.type: FUNC 463 * @tc.require: issueI5VY8L 464 */ 465 it('HidebugJsTest_019', 0, function () { 466 console.info("---------------------------HidebugJsTest_019----------------------------------"); 467 try { 468 let type = "js_heap"; 469 let value = 85; 470 let enabledDebugLog = false; 471 hidebug.setAppResourceLimit(type, value, enabledDebugLog); 472 } catch (error) { 473 console.info(error.code); 474 expect(error.code === "401").assertTrue(); 475 } 476 }) 477 478 /** 479 * @tc.name: HidebugJsTest_020 480 * @tc.desc: StartAppTraceCapture错误传参测试 481 * @tc.type: FUNC 482 * @tc.require: issueI5VY8L 483 */ 484 it('HidebugJsTest_020', 0, function () { 485 console.info("---------------------------HidebugJsTest_020----------------------------------"); 486 try { 487 let tags = [hidebug.tags.ABILITY_MANAGER]; 488 let flag = 123; 489 let limitSize = 1024 * 1024; 490 let fileName = hidebug.startAppTraceCapture(tags, flag, limitSize); 491 for (let i = 0; i < 3; i++) { 492 hidebug.getSharedDirty(); 493 } 494 hidebug.stopAppTraceCapture(); 495 expect().assertFail(); 496 } catch (error) { 497 console.info(error.code); 498 console.info(error.message); 499 expect(error.code === "401").assertTrue(); 500 } 501 }) 502 503 /** 504 * @tc.name: HidebugJsTest_021 505 * @tc.desc: StartAppTraceCapture重复启动测试 506 * @tc.type: FUNC 507 * @tc.require: issueI5VY8L 508 */ 509 it('HidebugJsTest_021', 0, function () { 510 console.info("---------------------------HidebugJsTest_021----------------------------------"); 511 let fileName = ""; 512 try { 513 let tags = [hidebug.tags.ABILITY_MANAGER]; 514 let flag = hidebug.TraceFlag.MAIN_THREAD; 515 let limitSize = 1024 * 1024; 516 fileName = hidebug.startAppTraceCapture(tags, flag, limitSize); 517 for (let i = 0; i < 3; i++) { 518 hidebug.getSharedDirty(); 519 } 520 fileName = hidebug.startAppTraceCapture(tags, flag, limitSize); 521 hidebug.stopAppTraceCapture(); 522 expect().assertFail(); 523 } catch (error) { 524 console.info(error.code); 525 console.info(error.message); 526 if (fileName.length > 0) { 527 hidebug.stopAppTraceCapture(); 528 } 529 expect(error.code === "11400102").assertTrue(); 530 } 531 }) 532 533 /** 534 * @tc.name: HidebugJsTest_022 535 * @tc.desc: StartAppTraceCapture未启动直接关闭测试 536 * @tc.type: FUNC 537 * @tc.require: issueI5VY8L 538 */ 539 it('HidebugJsTest_022', 0, function () { 540 console.info("---------------------------HidebugJsTest_022----------------------------------"); 541 try { 542 hidebug.stopAppTraceCapture(); 543 expect().assertFail(); 544 } catch (error) { 545 console.info(error.code); 546 console.info(error.message); 547 expect(error.code === "11400105").assertTrue(); 548 } 549 }) 550 551 /** 552 * @tc.name: HidebugJsTest_023 553 * @tc.desc: getSharedDirty测试 554 * @tc.type: FUNC 555 */ 556 it('HidebugJsTest_023', 0, function () { 557 console.info("---------------------------HidebugJsTest_023----------------------------------"); 558 try { 559 let sharedDirty = hidebug.getSharedDirty(); 560 expect(sharedDirty >= 0).assertTrue(); 561 } catch (error) { 562 console.info(error.code); 563 console.info(error.message); 564 expect(false).assertTrue(); 565 } 566 }) 567 568 /** 569 * @tc.name: HidebugJsTest_024 570 * @tc.desc: getPrivateDirty测试 571 * @tc.type: FUNC 572 */ 573 it('HidebugJsTest_024', 0, function () { 574 console.info("---------------------------HidebugJsTest_024----------------------------------"); 575 try { 576 let privateDirty = hidebug.getPrivateDirty(); 577 expect(privateDirty >= 0).assertTrue(); 578 } catch (error) { 579 console.info(error.code); 580 console.info(error.message); 581 expect(false).assertTrue(); 582 } 583 }) 584 585 /** 586 * @tc.name: HidebugJsTest_025 587 * @tc.desc: getPss测试 588 * @tc.type: FUNC 589 */ 590 it('HidebugJsTest_025', 0, function () { 591 console.info("---------------------------HidebugJsTest_025----------------------------------"); 592 try { 593 let pss = hidebug.getPss(); 594 expect(pss >= 0).assertTrue(); 595 } catch (error) { 596 console.info(error.code); 597 console.info(error.message); 598 expect(false).assertTrue(); 599 } 600 }) 601 602 /** 603 * @tc.name: HidebugJsTest_026 604 * @tc.desc: getVss测试 605 * @tc.type: FUNC 606 */ 607 it('HidebugJsTest_026', 0, function () { 608 console.info("---------------------------HidebugJsTest_026----------------------------------"); 609 try { 610 let vss = hidebug.getVss(); 611 expect(vss >= 0).assertTrue(); 612 } catch (error) { 613 console.info(error.code); 614 console.info(error.message); 615 expect(false).assertTrue(); 616 } 617 }) 618 619 /** 620 * @tc.name: HidebugJsTest_027 621 * @tc.desc: getCpuUsage测试 622 * @tc.type: FUNC 623 */ 624 it('HidebugJsTest_027', 0, function () { 625 console.info("---------------------------HidebugJsTest_027----------------------------------"); 626 try { 627 let cpuUsage = hidebug.getCpuUsage(); 628 expect(cpuUsage >= 0).assertTrue(); 629 } catch (error) { 630 console.info(error.code); 631 console.info(error.message); 632 expect(false).assertTrue(); 633 } 634 }) 635 636 /** 637 * @tc.name: HidebugJsTest_028 638 * @tc.desc: getNativeHeapSize测试 639 * @tc.type: FUNC 640 */ 641 it('HidebugJsTest_028', 0, function () { 642 console.info("---------------------------HidebugJsTest_028----------------------------------"); 643 try { 644 let nativeHeapSize = hidebug.getNativeHeapSize(); 645 expect(nativeHeapSize >= 0).assertTrue(); 646 } catch (error) { 647 console.info(error.code); 648 console.info(error.message); 649 expect(false).assertTrue(); 650 } 651 }) 652 653 /** 654 * @tc.name: HidebugJsTest_029 655 * @tc.desc: getNativeHeapAllocatedSize测试 656 * @tc.type: FUNC 657 */ 658 it('HidebugJsTest_029', 0, function () { 659 console.info("---------------------------HidebugJsTest_029----------------------------------"); 660 try { 661 let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize(); 662 expect(nativeHeapAllocatedSize >= 0).assertTrue(); 663 } catch (error) { 664 console.info(error.code); 665 console.info(error.message); 666 expect(false).assertTrue(); 667 } 668 }) 669 670 /** 671 * @tc.name: HidebugJsTest_030 672 * @tc.desc: getNativeHeapFreeSize测试 673 * @tc.type: FUNC 674 */ 675 it('HidebugJsTest_030', 0, function () { 676 console.info("---------------------------HidebugJsTest_030----------------------------------"); 677 try { 678 let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize(); 679 expect(nativeHeapFreeSize >= 0).assertTrue(); 680 } catch (error) { 681 console.info(error.code); 682 console.info(error.message); 683 expect(false).assertTrue(); 684 } 685 }) 686 687 /** 688 * @tc.name: HidebugJsTest_031 689 * @tc.desc: startProfiling启动两次 690 * @tc.type: FUNC 691 */ 692 it('HidebugJsTest_031', 0, async function () { 693 console.info("---------------------------HidebugJsTest_031----------------------------------"); 694 try { 695 let timestamp1 = Date.now(); 696 let filename1 = "cpuprofiler_" + timestamp1.toString(); 697 hidebug.startProfiling(filename1); 698 await msleep(1000); 699 hidebug.stopProfiling(); 700 let path1 = "/proc/self/root/data/storage/el2/base/files/" + filename1 + ".json"; 701 expect(fs.accessSync(path1)).assertTrue(); 702 703 let timestamp2 = Date.now(); 704 let filename2 = "cpuprofiler_" + timestamp2.toString(); 705 hidebug.startProfiling(filename2); 706 await msleep(1000); 707 hidebug.stopProfiling(); 708 let path2 = "/proc/self/root/data/storage/el2/base/files/" + filename2 + ".json"; 709 expect(fs.accessSync(path2)).assertTrue(); 710 } catch (err) { 711 console.info(error.code); 712 console.info(error.message); 713 expect(false).assertTrue(); 714 } 715 }) 716 717 /** 718 * @tc.name: HidebugJsTest_032 719 * @tc.desc: startJsCpuProfiling启动两次 720 * @tc.type: FUNC 721 */ 722 it('HidebugJsTest_032', 0, async function () { 723 console.info("---------------------------HidebugJsTest_032----------------------------------"); 724 try { 725 let timestamp1 = Date.now(); 726 let filename1 = "cpuprofiler_" + timestamp1.toString(); 727 hidebug.startJsCpuProfiling(filename1); 728 await msleep(1000); 729 hidebug.stopJsCpuProfiling(); 730 let path1 = "/proc/self/root/data/storage/el2/base/files/" + filename1 + ".json"; 731 expect(fs.accessSync(path1)).assertTrue(); 732 733 let timestamp2 = Date.now(); 734 let filename2 = "cpuprofiler_" + timestamp2.toString(); 735 hidebug.startJsCpuProfiling(filename2); 736 await msleep(1000); 737 hidebug.stopJsCpuProfiling(); 738 let path2 = "/proc/self/root/data/storage/el2/base/files/" + filename2 + ".json"; 739 expect(fs.accessSync(path2)).assertTrue(); 740 } catch (err) { 741 console.info(error.code); 742 console.info(error.message); 743 expect(false).assertTrue(); 744 } 745 }) 746 747 /** 748 * @tc.name: HidebugJsTest_033 749 * @tc.desc: isDebugState,未连接调试状态下 750 * @tc.type: FUNC 751 * @tc.require: issueIAC8K0 752 */ 753 it('HidebugJsTest_033', 0, function () { 754 console.info("---------------------------HidebugJsTest_033----------------------------------"); 755 try { 756 let result = hidebug.isDebugState(); 757 expect(result).assertFalse(); 758 } catch (error) { 759 console.info(error.code); 760 console.info(error.message); 761 } 762 }) 763 764 /** 765 * @tc.name: HidebugJsTest_034 766 * @tc.desc: getGraphicsMemory 767 * @tc.type: FUNC 768 */ 769 it('HidebugJsTest_034', 0, async function () { 770 console.info("---------------------------HidebugJsTest_034----------------------------------"); 771 try { 772 let graphicMemory = await hidebug.getGraphicsMemory(); 773 expect(graphicMemory >= 0).assertTrue(); 774 } catch (err) { 775 console.info(error.code); 776 console.info(error.message); 777 expect(false).assertTrue(); 778 } 779 }) 780 781 /** 782 * @tc.name: HidebugJsTest_035 783 * @tc.desc: getGraphicsMemorySync 784 * @tc.type: FUNC 785 */ 786 it('HidebugJsTest_035', 0, function () { 787 console.info("---------------------------HidebugJsTest_035----------------------------------"); 788 try { 789 let graphicMemory = hidebug.getGraphicsMemorySync(); 790 expect(graphicMemory >= 0).assertTrue(); 791 } catch (err) { 792 console.info(error.code); 793 console.info(error.message); 794 expect(false).assertTrue(); 795 } 796 }) 797}) 798