1/** 2 * Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development 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 media from '@ohos.multimedia.media' 17import * as mediaTestBase from './MediaTestBase.js'; 18 19export function resourceName(){ 20 let timestamp = Date.now(); 21 let filename = `avRecorder_${timestamp}.m4a`; 22 return filename; 23} 24 25export async function idleCallback(avRecorder, avConfig, done) { 26 console.info('case idleCallback called'); 27 media.createAVRecorder((error, recorder) => { 28 if (recorder != null) { 29 avRecorder = recorder; 30 console.info('createAVRecorder idleCallback success'); 31 avRecorder.prepare(avConfig) 32 releaseDone(avRecorder, done) 33 } else { 34 console.info(`createAVRecorder idleCallback fail, error:${error}`); 35 } 36 }); 37} 38 39export async function idle(avRecorder) { 40 console.info('case createAVRecorder called'); 41 await media.createAVRecorder().then((recorder) => { 42 if (recorder != null) { 43 avRecorder = recorder; 44 console.info('createAVRecorder success'); 45 } else { 46 console.info('createAVRecorder fail'); 47 } 48 }).catch((error) => { 49 console.info(`createAVRecorder catchCallback, error:${error}`); 50 }); 51 return avRecorder; 52} 53 54export const AV_RECORDER_STATE = { 55 IDLE : 'idle', 56 PREPARED : 'prepared', 57 STARTED : 'started', 58 PAUSED : 'paused', 59 STOPPED : 'stopped', 60 RELEASED : 'released', 61 ERROR : 'error', 62} 63 64export function prepareCallback(avRecorder, avConfig) { 65 if (typeof(avRecorder) == 'undefined') { 66 return; 67 } 68 avRecorder.prepare(avConfig, (err) => { 69 console.info('case prepare called' + err); 70 if (err == null) { 71 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 72 console.info('prepare success'); 73 } else { 74 console.error(`case prepare error, errMessage is ${err.message}`); 75 } 76 }) 77} 78 79export async function preparePromise(avRecorder, avConfig) { 80 if (typeof(avRecorder) == 'undefined') { 81 return; 82 } 83 await avRecorder.prepare(avConfig).then(() => { 84 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 85 console.info('prepare success'); 86 }).catch((err) => { 87 console.info('prepare failed and catch error is ' + err.message); 88 }); 89} 90 91export async function getInputSurfacePromise(avRecorder) { 92 let surfaceID = null; 93 if (typeof(avRecorder) == 'undefined') { 94 return; 95 } 96 await avRecorder.getInputSurface().then((surfaceId) => { 97 console.info('getInputSurface success'); 98 surfaceID = surfaceId; 99 }).catch((err) => { 100 console.info('getInputSurface failed and catch error is ' + err.message); 101 }); 102} 103 104export function getInputSurfaceCallback(avRecorder) { 105 if (typeof(avRecorder) == 'undefined') { 106 return; 107 } 108 let surfaceID = null; 109 avRecorder.getInputSurface((err, surfaceId) => { 110 if (err == null) { 111 console.info('getInputSurface success'); 112 surfaceID = surfaceId; 113 } else { 114 console.info('getInputSurface failed and error is ' + err.message); 115 } 116 }); 117} 118 119export function startCallback(avRecorder, recorderTime) { 120 if (typeof(avRecorder) == 'undefined') { 121 return; 122 } 123 avRecorder.start((err) => { 124 console.info('case start called'); 125 if (err == null) { 126 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 127 console.info('start AVRecorder success'); 128 sleep(recorderTime); 129 } else { 130 console.info('start AVRecorder failed and error is ' + err.message); 131 } 132 }) 133} 134 135export async function startPromise(avRecorder, recorderTime) { 136 if (typeof(avRecorder) == 'undefined') { 137 return; 138 } 139 await avRecorder.start().then(() => { 140 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 141 console.info('start success'); 142 if (recorderTime != undefined) { 143 sleep(recorderTime); 144 } 145 }).catch((err) => { 146 console.info('start failed and catch error is ' + err.message); 147 }); 148 if (recorderTime != undefined) { 149 await sleep(recorderTime); 150 } 151} 152 153export function pauseCallback(avRecorder) { 154 if (typeof(avRecorder) == 'undefined') { 155 return; 156 } 157 avRecorder.pause((err) => { 158 console.info('case pause called'); 159 if (err == null) { 160 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 161 console.info('pause AVRecorder success'); 162 } else { 163 console.info('pause AVRecorder failed and error is ' + err.message); 164 } 165 }) 166} 167 168export async function pausePromise(avRecorder) { 169 if (typeof(avRecorder) == 'undefined') { 170 return; 171 } 172 await avRecorder.pause().then(() => { 173 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 174 console.info('pause success'); 175 }).catch((err) => { 176 console.info('pause failed and catch error is ' + err.message); 177 }); 178} 179 180export function resumeCallback(avRecorder) { 181 if (typeof(avRecorder) == 'undefined') { 182 return; 183 } 184 avRecorder.resume((err) => { 185 console.info('case resume called'); 186 if (err == null) { 187 console.info('resume AVRecorder success'); 188 } else { 189 console.info('resume AVRecorder failed and error is ' + err.message); 190 } 191 }) 192} 193 194export async function resumePromise(avRecorder) { 195 if (typeof(avRecorder) == 'undefined') { 196 return; 197 } 198 await avRecorder.resume().then(() => { 199 console.info('resume success'); 200 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 201} 202 203export function stopCallback(avRecorder) { 204 if (typeof(avRecorder) == 'undefined') { 205 return; 206 } 207 avRecorder.stop((err) => { 208 console.info('case stop called'); 209 if (err == null) { 210 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 211 console.info('stop AVRecorder success'); 212 } else { 213 console.info('stop AVRecorder failed and error is ' + err.message); 214 } 215 }) 216} 217 218export async function stopPromise(avRecorder) { 219 if (typeof(avRecorder) == 'undefined') { 220 return; 221 } 222 await avRecorder.stop().then(() => { 223 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 224 console.info('stop success'); 225 }).catch((err) => { 226 console.info('stop failed and catch error is ' + err.message); 227 }); 228} 229 230export function resetCallback(avRecorder) { 231 if (typeof(avRecorder) == 'undefined') { 232 return; 233 } 234 avRecorder.reset((err) => { 235 console.info('case reset called'); 236 if (err == null) { 237 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 238 console.info('reset AVRecorder success'); 239 } else { 240 console.info('reset AVRecorder failed and error is ' + err.message); 241 } 242 }) 243} 244 245export async function resetPromise(avRecorder) { 246 if (typeof(avRecorder) == 'undefined') { 247 return; 248 } 249 await avRecorder.reset().then(() => { 250 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 251 }).catch((err) => { 252 console.info('reset AVRecorder failed and catch error is ' + err.message); 253 }); 254} 255 256export function releaseCallback(avRecorder) { 257 if (typeof(avRecorder) == 'undefined') { 258 return; 259 } 260 avRecorder.release((err) => { 261 console.info('case release called'); 262 if (err == null) { 263 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 264 console.info('release AVRecorder success'); 265 } else { 266 console.info('release AVRecorder failed and error is ' + err.message); 267 } 268 }) 269} 270 271export async function releasePromise(avRecorder) { 272 if (typeof(avRecorder) == 'undefined') { 273 return; 274 } 275 await avRecorder.release().then(() => { 276 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 277 }).catch((err) => { 278 console.info('release AVRecorder failed and catch error is ' + err.message); 279 }); 280} 281 282async function releaseDone(avRecorder, done){ 283 await avRecorder.release().then(() => { 284 console.info('releaseDone avRecorder.state is ' + avRecorder.state); 285 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 286 done(); 287 }).catch((err) => { 288 console.info('release releaseDone failed and catch error is ' + err.message); 289 }); 290} 291 292export function sleep(ms) { 293 return new Promise(resolve => setTimeout(resolve, ms)); 294} 295 296export function offCallback(avRecorder, typeArr) 297{ 298 if (avRecorder == null) { 299 return; 300 } 301 for (let i = 0; i < typeArr.length; i++) { 302 switch (typeArr[i]) { 303 case 'stateChange': 304 avRecorder.off('stateChange'); 305 break; 306 case 'error': 307 avRecorder.off('error'); 308 break; 309 default: 310 break; 311 } 312 } 313} 314 315export async function setOnCallback(avConfig, avRecorder, recorderTime, done) { 316 console.info(`case setOnCallback in`); 317 avRecorder.on('stateChange', async (state, reason) => { 318 console.info('case state has changed, new state is :' + state); 319 switch (state) { 320 case AV_RECORDER_STATE.IDLE: 321 console.info(`case avRecorderWithCallBack is idle`); 322 expect(avRecorder.state).assertEqual("idle"); 323 // start->stop->release 324 prepareCallback(avRecorder, avConfig); 325 break; 326 case AV_RECORDER_STATE.PREPARED: 327 console.info(`case avRecorderWithCallBack is prepared`); 328 expect(avRecorder.state).assertEqual('prepared'); 329 startCallback(avRecorder); 330 break; 331 case AV_RECORDER_STATE.STARTED: 332 console.info(`case avRecorderWithCallBack is started`) 333 expect(avRecorder.state).assertEqual('started'); 334 await sleep(recorderTime); 335 stopCallback(avRecorder); 336 break; 337 case AV_RECORDER_STATE.PAUSED: 338 console.info(`case avRecorderWithCallBackis paused`) 339 expect(avRecorder.state).assertEqual('paused'); 340 break; 341 case AV_RECORDER_STATE.STOPPED: 342 console.info(`case avRecorderWithCallBack is stopped`) 343 expect(avRecorder.state).assertEqual('stopped'); 344 releasePromise(avRecorder) 345 break; 346 case AV_RECORDER_STATE.RELEASED: 347 console.info(`case avRecorderWithCallBack is released`); 348 expect(avRecorder.state).assertEqual('released'); 349 done(); 350 break; 351 case AV_RECORDER_STATE.ERROR: 352 console.info(`case avRecorderWithCallBack is error`) 353 expect(avRecorder.state).assertEqual('error'); 354 break; 355 default: 356 console.info('case state is unknown'); 357 } 358 }); 359 360 avRecorder.on('error', (err) => { 361 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 362 }); 363} 364 365export async function setPrepareOnCallback(avConfig, avRecorder, recorderTime, done) { 366 console.info(`case setOnCallback in`); 367 avRecorder.on('stateChange', async (state, reason) => { 368 console.info('case state has changed, new state is :' + state); 369 switch (state) { 370 case AV_RECORDER_STATE.PREPARED: 371 console.info(`case AV_RECORDER_STATE.PREPARED`); 372 expect(avRecorder.state).assertEqual('prepared'); 373 releaseCallback(avRecorder); 374 break; 375 case AV_RECORDER_STATE.RELEASED: 376 console.info(`case setPrepareOnCallback is released`); 377 expect(avRecorder.state).assertEqual('released'); 378 done(); 379 break; 380 case AV_RECORDER_STATE.ERROR: 381 console.info(`case AV_RECORDER_STATE.ERROR`) 382 expect(avRecorder.state).assertEqual('error'); 383 break; 384 default: 385 console.info('case state is unknown'); 386 } 387 }); 388} 389 390export async function avRecorderWithCallBack(avConfig, avRecorder, recorderTime, done) { 391 avRecorder = await idle(avRecorder) 392 setOnCallback(avConfig, avRecorder, recorderTime, done); 393 await avRecorder.prepare(avConfig) 394} 395 396export async function avRecorderWithCallBack2(avConfig, avRecorder, recorderTime, done) { 397 avRecorder = await idle(avRecorder); 398 console.info('case avConfig.url is ' + avConfig.url); 399 await preparePromise(avRecorder, avConfig); 400 await startPromise(avRecorder, recorderTime); 401 await pausePromise(avRecorder); 402 await stopPromise(avRecorder); 403 await avRecorder.reset().then(() => { 404 console.info('reset avRecorderWithCallBack2 success'); 405 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 406 }).catch((err) => { 407 console.info('reset avRecorderWithCallBack2 failed and catch error is ' + err.message); 408 }); 409 await releaseDone(avRecorder, done) 410} 411 412export async function avRecorderWithCallBack3(avConfig, avRecorder, recorderTime, done) { 413 avRecorder = await idle(avRecorder); 414 console.info('case avConfig.url is ' + avConfig.url); 415 await preparePromise(avRecorder, avConfig); 416 await startPromise(avRecorder, recorderTime); 417 await pausePromise(avRecorder); 418 await resumePromise(avRecorder); 419 await stopPromise(avRecorder); 420 await avRecorder.reset().then(() => { 421 console.info('reset avRecorderWithCallBack3 success'); 422 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 423 }).catch((err) => { 424 console.info('reset avRecorderWithCallBack3 failed and catch error is ' + err.message); 425 }); 426 await releaseDone(avRecorder, done) 427} 428 429export async function avRecorderWithCallBack4(avConfig, avRecorder, recorderTime, done) { 430 avRecorder = await idle(avRecorder); 431 console.info('case avConfig.url is ' + avConfig.url); 432 await preparePromise(avRecorder, avConfig); 433 await startPromise(avRecorder, recorderTime); 434 await stopPromise(avRecorder); 435 await avRecorder.reset().then(() => { 436 console.info('reset avRecorderWithCallBack4 success'); 437 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 438 }).catch((err) => { 439 console.info('reset avRecorderWithCallBack4 failed and catch error is ' + err.message); 440 }); 441 await releaseDone(avRecorder, done) 442} 443 444export async function avRecorderWithCallBack5(avConfig, avRecorder, recorderTime, done) { 445 avRecorder = await idle(avRecorder); 446 console.info('case avConfig.url is ' + avConfig.url); 447 await preparePromise(avRecorder, avConfig); 448 await startPromise(avRecorder, recorderTime); 449 await pausePromise(avRecorder); 450 await resumePromise(avRecorder); 451 await avRecorder.reset().then(() => { 452 console.info('reset avRecorderWithCallBack5 success'); 453 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 454 }).catch((err) => { 455 console.info('reset avRecorderWithCallBack5 failed and catch error is ' + err.message); 456 }); 457 await releaseDone(avRecorder, done) 458} 459 460export async function avRecorderWithCallBack6(avConfig, avRecorder, recorderTime, done) { 461 avRecorder = await idle(avRecorder); 462 console.info('case avConfig.url is ' + avConfig.url); 463 await preparePromise(avRecorder, avConfig); 464 await startPromise(avRecorder, recorderTime); 465 await pausePromise(avRecorder); 466 await startPromise(avRecorder, recorderTime); 467 await avRecorder.reset().then(() => { 468 console.info('reset avRecorderWithCallBack6 success'); 469 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 470 }).catch((err) => { 471 console.info('reset avRecorderWithCallBack6 failed and catch error is ' + err.message); 472 }); 473 await releaseDone(avRecorder, done) 474} 475 476export async function avRecorderWithCallBack7(avConfig, avRecorder, recorderTime, done) { 477 avRecorder = await idle(avRecorder); 478 console.info('case avConfig.url is ' + avConfig.url); 479 await preparePromise(avRecorder, avConfig); 480 await startPromise(avRecorder, recorderTime); 481 await pausePromise(avRecorder); 482 await resumePromise(avRecorder); 483 await pausePromise(avRecorder); 484 await avRecorder.reset().then(() => { 485 console.info('reset avRecorderWithCallBack7 success'); 486 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 487 }).catch((err) => { 488 console.info('reset avRecorderWithCallBack7 failed and catch error is ' + err.message); 489 }); 490 await releaseDone(avRecorder, done) 491} 492 493export async function avRecorderWithCallBack8(avConfig, avRecorder, recorderTime, done) { 494 avRecorder = await idle(avRecorder); 495 console.info('case avConfig.url is ' + avConfig.url); 496 await preparePromise(avRecorder, avConfig); 497 await startPromise(avRecorder, recorderTime); 498 await pausePromise(avRecorder); 499 await stopPromise(avRecorder); 500 await startPromise(avRecorder, recorderTime); 501 await pausePromise(avRecorder); 502 await avRecorder.reset().then(() => { 503 console.info('reset avRecorderWithCallBack8 success'); 504 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 505 }).catch((err) => { 506 console.info('reset avRecorderWithCallBack8 failed and catch error is ' + err.message); 507 }); 508 await releaseDone(avRecorder, done) 509} 510 511export async function avRecorderWithCallBack9(avConfig, avRecorder, recorderTime, done) { 512 avRecorder = await idle(avRecorder); 513 console.info('case avConfig.url is ' + avConfig.url); 514 await preparePromise(avRecorder, avConfig); 515 await startPromise(avRecorder, recorderTime); 516 await stopPromise(avRecorder); 517 await avRecorder.reset().then(() => { 518 console.info('reset avRecorderWithCallBack9 success'); 519 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 520 }).catch((err) => { 521 console.info('reset avRecorderWithCallBack9 failed and catch error is ' + err.message); 522 }); 523 await releaseDone(avRecorder, done) 524} 525 526export async function avRecorderWithCallBack10(avConfig, avRecorder, recorderTime, done) { 527 avRecorder = await idle(avRecorder); 528 console.info('case avConfig.url is ' + avConfig.url); 529 await preparePromise(avRecorder, avConfig); 530 await startPromise(avRecorder, recorderTime); 531 await stopPromise(avRecorder); 532 await pausePromise(avRecorder); 533 await avRecorder.reset().then(() => { 534 console.info('reset AVRecorder success'); 535 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 536 }).catch((err) => { 537 console.info('reset AVRecorder failed and catch error is ' + err.message); 538 }); 539 await releaseDone(avRecorder, done) 540} 541 542export async function avRecorderWithCallBack11(avConfig, avRecorder, recorderTime, done) { 543 avRecorder = await idle(avRecorder); 544 console.info('case avConfig.url is ' + avConfig.url); 545 await preparePromise(avRecorder, avConfig); 546 await startPromise(avRecorder, recorderTime); 547 await pausePromise(avRecorder); 548 await avRecorder.reset().then(() => { 549 console.info('avRecorderWithCallBack11 reset AVRecorder success'); 550 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 551 }).catch((err) => { 552 console.info('avRecorderWithCallBack11 reset AVRecorder failed and catch error is ' + err.message); 553 }); 554 await releaseDone(avRecorder, done) 555} 556 557export async function avRecorderWithCallBack13(avConfig, avRecorder, recorderTime, done) { 558 avRecorder = await idle(avRecorder); 559 console.info('case avConfig.url is ' + avConfig.url); 560 await preparePromise(avRecorder, avConfig); 561 await startPromise(avRecorder, recorderTime); 562 await pausePromise(avRecorder); 563 await resumePromise(avRecorder); 564 await sleep(recorderTime); 565 await stopPromise(avRecorder); 566 await avRecorder.release().then(() => { 567 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 568 console.info('release success'); 569 done(); 570 }).catch((err) => { 571 console.info('release failed and catch error is ' + err.message); 572 }); 573} 574 575export async function setPrepareOnPromise(avRecorder, avConfig, loopTimes, done) { 576 console.info(`case setOnCallback in`); 577 avRecorder.on('stateChange', async (state, reason) => { 578 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 579 switch (state) { 580 case AV_RECORDER_STATE.IDLE: 581 console.info(`case avRecorderWithPreparePromise is idled`) 582 expect(avRecorder.state).assertEqual('idle'); 583 while (loopTimes > 0) { 584 avRecorder.prepare(avConfig).then(() => { 585 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 586 loopTimes--; 587 console.info('prepare success'); 588 }).catch((err) => { 589 console.info('prepare failed and catch error is ' + err.message); 590 }); 591 } 592 case AV_RECORDER_STATE.PREPARED: 593 console.info(`case avRecorderWithPreparePromise is prepared`) 594 expect(avRecorder.state).assertEqual('prepared'); 595 if (loopTimes <= 0) { 596 releasePromise(avRecorder); 597 } 598 case AV_RECORDER_STATE.RELEASED: 599 console.info(`case setPrepareOnCallback is released`); 600 expect(avRecorder.state).assertEqual('released'); 601 offCallback(avRecorder, ['stateChange', 'error']); 602 done(); 603 break; 604 case AV_RECORDER_STATE.ERROR: 605 console.info(`case AV_RECORDER_STATE.ERROR`) 606 expect(avRecorder.state).assertEqual('error'); 607 break; 608 default: 609 console.info('case state is unknown'); 610 } 611 }); 612} 613 614export async function avRecorderWithPreparePromise(avConfig, avRecorder, loopTimes, done) { 615 avRecorder = await idle(avRecorder); 616 console.info('case avConfig.url is ' + avConfig.url); 617 await preparePromise(avRecorder, avConfig); 618 await resetPromise(avRecorder); 619 setPrepareOnPromise(avRecorder, avConfig, loopTimes, done); 620} 621 622export async function setStartOnPromise(avRecorder, loopTimes, done) { 623 console.info(`case setOnCallback in`); 624 avRecorder.on('stateChange', async (state, reason) => { 625 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 626 switch (state) { 627 case AV_RECORDER_STATE.PREPARED: 628 console.info(`case avRecorderWithStartPromise is prepared`) 629 expect(avRecorder.state).assertEqual('prepared'); 630 while (loopTimes > 0) { 631 avRecorder.start().then(() => { 632 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 633 loopTimes--; 634 console.info('start success'); 635 }).catch((err) => { 636 console.info('start failed and catch error is ' + err.message); 637 }); 638 } 639 case AV_RECORDER_STATE.STARTED: 640 console.info(`case avRecorderWithStartPromise is started`) 641 expect(avRecorder.state).assertEqual('started'); 642 if (loopTimes <= 0) { 643 releasePromise(avRecorder); 644 } 645 case AV_RECORDER_STATE.RELEASED: 646 console.info(`case setPrepareOnCallback is released`); 647 expect(avRecorder.state).assertEqual('released'); 648 offCallback(avRecorder, ['stateChange', 'error']); 649 done(); 650 break; 651 case AV_RECORDER_STATE.ERROR: 652 console.info(`case AV_RECORDER_STATE.ERROR`) 653 expect(avRecorder.state).assertEqual('error'); 654 break; 655 default: 656 console.info('case state is unknown'); 657 } 658 }); 659} 660 661export async function avRecorderWithStartPromise(avConfig, avRecorder, loopTimes, done) { 662 avRecorder = await idle(avRecorder); 663 console.info('case avConfig.url is ' + avConfig.url); 664 await preparePromise(avRecorder, avConfig); 665 setStartOnPromise(avRecorder, loopTimes, done); 666} 667 668export async function setPauseOnPromise(avRecorder, loopTimes, done) { 669 console.info(`case setOnCallback in`); 670 avRecorder.on('stateChange', async (state, reason) => { 671 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 672 switch (state) { 673 case AV_RECORDER_STATE.STARTED: 674 console.info(`case avRecorderWithPausePromise is started`) 675 expect(avRecorder.state).assertEqual('started'); 676 while (loopTimes > 0) { 677 avRecorder.pause().then(() => { 678 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 679 loopTimes--; 680 console.info('pause success'); 681 }).catch((err) => { 682 console.info('pause failed and catch error is ' + err.message); 683 }); 684 } 685 case AV_RECORDER_STATE.PAUSED: 686 console.info(`case avRecorderWithPausePromise is paused`) 687 expect(avRecorder.state).assertEqual('paused'); 688 if (loopTimes <= 0) { 689 releasePromise(avRecorder); 690 } 691 case AV_RECORDER_STATE.RELEASED: 692 console.info(`case setPrepareOnCallback is released`); 693 expect(avRecorder.state).assertEqual('released'); 694 offCallback(avRecorder, ['stateChange', 'error']); 695 done(); 696 break; 697 case AV_RECORDER_STATE.ERROR: 698 console.info(`case AV_RECORDER_STATE.ERROR`) 699 expect(avRecorder.state).assertEqual('error'); 700 break; 701 default: 702 console.info('case state is unknown'); 703 } 704 }); 705} 706 707export async function avRecorderWithPausePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 708 avRecorder = await idle(avRecorder); 709 console.info('case avConfig.url is ' + avConfig.url); 710 await preparePromise(avRecorder, avConfig); 711 await startPromise(avRecorder, recorderTime); 712 setPauseOnPromise(avRecorder, loopTimes, done); 713} 714 715export async function setResumeOnPromise(avRecorder, loopTimes, done) { 716 console.info(`case setOnCallback in`); 717 avRecorder.on('stateChange', async (state, reason) => { 718 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 719 switch (state) { 720 case AV_RECORDER_STATE.PAUSED: 721 console.info(`case avRecorderWithResumePromise is paused`) 722 expect(avRecorder.state).assertEqual('paused'); 723 while (loopTimes > 0) { 724 avRecorder.resume().then(() => { 725 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 726 loopTimes--; 727 console.info('resume success'); 728 }).catch((err) => { 729 console.info('resume failed and catch error is ' + err.message); 730 }); 731 } 732 733 case AV_RECORDER_STATE.STARTED: 734 console.info(`case avRecorderWithResumePromise is resumed`) 735 expect(avRecorder.state).assertEqual('started'); 736 if (loopTimes <= 0) { 737 releasePromise(avRecorder); 738 } 739 case AV_RECORDER_STATE.RELEASED: 740 console.info(`case setPrepareOnCallback is released`); 741 expect(avRecorder.state).assertEqual('released'); 742 offCallback(avRecorder, ['stateChange', 'error']); 743 done(); 744 break; 745 case AV_RECORDER_STATE.ERROR: 746 console.info(`case AV_RECORDER_STATE.ERROR`) 747 expect(avRecorder.state).assertEqual('error'); 748 break; 749 default: 750 console.info('case state is unknown'); 751 } 752 }); 753} 754 755export async function avRecorderWithResumePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 756 avRecorder = await idle(avRecorder); 757 console.info('case avConfig.url is ' + avConfig.url); 758 await preparePromise(avRecorder, avConfig); 759 await startPromise(avRecorder, recorderTime); 760 await pausePromise(avRecorder); 761 setResumeOnPromise(avRecorder, loopTimes, done); 762} 763 764export async function setStopOnPromise(avRecorder, loopTimes, done) { 765 console.info(`case setOnCallback in`); 766 avRecorder.on('stateChange', async (state, reason) => { 767 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 768 switch (state) { 769 case AV_RECORDER_STATE.STARTED: 770 console.info(`case avRecorderWithStopPromise is started`) 771 expect(avRecorder.state).assertEqual('started'); 772 while (loopTimes > 0) { 773 avRecorder.stop().then(() => { 774 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 775 loopTimes--; 776 console.info('stop success'); 777 }).catch((err) => { 778 console.info('stop failed and catch error is ' + err.message); 779 }); 780 } 781 case AV_RECORDER_STATE.STOPPED: 782 console.info(`case avRecorderWithStopPromise is stopped`) 783 expect(avRecorder.state).assertEqual('stopped'); 784 if (loopTimes <= 0) { 785 releasePromise(avRecorder); 786 } 787 case AV_RECORDER_STATE.RELEASED: 788 console.info(`case setPrepareOnCallback is released`); 789 expect(avRecorder.state).assertEqual('released'); 790 offCallback(avRecorder, ['stateChange', 'error']); 791 done(); 792 break; 793 case AV_RECORDER_STATE.ERROR: 794 console.info(`case AV_RECORDER_STATE.ERROR`) 795 expect(avRecorder.state).assertEqual('error'); 796 break; 797 default: 798 console.info('case state is unknown'); 799 } 800 }); 801} 802 803export async function avRecorderWithStopPromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 804 avRecorder = await idle(avRecorder); 805 console.info('case avConfig.url is ' + avConfig.url); 806 await preparePromise(avRecorder, avConfig); 807 await startPromise(avRecorder, recorderTime); 808 setStopOnPromise(avRecorder, loopTimes, done); 809} 810 811export async function setResetOnPromise(avRecorder, loopTimes, done) { 812 console.info(`case setOnCallback in`); 813 avRecorder.on('stateChange', async (state, reason) => { 814 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 815 switch (state) { 816 case AV_RECORDER_STATE.STARTED: 817 console.info(`case avRecorderWithResetPromise is started`) 818 expect(avRecorder.state).assertEqual('started'); 819 while (loopTimes > 0) { 820 avRecorder.reset().then(() => { 821 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 822 loopTimes--; 823 console.info('reset success'); 824 }).catch((err) => { 825 console.info('reset failed and catch error is ' + err.message); 826 }); 827 } 828 case AV_RECORDER_STATE.IDLE: 829 console.info(`case avRecorderWithResetPromise is reseted`) 830 expect(avRecorder.state).assertEqual('idle'); 831 if (loopTimes <= 0) { 832 releasePromise(avRecorder); 833 } 834 case AV_RECORDER_STATE.RELEASED: 835 console.info(`case setPrepareOnCallback is released`); 836 expect(avRecorder.state).assertEqual('released'); 837 offCallback(avRecorder, ['stateChange', 'error']); 838 done(); 839 break; 840 case AV_RECORDER_STATE.ERROR: 841 console.info(`case AV_RECORDER_STATE.ERROR`) 842 expect(avRecorder.state).assertEqual('error'); 843 break; 844 default: 845 console.info('case state is unknown'); 846 } 847 }); 848} 849 850export async function avRecorderWithResetPromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 851 avRecorder = await idle(avRecorder); 852 console.info('case avConfig.url is ' + avConfig.url); 853 await preparePromise(avRecorder, avConfig); 854 await startPromise(avRecorder, recorderTime); 855 setResetOnPromise(avRecorder, loopTimes, done); 856} 857 858export async function setReleaseOnPromise(avRecorder, loopTimes, done) { 859 console.info(`case setOnCallback in`); 860 avRecorder.on('stateChange', async (state, reason) => { 861 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 862 switch (state) { 863 case AV_RECORDER_STATE.STARTED: 864 console.info(`case avRecorderWithReleasePromise is started`) 865 expect(avRecorder.state).assertEqual('started'); 866 while (loopTimes > 0) { 867 avRecorder.release().then(() => { 868 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 869 loopTimes--; 870 console.info('release success'); 871 }).catch((err) => { 872 console.info('release failed and catch error is ' + err.message); 873 }); 874 } 875 case AV_RECORDER_STATE.RELEASED: 876 console.info(`case avRecorderWithReleasePromise is released`) 877 expect(avRecorder.state).assertEqual('released'); 878 if (loopTimes <= 0) { 879 offCallback(avRecorder, ['stateChange', 'error']); 880 done(); 881 } 882 case AV_RECORDER_STATE.ERROR: 883 console.info(`case AV_RECORDER_STATE.ERROR`) 884 expect(avRecorder.state).assertEqual('error'); 885 break; 886 default: 887 console.info('case state is unknown'); 888 } 889 }); 890} 891 892export async function avRecorderWithReleasePromise(avConfig, avRecorder, recorderTime, loopTimes, done) { 893 avRecorder = await idle(avRecorder); 894 console.info('case avConfig.url is ' + avConfig.url); 895 await preparePromise(avRecorder, avConfig); 896 await startPromise(avRecorder, recorderTime); 897 setReleaseOnPromise(avRecorder, loopTimes, done); 898} 899 900export async function avRecorderWithPrepareCallback(avConfig, avRecorder, loopTimes, done) { 901 avRecorder = await idle(avRecorder); 902 console.info('case avConfig.url is ' + avConfig.url); 903 while (loopTimes > 0) { 904 prepareCallback(avRecorder, avConfig); 905 loopTimes--; 906 } 907 await avRecorder.release().then(() => { 908 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 909 done(); 910 }).catch((err) => { 911 console.info('release AVRecorder failed and catch error is ' + err.message); 912 }); 913} 914 915export async function avRecorderWithStartCallback(avConfig, avRecorder, loopTimes, done) { 916 avRecorder = await idle(avRecorder); 917 console.info('case avConfig.url is ' + avConfig.url); 918 await preparePromise(avRecorder, avConfig); 919 while (loopTimes > 0) { 920 avRecorder.start((err) => { 921 console.info('case start called'); 922 if (err == null) { 923 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 924 console.info('start AVRecorder success'); 925 } else { 926 console.info('start AVRecorder failed and error is ' + err.message); 927 } 928 }) 929 loopTimes--; 930 } 931 await avRecorder.release().then(() => { 932 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 933 done(); 934 }).catch((err) => { 935 console.info('release AVRecorder failed and catch error is ' + err.message); 936 }); 937} 938 939export async function avRecorderWithPauseCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 940 avRecorder = await idle(avRecorder); 941 console.info('case avConfig.url is ' + avConfig.url); 942 await preparePromise(avRecorder, avConfig); 943 await startPromise(avRecorder, recorderTime); 944 while (loopTimes > 0) { 945 pauseCallback(avRecorder, avConfig); 946 loopTimes--; 947 } 948 await avRecorder.release().then(() => { 949 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 950 done(); 951 }).catch((err) => { 952 console.info('release AVRecorder failed and catch error is ' + err.message); 953 }); 954} 955 956export async function avRecorderWithResumeCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 957 avRecorder = await idle(avRecorder); 958 console.info('case avConfig.url is ' + avConfig.url); 959 await preparePromise(avRecorder, avConfig); 960 await startPromise(avRecorder, recorderTime); 961 await pausePromise(avRecorder); 962 while (loopTimes > 0) { 963 resumeCallback(avRecorder, avConfig); 964 loopTimes--; 965 } 966 await avRecorder.release().then(() => { 967 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 968 done(); 969 }).catch((err) => { 970 console.info('release AVRecorder failed and catch error is ' + err.message); 971 }); 972} 973 974export async function avRecorderWithStopCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 975 avRecorder = await idle(avRecorder); 976 console.info('case avConfig.url is ' + avConfig.url); 977 await preparePromise(avRecorder, avConfig); 978 await startPromise(avRecorder, recorderTime); 979 while (loopTimes > 0) { 980 stopCallback(avRecorder, avConfig); 981 loopTimes--; 982 } 983 await avRecorder.release().then(() => { 984 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 985 done(); 986 }).catch((err) => { 987 console.info('release AVRecorder failed and catch error is ' + err.message); 988 }); 989} 990 991export async function avRecorderWithResetCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 992 avRecorder = await idle(avRecorder); 993 console.info('case avConfig.url is ' + avConfig.url); 994 await preparePromise(avRecorder, avConfig); 995 await startPromise(avRecorder, recorderTime); 996 while (loopTimes > 0) { 997 resetCallback(avRecorder, avConfig); 998 loopTimes--; 999 } 1000 await avRecorder.release().then(() => { 1001 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1002 done(); 1003 }).catch((err) => { 1004 console.info('release AVRecorder failed and catch error is ' + err.message); 1005 }); 1006} 1007 1008export async function avRecorderWithReleaseCallback(avConfig, avRecorder, recorderTime, loopTimes, done) { 1009 avRecorder = await idle(avRecorder); 1010 console.info('case avConfig.url is ' + avConfig.url); 1011 await preparePromise(avRecorder, avConfig); 1012 await startPromise(avRecorder, recorderTime); 1013 while (loopTimes > 0) { 1014 releaseCallback(avRecorder, avConfig); 1015 loopTimes--; 1016 } 1017 done(); 1018} 1019 1020export async function avRecorderWithLongRun(avConfig, avRecorder, recorderTime, done) { 1021 avRecorder = await idle(avRecorder); 1022 console.info('case avConfig.url is ' + avConfig.url); 1023 await preparePromise(avRecorder, avConfig); 1024 await startPromise(avRecorder, recorderTime); 1025 await stopPromise(avRecorder); 1026 await avRecorder.release().then(() => { 1027 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1028 done(); 1029 }).catch((err) => { 1030 console.info('release AVRecorder failed and catch error is ' + err.message); 1031 }); 1032} 1033 1034export async function avRecorderLoopPrepare2Reset(avConfig, avRecorder, loopTimes, done) { 1035 avRecorder = await idle(avRecorder); 1036 console.info('case avConfig.url is ' + avConfig.url); 1037 while (loopTimes > 0) { 1038 prepareCallback(avRecorder, avConfig); 1039 startCallback(avRecorder); 1040 resetCallback(avRecorder); 1041 loopTimes--; 1042 } 1043 await avRecorder.release().then(() => { 1044 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1045 done(); 1046 }).catch((err) => { 1047 console.info('release AVRecorder failed and catch error is ' + err.message); 1048 }); 1049} 1050 1051export async function avRecorderLoopCreate2Release(avConfig, avRecorder, loopTimes, done) { 1052 while (loopTimes > 0) { 1053 avRecorder = await idle(avRecorder); 1054 console.info('case avConfig.url is ' + avConfig.url); 1055 prepareCallback(avRecorder, avConfig); 1056 startCallback(avRecorder); 1057 resetCallback(avRecorder); 1058 releaseCallback(avRecorder); 1059 loopTimes--; 1060 } 1061 done(); 1062} 1063 1064export async function avRecorderLoopPrepare2Stop(avConfig, avRecorder, loopTimes, done) { 1065 avRecorder = await idle(avRecorder); 1066 console.info('case avConfig.url is ' + avConfig.url); 1067 while (loopTimes > 0) { 1068 prepareCallback(avRecorder, avConfig); 1069 startCallback(avRecorder); 1070 stopCallback(avRecorder); 1071 loopTimes--; 1072 } 1073 await avRecorder.release().then(() => { 1074 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1075 done(); 1076 }).catch((err) => { 1077 console.info('release AVRecorder failed and catch error is ' + err.message); 1078 }); 1079} 1080 1081export async function avRecorderLoopPause2Resume(avConfig, avRecorder, loopTimes, done) { 1082 avRecorder = await idle(avRecorder); 1083 console.info('case avConfig.url is ' + avConfig.url); 1084 await preparePromise(avRecorder, avConfig); 1085 await startPromise(avRecorder); 1086 while (loopTimes > 0) { 1087 pauseCallback(avRecorder); 1088 resumeCallback(avRecorder); 1089 loopTimes--; 1090 } 1091 await avRecorder.release().then(() => { 1092 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1093 done(); 1094 }).catch((err) => { 1095 console.info('release AVRecorder failed and catch error is ' + err.message); 1096 }); 1097} 1098 1099export async function avRecorderLoopCreate2Release2(avConfig, avRecorder, loopTimes, done) { 1100 while (loopTimes > 0) { 1101 avRecorder = await idle(avRecorder); 1102 console.info('case avConfig.url is ' + avConfig.url); 1103 releaseCallback(avRecorder); 1104 loopTimes--; 1105 } 1106 done(); 1107} 1108 1109export async function setPrepare2ResetOnCallback(avConfig, avRecorder, done) { 1110 console.info(`case setOnCallback in`); 1111 let count = 0; 1112 avRecorder.on('stateChange', async (state, reason) => { 1113 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 1114 switch (state) { 1115 case AV_RECORDER_STATE.IDLE: 1116 console.info(`case AV_RECORDER_STATE.IDLE`); 1117 expect(avRecorder.state).assertEqual('idle'); 1118 count++; 1119 if (count == 1001) { 1120 releasePromise(avRecorder); 1121 } else { 1122 avRecorder.prepare(avConfig).then(() => { 1123 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 1124 console.info(`case avRecorderLoopPrepare2ResetWithCallback is prepared`); 1125 avRecorder.start().then(() => { 1126 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 1127 console.info(`case avRecorderLoopPrepare2ResetWithCallback is started`); 1128 avRecorder.reset().then(() => { 1129 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 1130 console.info(`case avRecorderLoopPrepare2ResetWithCallback is reset`); 1131 }).catch((err1) => { 1132 console.info('reset failed and catch error is ' + err1.message); 1133 }); 1134 }).catch((err2) => { 1135 console.info('start failed and catch error is ' + err2.message); 1136 }); 1137 }).catch((err3) => { 1138 console.info('prepare failed and catch error is ' + err3.message); 1139 }); 1140 } 1141 case AV_RECORDER_STATE.RELEASED: 1142 console.info(`case AV_RECORDER_STATE.RELEASED`) 1143 expect(avRecorder.state).assertEqual('released'); 1144 offCallback(avRecorder, ['stateChange', 'error']); 1145 done(); 1146 break; 1147 case AV_RECORDER_STATE.ERROR: 1148 console.info(`case AV_RECORDER_STATE.ERROR`) 1149 expect(avRecorder.state).assertEqual('error'); 1150 break; 1151 default: 1152 console.info('case state is unknown'); 1153 } 1154 }); 1155} 1156 1157export async function avRecorderLoopPrepare2ResetWithCallback(avConfig, avRecorder, done) { 1158 avRecorder = await idle(avRecorder); 1159 await preparePromise(avRecorder, avConfig); 1160 await resetPromise(avRecorder); 1161 setPrepare2ResetOnCallback(avConfig, avRecorder, done); 1162} 1163 1164export async function setCreate2ReleaseOnCallback(avRecorder, avConfig, loopTimes, done) { 1165 console.info(`case setOnCallback in`); 1166 avRecorder.on('stateChange', async (state, reason) => { 1167 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 1168 switch (state) { 1169 case AV_RECORDER_STATE.IDLE: 1170 console.info(`case AV_RECORDER_STATE.IDLE`); 1171 expect(avRecorder.state).assertEqual('idle'); 1172 await releasePromise(avRecorder); 1173 case AV_RECORDER_STATE.PREPARED: 1174 console.info(`case AV_RECORDER_STATE.PREPARED`); 1175 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 1176 await startPromise(avRecorder); 1177 break; 1178 case AV_RECORDER_STATE.STARTED: 1179 console.info(`case AV_RECORDER_STATE.STARTED`) 1180 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 1181 await resetPromise(avRecorder); 1182 break; 1183 case AV_RECORDER_STATE.RELEASED: 1184 console.info(`case AV_RECORDER_STATE.RELEASED`); 1185 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1186 loopTimes--; 1187 if (loopTimes <= 0) { 1188 done(); 1189 } else { 1190 avRecorderLoopCreate2ReleaseWithCallback(avRecorder, avConfig, loopTimes, done); 1191 } 1192 break; 1193 case AV_RECORDER_STATE.ERROR: 1194 console.info(`case AV_RECORDER_STATE.ERROR`) 1195 expect(avRecorder.state).assertEqual('error'); 1196 break; 1197 default: 1198 console.info('case state is unknown'); 1199 } 1200 }); 1201} 1202 1203export async function avRecorderLoopCreate2ReleaseWithCallback(avRecorder, avConfig, loopTimes, done) { 1204 avRecorder = await idle(avRecorder); 1205 await preparePromise(avRecorder, avConfig); 1206 setCreate2ReleaseOnCallback(avRecorder, loopTimes, done) 1207} 1208 1209export async function setPrepare2StopOnCallback(avRecorder, done) { 1210 console.info(`case setOnCallback in`); 1211 let count = 0; 1212 avRecorder.on('stateChange', async (state, reason) => { 1213 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 1214 switch (state) { 1215 case AV_RECORDER_STATE.PREPARED: 1216 console.info(`case AV_RECORDER_STATE.PREPARED`); 1217 expect(avRecorder.state).assertEqual('prepared'); 1218 while (count < 1001) { 1219 avRecorder.start().then(() => { 1220 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 1221 console.info(`case avRecorderLoopPrepare2StopWithCallback is started`); 1222 avRecorder.stop().then(() => { 1223 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STOPPED); 1224 console.info(`case avRecorderLoopPrepare2StopWithCallback is stopped`); 1225 count++; 1226 }).catch((err1) => { 1227 console.info('stop failed and catch error is ' + err1.message); 1228 }); 1229 }).catch((err2) => { 1230 console.info('start failed and catch error is ' + err2.message); 1231 }); 1232 } 1233 offCallback(avRecorder, ['stateChange', 'error']); 1234 done(); 1235 case AV_RECORDER_STATE.STOPPED: 1236 console.info(`case AV_RECORDER_STATE.STOPPED`) 1237 expect(avRecorder.state).assertEqual('stopped'); 1238 if (count == 1001) { 1239 await releasePromise(avRecorder); 1240 } 1241 break; 1242 case AV_RECORDER_STATE.RELEASED: 1243 console.info(`case AV_RECORDER_STATE.RELEASED`) 1244 expect(avRecorder.state).assertEqual('released'); 1245 done(); 1246 break; 1247 case AV_RECORDER_STATE.ERROR: 1248 console.info(`case AV_RECORDER_STATE.ERROR`) 1249 expect(avRecorder.state).assertEqual('error'); 1250 break; 1251 default: 1252 console.info('case state is unknown'); 1253 } 1254 }); 1255} 1256 1257export async function avRecorderLoopPrepare2StopWithCallback(avConfig, avRecorder, done) { 1258 avRecorder = await idle(avRecorder); 1259 console.info('case avConfig.url is ' + avConfig.url); 1260 await preparePromise(avRecorder, avConfig); 1261 setPrepare2StopOnCallback(avRecorder, done) 1262} 1263 1264export async function setPause2ResumeOnCallback(avRecorder, done) { 1265 console.info(`case setOnCallback in`); 1266 let count = 0; 1267 avRecorder.on('stateChange', async (state, reason) => { 1268 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 1269 switch (state) { 1270 case AV_RECORDER_STATE.STARTED: 1271 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.STARTED); 1272 console.info(`case avRecorderLoopPause2ResumeWithCallback is started`); 1273 count++; 1274 if (count == 1001) { 1275 offCallback(avRecorder, ['stateChange', 'error']); 1276 done(); 1277 } else { 1278 avRecorder.pause().then(() => { 1279 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PAUSED); 1280 console.info(`case avRecorderLoopPause2ResumeWithCallback is paused`); 1281 avRecorder.reset().then(() => { 1282 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.IDLE); 1283 console.info(`case avRecorderLoopPause2ResumeWithCallback is resumed`); 1284 }).catch((err1) => { 1285 console.info('reset failed and catch error is ' + err1.message); 1286 }); 1287 }).catch((err2) => { 1288 console.info('pause failed and catch error is ' + err2.message); 1289 }); 1290 } 1291 case AV_RECORDER_STATE.IDLE: 1292 console.info(`case AV_RECORDER_STATE.IDLE`) 1293 expect(avRecorder.state).assertEqual('idle'); 1294 if (count == 1001) { 1295 await releasePromise(avRecorder); 1296 } 1297 break; 1298 case AV_RECORDER_STATE.RELEASED: 1299 console.info(`case AV_RECORDER_STATE.RELEASED`) 1300 expect(avRecorder.state).assertEqual('released'); 1301 done(); 1302 break; 1303 case AV_RECORDER_STATE.ERROR: 1304 console.info(`case AV_RECORDER_STATE.ERROR`) 1305 expect(avRecorder.state).assertEqual('error'); 1306 break; 1307 default: 1308 console.info('case state is unknown'); 1309 } 1310 }); 1311} 1312 1313export async function avRecorderLoopPause2ResumeWithCallback(avConfig, avRecorder, done) { 1314 avRecorder = await idle(avRecorder); 1315 console.info('case avConfig.url is ' + avConfig.url); 1316 await preparePromise(avRecorder, avConfig); 1317 await startPromise(avRecorder); 1318 setPause2ResumeOnCallback(avRecorder, done); 1319} 1320 1321export async function setCreate2Release2OnCallback(avRecorder, loopTimes, done) { 1322 console.info(`case setOnCallback in`); 1323 avRecorder.on('stateChange', async (state, reason) => { 1324 console.info('case state has changed, new state is :' + state + ',and new reason is : ' + reason); 1325 switch (state) { 1326 case AV_RECORDER_STATE.IDLE: 1327 console.info(`case AV_RECORDER_STATE.IDLE`); 1328 expect(avRecorder.state).assertEqual('idle'); 1329 case AV_RECORDER_STATE.RELEASED: 1330 console.info(`case AV_RECORDER_STATE.RELEASED`); 1331 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 1332 loopTimes--; 1333 if (loopTimes <= 0) { 1334 done(); 1335 } else { 1336 avRecorderLoopCreate2Release2WithCallback(avRecorder, loopTimes, done); 1337 } 1338 break; 1339 case AV_RECORDER_STATE.ERROR: 1340 console.info(`case AV_RECORDER_STATE.ERROR`) 1341 expect(avRecorder.state).assertEqual('error'); 1342 break; 1343 default: 1344 console.info('case state is unknown'); 1345 } 1346 }); 1347} 1348 1349export async function avRecorderLoopCreate2Release2WithCallback(avRecorder, loopTimes, done) { 1350 avRecorder = await idle(avRecorder); 1351 await releasePromise(avRecorder); 1352 setCreate2Release2OnCallback(avRecorder, done); 1353} 1354 1355export async function avRecorderReliabilitTest01(avConfig, avRecorder, recorderTime, done) { 1356 let result = true; 1357 avRecorder = await idle(avRecorder); 1358 await avRecorder.pause((err) => { 1359 if (err == null) { 1360 console.info('pause avRecorderReliabilitTest01 success'); 1361 } else { 1362 result = false 1363 expect(result).assertEqual(false); 1364 console.info('pause avRecorderReliabilitTest01 failed and error is ' + err.message); 1365 1366 } 1367 }); 1368 console.info('pause avRecorderReliabilitTest01 001'); 1369 await releaseDone(avRecorder, done) 1370} 1371 1372export async function avRecorderReliabilitTest02(avConfig, avRecorder, recorderTime, done) { 1373 avRecorder = await idle(avRecorder); 1374 await preparePromise(avRecorder, avConfig) 1375 await releaseDone(avRecorder, done) 1376} 1377 1378export async function avRecorderReliabilitTest03(avConfig, avRecorder, recorderTime, done) { 1379 avRecorder = await idle(avRecorder); 1380 setPrepareOnCallback(avConfig, avRecorder, recorderTime, done) 1381 await avRecorder.prepare(avConfig) 1382} 1383 1384export async function avRecorderReliabilitTest001(avConfig, avRecorder, recorderTime, done) { 1385 idleCallback(avRecorder, avConfig, done) 1386} 1387 1388export async function avRecorderReliabilitTest04(avConfig, avRecorder, recorderTime, done) { 1389 let result = true; 1390 avRecorder = await idle(avRecorder); 1391 await avRecorder.resume().then(() => { 1392 console.info('resume avRecorderReliabilitTest04 success'); 1393 }).catch((err) => { 1394 console.info('resume avRecorderReliabilitTest04 failed and catch error is ' + err.message); 1395 result = false 1396 }); 1397 expect(result).assertEqual(false); 1398 await preparePromise(avRecorder, avConfig) 1399 await releaseDone(avRecorder, done) 1400} 1401 1402export async function avRecorderReliabilitTest05(avConfig, avRecorder, recorderTime, done) { 1403 avRecorder = await idle(avRecorder); 1404 await prepareCallback(avRecorder, avConfig) 1405 await releaseDone(avRecorder, done) 1406} 1407 1408export async function avRecorderReliabilitTest06(avConfig, avRecorder, recorderTime, done) { 1409 avRecorder = await idle(avRecorder); 1410 await preparePromise(avRecorder, avConfig) 1411 await startPromise(avRecorder) 1412 await pausePromise(avRecorder) 1413 await startPromise(avRecorder) 1414 await releaseDone(avRecorder, done) 1415} 1416 1417export async function avRecorderReliabilitTest07(avConfig, avRecorder, recorderTime, done) { 1418 avRecorder = await idle(avRecorder); 1419 await preparePromise(avRecorder, avConfig) 1420 await startPromise(avRecorder) 1421 await resumePromise(avRecorder) 1422 await startPromise(avRecorder) 1423 await releaseDone(avRecorder, done) 1424} 1425 1426export async function avRecorderReliabilitTest08(avConfig, avRecorder, recorderTime, done) { 1427 let result = true; 1428 avRecorder = await idle(avRecorder); 1429 await avRecorder.pause().then(() => { 1430 console.info('pause avRecorderReliabilitTest08 success'); 1431 }).catch((err) => { 1432 console.info('pause avRecorderReliabilitTest08 failed and catch error is ' + err.message); 1433 result = false 1434 }); 1435 expect(result).assertEqual(false); 1436 await releaseDone(avRecorder, done) 1437} 1438 1439export async function avRecorderReliabilitTest09(avConfig, avRecorder, recorderTime, done) { 1440 let result = true; 1441 avRecorder = await idle(avRecorder); 1442 await preparePromise(avRecorder, avConfig) 1443 await avRecorder.pause().then(() => { 1444 console.info('pause avRecorderReliabilitTest09 success'); 1445 }).catch((err) => { 1446 console.info('pause avRecorderReliabilitTest09 failed and catch error is ' + err.message); 1447 result = false 1448 }); 1449 expect(result).assertEqual(false); 1450 await releaseDone(avRecorder, done) 1451} 1452 1453export async function avRecorderReliabilitTest10(avConfig, avRecorder, recorderTime, done) { 1454 avRecorder = await idle(avRecorder); 1455 await preparePromise(avRecorder, avConfig) 1456 await startPromise(avRecorder) 1457 await pausePromise(avRecorder) 1458 await releaseDone(avRecorder, done) 1459} 1460 1461export async function avRecorderReliabilitTest11(avConfig, avRecorder, recorderTime, done) { 1462 avRecorder = await idle(avRecorder); 1463 await preparePromise(avRecorder, avConfig) 1464 await startPromise(avRecorder) 1465 await resumePromise(avRecorder) 1466 await pausePromise(avRecorder) 1467 await releaseDone(avRecorder, done) 1468} 1469 1470export async function avRecorderReliabilitTest12(avConfig, avRecorder, recorderTime, done) { 1471 let result = true; 1472 avRecorder = await idle(avRecorder); 1473 await preparePromise(avRecorder, avConfig) 1474 await startPromise(avRecorder) 1475 await stopPromise(avRecorder) 1476 await avRecorder.pause().then(() => { 1477 console.info('pause avRecorderReliabilitTest12 success'); 1478 }).catch((err) => { 1479 console.info('pause avRecorderReliabilitTest12 failed and catch error is ' + err.message); 1480 result = false 1481 }); 1482 expect(result).assertEqual(false); 1483 await releaseDone(avRecorder, done) 1484} 1485 1486export async function avRecorderReliabilitTest13(avConfig, avRecorder, recorderTime, done) { 1487 let result = true; 1488 avRecorder = await idle(avRecorder); 1489 await preparePromise(avRecorder, avConfig) 1490 await startPromise(avRecorder) 1491 await stopPromise(avRecorder) 1492 await resetPromise(avRecorder) 1493 await avRecorder.pause().then(() => { 1494 console.info('pause avRecorderReliabilitTest13 success'); 1495 }).catch((err) => { 1496 console.info('pause avRecorderReliabilitTest13 failed and catch error is ' + err.message); 1497 result = false 1498 }); 1499 expect(result).assertEqual(false); 1500 await releaseDone(avRecorder, done) 1501} 1502 1503export async function avRecorderReliabilitTest14(avConfig, avRecorder, recorderTime, done) { 1504 let result1 = true; 1505 let result2 = true; 1506 let result3 = true; 1507 let result4 = true; 1508 let result5 = true; 1509 1510 avRecorder = await idle(avRecorder); 1511 await avRecorder.pause().then(() => { 1512 console.info('pause avRecorderReliabilitTest14 success'); 1513 }).catch((err) => { 1514 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1515 result1 = false 1516 }); 1517 expect(result1).assertEqual(false); 1518 1519 await preparePromise(avRecorder, avConfig) 1520 await avRecorder.pause().then(() => { 1521 console.info('pause avRecorderReliabilitTest14 success'); 1522 }).catch((err) => { 1523 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1524 result2 = false 1525 }); 1526 expect(result2).assertEqual(false); 1527 1528 await startPromise(avRecorder) 1529 await avRecorder.pause().then(() => { 1530 console.info('pause avRecorderReliabilitTest14 success'); 1531 }).catch((err) => { 1532 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1533 result3 = false 1534 }); 1535 expect(result3).assertEqual(true); 1536 1537 await stopPromise(avRecorder) 1538 await avRecorder.pause().then(() => { 1539 console.info('pause avRecorderReliabilitTest14 success'); 1540 }).catch((err) => { 1541 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1542 result4 = false 1543 }); 1544 expect(result4).assertEqual(false); 1545 1546 await resetPromise(avRecorder) 1547 await avRecorder.pause().then(() => { 1548 console.info('pause avRecorderReliabilitTest14 success'); 1549 }).catch((err) => { 1550 console.info('pause avRecorderReliabilitTest14 failed and catch error is ' + err.message); 1551 result5 = false 1552 }); 1553 expect(result5).assertEqual(false); 1554 1555 await releaseDone(avRecorder, done) 1556} 1557 1558export async function avRecorderReliabilitTest15(avConfig, avRecorder, recorderTime, done) { 1559 let result1 = true; 1560 let result2 = true; 1561 let result3 = true; 1562 1563 avRecorder = await idle(avRecorder); 1564 await preparePromise(avRecorder, avConfig) 1565 await startPromise(avRecorder) 1566 await avRecorder.pause().then(() => { 1567 console.info('pause avRecorderReliabilitTest15 success'); 1568 }).catch((err) => { 1569 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1570 result1 = false 1571 }); 1572 expect(result1).assertEqual(true); 1573 1574 await avRecorder.pause().then(() => { 1575 console.info('pause avRecorderReliabilitTest15 success'); 1576 }).catch((err) => { 1577 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1578 result2 = false 1579 }); 1580 expect(result2).assertEqual(true); 1581 1582 await avRecorder.pause().then(() => { 1583 console.info('pause avRecorderReliabilitTest15 success'); 1584 }).catch((err) => { 1585 console.info('pause avRecorderReliabilitTest15 failed and catch error is ' + err.message); 1586 result3 = false 1587 }); 1588 expect(result3).assertEqual(true); 1589 1590 await releaseDone(avRecorder, done) 1591} 1592 1593export async function avRecorderReliabilitTest16(avConfig, avRecorder, recorderTime, done) { 1594 let result = true; 1595 avRecorder = await idle(avRecorder); 1596 await avRecorder.resume().then(() => { 1597 console.info('resume AVRecorder success'); 1598 }).catch((err) => { 1599 console.info('resume AVRecorder failed and catch error is ' + err.message); 1600 result = false 1601 }); 1602 expect(result).assertEqual(false); 1603 await releaseDone(avRecorder, done) 1604} 1605 1606export async function avRecorderReliabilitTest17(avConfig, avRecorder, recorderTime, done) { 1607 let result = true; 1608 avRecorder = await idle(avRecorder); 1609 await preparePromise(avRecorder, avConfig) 1610 await avRecorder.resume().then(() => { 1611 console.info('resume AVRecorder success'); 1612 }).catch((err) => { 1613 console.info('resume AVRecorder failed and catch error is ' + err.message); 1614 result = false 1615 }); 1616 expect(result).assertEqual(false); 1617 await releaseDone(avRecorder, done) 1618} 1619 1620export async function avRecorderReliabilitTest18(avConfig, avRecorder, recorderTime, done) { 1621 let result = true; 1622 avRecorder = await idle(avRecorder); 1623 await preparePromise(avRecorder, avConfig) 1624 await startPromise(avRecorder) 1625 await avRecorder.resume().then(() => { 1626 console.info('avRecorderReliabilitTest18 resume AVRecorder success'); 1627 }).catch((err) => { 1628 console.info('avRecorderReliabilitTest18 resume AVRecorder failed and catch error is ' + err.message); 1629 result = false 1630 }); 1631 expect(result).assertEqual(true); 1632 await releaseDone(avRecorder, done) 1633} 1634 1635export async function avRecorderReliabilitTest19(avConfig, avRecorder, recorderTime, done) { 1636 let result = true; 1637 avRecorder = await idle(avRecorder); 1638 await preparePromise(avRecorder, avConfig) 1639 await startPromise(avRecorder) 1640 await pausePromise(avRecorder) 1641 await avRecorder.resume().then(() => { 1642 console.info('avRecorderReliabilitTest19 resume AVRecorder success'); 1643 }).catch((err) => { 1644 console.info('avRecorderReliabilitTest19 resume AVRecorder failed and catch error is ' + err.message); 1645 result = false 1646 }); 1647 expect(result).assertEqual(true); 1648 await releaseDone(avRecorder, done) 1649} 1650 1651export async function avRecorderReliabilitTest20(avConfig, avRecorder, recorderTime, done) { 1652 let result = true; 1653 avRecorder = await idle(avRecorder); 1654 await preparePromise(avRecorder, avConfig) 1655 await startPromise(avRecorder) 1656 await stopPromise(avRecorder) 1657 await avRecorder.resume().then(() => { 1658 console.info('avRecorderReliabilitTest20 resume AVRecorder success'); 1659 }).catch((err) => { 1660 console.info('avRecorderReliabilitTest20 resume AVRecorder failed and catch error is ' + err.message); 1661 result = false 1662 }); 1663 expect(result).assertEqual(false); 1664 await releaseDone(avRecorder, done) 1665} 1666 1667export async function avRecorderReliabilitTest21(avConfig, avRecorder, recorderTime, done) { 1668 let result = true; 1669 avRecorder = await idle(avRecorder); 1670 await preparePromise(avRecorder, avConfig) 1671 await startPromise(avRecorder) 1672 await pausePromise(avRecorder) 1673 await resetPromise(avRecorder) 1674 await avRecorder.resume().then(() => { 1675 console.info('avRecorderReliabilitTest20 resume AVRecorder success'); 1676 }).catch((err) => { 1677 console.info('avRecorderReliabilitTest20 resume AVRecorder failed and catch error is ' + err.message); 1678 result = false 1679 }); 1680 expect(result).assertEqual(false); 1681 await releaseDone(avRecorder, done) 1682} 1683 1684export async function avRecorderReliabilitTest22(avConfig, avRecorder, recorderTime, done) { 1685 let result1 = true; 1686 let result2 = true; 1687 let result3 = true; 1688 let result4 = true; 1689 let result5 = true; 1690 1691 avRecorder = await idle(avRecorder); 1692 await avRecorder.resume().then(() => { 1693 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1694 }).catch((err) => { 1695 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1696 result1 = false 1697 }); 1698 expect(result1).assertEqual(false); 1699 1700 await preparePromise(avRecorder, avConfig) 1701 await avRecorder.resume().then(() => { 1702 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1703 }).catch((err) => { 1704 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1705 result2 = false 1706 }); 1707 expect(result2).assertEqual(false); 1708 1709 await startPromise(avRecorder) 1710 await avRecorder.resume().then(() => { 1711 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1712 }).catch((err) => { 1713 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1714 result3 = false 1715 }); 1716 expect(result3).assertEqual(true); 1717 1718 await pausePromise(avRecorder) 1719 await avRecorder.resume().then(() => { 1720 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1721 }).catch((err) => { 1722 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1723 result4 = false 1724 }); 1725 expect(result4).assertEqual(true); 1726 1727 await resetPromise(avRecorder) 1728 await avRecorder.resume().then(() => { 1729 console.info('avRecorderReliabilitTest22 resume avRecorder success'); 1730 }).catch((err) => { 1731 console.info('avRecorderReliabilitTest22 resume avRecorder failed and catch error is ' + err.message); 1732 result5 = false 1733 }); 1734 expect(result5).assertEqual(false); 1735 1736 await releaseDone(avRecorder, done) 1737} 1738 1739export async function avRecorderReliabilitTest23(avConfig, avRecorder, recorderTime, done) { 1740 let result1 = true; 1741 let result2 = true; 1742 let result3 = true; 1743 1744 avRecorder = await idle(avRecorder); 1745 await preparePromise(avRecorder, avConfig) 1746 await startPromise(avRecorder) 1747 await pausePromise(avRecorder) 1748 await avRecorder.resume().then(() => { 1749 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1750 }).catch((err) => { 1751 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1752 result1 = false 1753 }); 1754 expect(result1).assertEqual(true); 1755 1756 await avRecorder.resume().then(() => { 1757 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1758 }).catch((err) => { 1759 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1760 result2 = false 1761 }); 1762 expect(result2).assertEqual(true); 1763 1764 await avRecorder.resume().then(() => { 1765 console.info('avRecorderReliabilitTest23 resume avRecorder success'); 1766 }).catch((err) => { 1767 console.info('avRecorderReliabilitTest23 resume avRecorder failed and catch error is ' + err.message); 1768 result3 = false 1769 }); 1770 expect(result3).assertEqual(true); 1771 1772 await releaseDone(avRecorder, done) 1773} 1774 1775export async function avRecorderReliabilitTest24(avConfig, avRecorder, recorderTime, done) { 1776 let result = true; 1777 avRecorder = await idle(avRecorder); 1778 await preparePromise(avRecorder, avConfig) 1779 await startPromise(avRecorder, recorderTime) 1780 await pausePromise(avRecorder) 1781 await avRecorder.stop().then(() => { 1782 console.info('avRecorderReliabilitTest24 stop avRecorder success'); 1783 }).catch((err) => { 1784 console.info('avRecorderReliabilitTest24 stop avRecorder failed and catch error is ' + err.message); 1785 result = false 1786 }); 1787 expect(result).assertEqual(true); 1788 await releaseDone(avRecorder, done) 1789} 1790 1791export async function avRecorderReliabilitTest25(avConfig, avRecorder, recorderTime, done) { 1792 let result = true; 1793 avRecorder = await idle(avRecorder); 1794 await preparePromise(avRecorder, avConfig) 1795 await startPromise(avRecorder, recorderTime) 1796 await pausePromise(avRecorder) 1797 await resumePromise(avRecorder) 1798 await avRecorder.stop().then(() => { 1799 console.info('avRecorderReliabilitTest25 stop avRecorder success'); 1800 }).catch((err) => { 1801 console.info('avRecorderReliabilitTest25 stop avRecorder failed and catch error is ' + err.message); 1802 result = false 1803 }); 1804 expect(result).assertEqual(true); 1805 await releaseDone(avRecorder, done) 1806} 1807 1808export async function avRecorderReliabilitTest26(avConfig, avRecorder, recorderTime, done) { 1809 let result = true; 1810 avRecorder = await idle(avRecorder); 1811 await preparePromise(avRecorder, avConfig) 1812 await startPromise(avRecorder) 1813 await pausePromise(avRecorder) 1814 await avRecorder.reset().then(() => { 1815 console.info('avRecorderReliabilitTest26 reset avRecorder success'); 1816 }).catch((err) => { 1817 console.info('avRecorderReliabilitTest26 reset avRecorder failed and catch error is ' + err.message); 1818 result = false 1819 }); 1820 expect(result).assertEqual(true); 1821 await releaseDone(avRecorder, done) 1822} 1823 1824export async function avRecorderReliabilitTest27(avConfig, avRecorder, recorderTime, done) { 1825 let result = true; 1826 avRecorder = await idle(avRecorder); 1827 await preparePromise(avRecorder, avConfig) 1828 await startPromise(avRecorder) 1829 await pausePromise(avRecorder) 1830 await resumePromise(avRecorder) 1831 await avRecorder.reset().then(() => { 1832 console.info('avRecorderReliabilitTest27 reset avRecorder success'); 1833 }).catch((err) => { 1834 console.info('avRecorderReliabilitTest27 reset avRecorder failed and catch error is ' + err.message); 1835 result = false 1836 }); 1837 expect(result).assertEqual(true); 1838 await releaseDone(avRecorder, done) 1839} 1840 1841export async function avRecorderReliabilitTest28(avConfig, avRecorder, recorderTime, done) { 1842 let result = true; 1843 avRecorder = await idle(avRecorder); 1844 await preparePromise(avRecorder, avConfig) 1845 await startPromise(avRecorder) 1846 await pausePromise(avRecorder) 1847 await avRecorder.release().then(() => { 1848 console.info('avRecorderReliabilitTest28 release avRecorder success'); 1849 }).catch((err) => { 1850 console.info('avRecorderReliabilitTest28 release avRecorder failed and catch error is ' + err.message); 1851 result = false 1852 }); 1853 expect(result).assertEqual(true); 1854 await releaseDone(avRecorder, done) 1855} 1856 1857export async function avRecorderReliabilitTest29(avConfig, avRecorder, recorderTime, done) { 1858 let result = true; 1859 avRecorder = await idle(avRecorder); 1860 await preparePromise(avRecorder, avConfig) 1861 await startPromise(avRecorder) 1862 await pausePromise(avRecorder) 1863 await resumePromise(avRecorder) 1864 await avRecorder.release().then(() => { 1865 console.info('avRecorderReliabilitTest29 release avRecorder success'); 1866 }).catch((err) => { 1867 console.info('avRecorderReliabilitTest29 release avRecorder failed and catch error is ' + err.message); 1868 result = false 1869 }); 1870 expect(result).assertEqual(true); 1871 await releaseDone(avRecorder, done) 1872} 1873 1874export async function avRecorderReliabilitTest30(avConfig, avRecorder, recorderTime, done) { 1875 let result1 = true; 1876 let result2 = true; 1877 let result3 = true; 1878 1879 avRecorder = await idle(avRecorder); 1880 await preparePromise(avRecorder, avConfig) 1881 await startPromise(avRecorder) 1882 await pausePromise(avRecorder) 1883 await avRecorder.release().then(() => { 1884 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1885 }).catch((err) => { 1886 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1887 result1 = false 1888 }); 1889 expect(result1).assertEqual(true); 1890 1891 await avRecorder.release().then(() => { 1892 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1893 }).catch((err) => { 1894 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1895 result2 = false 1896 }); 1897 expect(result2).assertEqual(true); 1898 1899 await avRecorder.release().then(() => { 1900 console.info('avRecorderReliabilitTest30 release avRecorder success'); 1901 }).catch((err) => { 1902 console.info('avRecorderReliabilitTest30 release avRecorder failed and catch error is ' + err.message); 1903 result3 = false 1904 }); 1905 expect(result3).assertEqual(true); 1906 done(); 1907} 1908 1909export async function avRecorderReliabilitTest31(avConfig, avRecorder, recorderTime, done) { 1910 let surfaceID = null; 1911 let result = true; 1912 avRecorder = await idle(avRecorder); 1913 avRecorder.getInputSurface().then((surfaceId) => { 1914 console.info('avRecorderReliabilitTest31 getInputSurface success'); 1915 surfaceID = surfaceId; 1916 }).catch((err) => { 1917 console.info('avRecorderReliabilitTest31 getInputSurface failed and catch error is ' + err.message); 1918 result = false 1919 }); 1920 expect(result).assertEqual(true); 1921 await releaseDone(avRecorder, done) 1922} 1923 1924 1925export async function getInputSurfaceTest32(avConfig, avRecorder, recorderTime, done) { 1926 console.info(`case getInputSurfaceTest in`); 1927 avRecorder.on('stateChange', async (state, reason) => { 1928 console.info('case state has changed, new state is :' + state); 1929 switch (state) { 1930 case AV_RECORDER_STATE.PREPARED: 1931 console.info(`case getInputSurfaceTest32 state is PREPARED`); 1932 expect(avRecorder.state).assertEqual('prepared'); 1933 getInputSurfacePromise(avRecorder) 1934 releasePromise(avRecorder) 1935 break; 1936 case AV_RECORDER_STATE.RELEASED: 1937 console.info(`case getInputSurfaceTest32 state is released`); 1938 expect(avRecorder.state).assertEqual('released'); 1939 done(); 1940 break; 1941 case AV_RECORDER_STATE.ERROR: 1942 console.info(`case getInputSurfaceTest32 state is ERROR`) 1943 expect(avRecorder.state).assertEqual('error'); 1944 break; 1945 default: 1946 console.info('case state is unknown'); 1947 } 1948 }); 1949 avRecorder.on('error', (err) => { 1950 console.info('case getInputSurfaceTest32 avRecorder.on(error) called, errMessage is ' + err.message); 1951 done(); 1952 }); 1953} 1954 1955export async function avRecorderReliabilitTest32(avConfig, avRecorder, recorderTime, done) { 1956 avRecorder = await idle(avRecorder); 1957 getInputSurfaceTest32(avConfig, avRecorder, recorderTime, done) 1958 await preparePromise(avRecorder, avConfig) 1959} 1960 1961export async function getInputSurfaceTest33(avConfig, avRecorder, recorderTime, done) { 1962 console.info(`case getInputSurfaceTest33 in`); 1963 avRecorder.on('stateChange', async (state, reason) => { 1964 console.info('case state has changed, new state is :' + state); 1965 switch (state) { 1966 case AV_RECORDER_STATE.PREPARED: 1967 console.info(`case getInputSurfaceTest33 state is PREPARED`); 1968 expect(avRecorder.state).assertEqual('prepared'); 1969 getInputSurfacePromise(avRecorder) 1970 startPromise(avRecorder) 1971 break; 1972 case AV_RECORDER_STATE.STARTED: 1973 console.info(`case getInputSurfaceTest33 state is started`) 1974 expect(avRecorder.state).assertEqual('started'); 1975 await sleep(recorderTime); 1976 console.info(`case getInputSurfaceTest33 111`) 1977 getInputSurfacePromise(avRecorder) 1978 console.info(`case getInputSurfaceTest33 222`) 1979 releasePromise(avRecorder) 1980 break; 1981 case AV_RECORDER_STATE.RELEASED: 1982 console.info(`case getInputSurfaceTest33 state is released`); 1983 expect(avRecorder.state).assertEqual('released'); 1984 done(); 1985 break; 1986 case AV_RECORDER_STATE.ERROR: 1987 console.info(`case getInputSurfaceTest33 state is ERROR`) 1988 expect(avRecorder.state).assertEqual('error'); 1989 break; 1990 default: 1991 console.info('case state is unknown'); 1992 } 1993 }); 1994 avRecorder.on('error', (err) => { 1995 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 1996 done(); 1997 }); 1998} 1999 2000export async function avRecorderReliabilitTest33(avConfig, avRecorder, recorderTime, done) { 2001 avRecorder = await idle(avRecorder); 2002 getInputSurfaceTest33(avConfig, avRecorder, recorderTime, done) 2003 await preparePromise(avRecorder, avConfig) 2004} 2005 2006export async function getInputSurfaceTest34(avConfig, avRecorder, recorderTime, done) { 2007 console.info(`case getInputSurfaceTest34 in`); 2008 avRecorder.on('stateChange', async (state, reason) => { 2009 console.info('case state has changed, new state is :' + state); 2010 switch (state) { 2011 case AV_RECORDER_STATE.PREPARED: 2012 console.info(`case getInputSurfaceTest34 state is PREPARED`); 2013 expect(avRecorder.state).assertEqual('prepared'); 2014 getInputSurfacePromise(avRecorder) 2015 startPromise(avRecorder) 2016 break; 2017 case AV_RECORDER_STATE.STARTED: 2018 console.info(`case getInputSurfaceTest34 state is started`) 2019 expect(avRecorder.state).assertEqual('started'); 2020 await sleep(recorderTime); 2021 pausePromise(avRecorder) 2022 break; 2023 case AV_RECORDER_STATE.PAUSED: 2024 console.info(`case getInputSurfaceTest34 state is paused`) 2025 expect(avRecorder.state).assertEqual('paused'); 2026 getInputSurfacePromise(avRecorder) 2027 releasePromise(avRecorder) 2028 break; 2029 case AV_RECORDER_STATE.RELEASED: 2030 console.info(`case getInputSurfaceTest34 state is released`); 2031 expect(avRecorder.state).assertEqual('released'); 2032 done(); 2033 break; 2034 case AV_RECORDER_STATE.ERROR: 2035 console.info(`case getInputSurfaceTest34 state is ERROR`) 2036 expect(avRecorder.state).assertEqual('error'); 2037 break; 2038 default: 2039 console.info('case state is unknown'); 2040 } 2041 }); 2042 avRecorder.on('error', (err) => { 2043 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2044 done(); 2045 }); 2046} 2047 2048export async function avRecorderReliabilitTest34(avConfig, avRecorder, recorderTime, done) { 2049 avRecorder = await idle(avRecorder); 2050 getInputSurfaceTest34(avConfig, avRecorder, recorderTime, done) 2051 await preparePromise(avRecorder, avConfig) 2052} 2053 2054export async function getInputSurfaceTest35(avConfig, avRecorder, recorderTime, done) { 2055 console.info(`case getInputSurfaceTest35 in`); 2056 avRecorder.on('stateChange', async (state, reason) => { 2057 console.info('case state has changed, new state is :' + state); 2058 switch (state) { 2059 case AV_RECORDER_STATE.PREPARED: 2060 console.info(`case getInputSurfaceTest35 state is PREPARED`); 2061 expect(avRecorder.state).assertEqual('prepared'); 2062 getInputSurfacePromise(avRecorder) 2063 startPromise(avRecorder) 2064 break; 2065 case AV_RECORDER_STATE.STARTED: 2066 console.info(`case getInputSurfaceTest35 state is started`) 2067 expect(avRecorder.state).assertEqual('started'); 2068 await sleep(recorderTime); 2069 pausePromise(avRecorder) 2070 break; 2071 case AV_RECORDER_STATE.PAUSED: 2072 console.info(`case getInputSurfaceTest35 state is paused`) 2073 expect(avRecorder.state).assertEqual('paused'); 2074 resumePromise(avRecorder) 2075 getInputSurfacePromise(avRecorder) 2076 releasePromise(avRecorder) 2077 break; 2078 case AV_RECORDER_STATE.RELEASED: 2079 console.info(`case getInputSurfaceTest35 state is released`); 2080 expect(avRecorder.state).assertEqual('released'); 2081 done(); 2082 break; 2083 case AV_RECORDER_STATE.ERROR: 2084 console.info(`case getInputSurfaceTest35 state is ERROR`) 2085 expect(avRecorder.state).assertEqual('error'); 2086 break; 2087 default: 2088 console.info('case state is unknown'); 2089 } 2090 }); 2091 avRecorder.on('error', (err) => { 2092 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2093 done(); 2094 }); 2095} 2096 2097export async function avRecorderReliabilitTest35(avConfig, avRecorder, recorderTime, done) { 2098 avRecorder = await idle(avRecorder); 2099 getInputSurfaceTest35(avConfig, avRecorder, recorderTime, done) 2100 await preparePromise(avRecorder, avConfig) 2101} 2102 2103export async function getInputSurfaceTest36(avConfig, avRecorder, recorderTime, done) { 2104 console.info(`case getInputSurfaceTest36 in`); 2105 avRecorder.on('stateChange', async (state, reason) => { 2106 console.info('case state has changed, new state is :' + state); 2107 switch (state) { 2108 case AV_RECORDER_STATE.PREPARED: 2109 console.info(`case getInputSurfaceTest36 state is PREPARED`); 2110 expect(avRecorder.state).assertEqual('prepared'); 2111 getInputSurfacePromise(avRecorder) 2112 startPromise(avRecorder) 2113 break; 2114 case AV_RECORDER_STATE.STARTED: 2115 console.info(`case getInputSurfaceTest36 state is started`) 2116 expect(avRecorder.state).assertEqual('started'); 2117 await sleep(recorderTime); 2118 stopPromise(avRecorder) 2119 break; 2120 case AV_RECORDER_STATE.STOPPED: 2121 console.info(`case getInputSurfaceTest36 state is stopped`) 2122 expect(avRecorder.state).assertEqual('stopped'); 2123 getInputSurfacePromise(avRecorder) 2124 releasePromise(avRecorder) 2125 break; 2126 case AV_RECORDER_STATE.RELEASED: 2127 console.info(`case getInputSurfaceTest36 state is released`); 2128 expect(avRecorder.state).assertEqual('released'); 2129 done(); 2130 break; 2131 case AV_RECORDER_STATE.ERROR: 2132 console.info(`case getInputSurfaceTest36 state is ERROR`) 2133 expect(avRecorder.state).assertEqual('error'); 2134 break; 2135 default: 2136 console.info('case state is unknown'); 2137 } 2138 }); 2139 avRecorder.on('error', (err) => { 2140 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2141 done(); 2142 }); 2143} 2144 2145export async function avRecorderReliabilitTest36(avConfig, avRecorder, recorderTime, done) { 2146 avRecorder = await idle(avRecorder); 2147 getInputSurfaceTest36(avConfig, avRecorder, recorderTime, done) 2148 await preparePromise(avRecorder, avConfig) 2149} 2150 2151export async function getInputSurfaceTest37(avConfig, avRecorder, recorderTime, done) { 2152 console.info(`case getInputSurfaceTest37 in`); 2153 avRecorder.on('stateChange', async (state, reason) => { 2154 console.info('case state has changed, new state is :' + state); 2155 switch (state) { 2156 case AV_RECORDER_STATE.IDLE: 2157 console.info(`case getInputSurfaceTest37 state is idle`); 2158 expect(avRecorder.state).assertEqual("idle"); 2159 getInputSurfacePromise(avRecorder) 2160 releasePromise(avRecorder) 2161 break; 2162 case AV_RECORDER_STATE.PREPARED: 2163 console.info(`case getInputSurfaceTest37 state isPREPARED`); 2164 expect(avRecorder.state).assertEqual('prepared'); 2165 getInputSurfacePromise(avRecorder) 2166 startPromise(avRecorder) 2167 break; 2168 case AV_RECORDER_STATE.STARTED: 2169 console.info(`case getInputSurfaceTest37 state isstarted`) 2170 expect(avRecorder.state).assertEqual('started'); 2171 await sleep(recorderTime); 2172 resetPromise(avRecorder) 2173 break; 2174 case AV_RECORDER_STATE.RELEASED: 2175 console.info(`case getInputSurfaceTest37 state is released`); 2176 expect(avRecorder.state).assertEqual('released'); 2177 done(); 2178 break; 2179 case AV_RECORDER_STATE.ERROR: 2180 console.info(`case getInputSurfaceTest37 state is ERROR`) 2181 expect(avRecorder.state).assertEqual('error'); 2182 break; 2183 default: 2184 console.info('case state is unknown'); 2185 } 2186 }); 2187 avRecorder.on('error', (err) => { 2188 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2189 done(); 2190 }); 2191} 2192 2193export async function avRecorderReliabilitTest37(avConfig, avRecorder, recorderTime, done) { 2194 avRecorder = await idle(avRecorder); 2195 getInputSurfaceTest37(avConfig, avRecorder, recorderTime, done) 2196 await preparePromise(avRecorder, avConfig) 2197} 2198 2199export async function getInputSurfaceTest38(avConfig, avRecorder, recorderTime, done) { 2200 let result1 = true; 2201 let result2 = true; 2202 let result3 = true; 2203 let surfaceID = null; 2204 console.info(`case getInputSurfaceTest38 in`); 2205 avRecorder.on('stateChange', async (state, reason) => { 2206 console.info('case state has changed, new state is :' + state); 2207 switch (state) { 2208 case AV_RECORDER_STATE.PREPARED: 2209 console.info(`case getInputSurfaceTest38 state is PREPARED`); 2210 expect(avRecorder.state).assertEqual('prepared'); 2211 2212 avRecorder.getInputSurface().then((surfaceId) => { 2213 console.info('getInputSurfaceTest38 getInputSurface success'); 2214 surfaceID = surfaceId; 2215 }).catch((err) => { 2216 console.info('getInputSurfaceTest38 getInputSurface failed and catch error is ' + err.message); 2217 result1 = false 2218 }); 2219 expect(result1).assertEqual(true); 2220 2221 avRecorder.getInputSurface().then((surfaceId) => { 2222 console.info('getInputSurfaceTest38 getInputSurface success'); 2223 surfaceID = surfaceId; 2224 }).catch((err) => { 2225 console.info('getInputSurfaceTest38 getInputSurface failed and catch error is ' + err.message); 2226 result2 = false 2227 }); 2228 expect(result2).assertEqual(true); 2229 2230 avRecorder.getInputSurface().then((surfaceId) => { 2231 console.info('getInputSurfaceTest38 getInputSurface success'); 2232 surfaceID = surfaceId; 2233 }).catch((err) => { 2234 console.info('getInputSurfaceTest38 getInputSurface failed and catch error is ' + err.message); 2235 result3 = false 2236 }); 2237 expect(result3).assertEqual(true); 2238 releasePromise(avRecorder) 2239 break; 2240 case AV_RECORDER_STATE.RELEASED: 2241 console.info(`case getInputSurfaceTest38 state is released`); 2242 expect(avRecorder.state).assertEqual('released'); 2243 done(); 2244 break; 2245 case AV_RECORDER_STATE.ERROR: 2246 console.info(`case getInputSurfaceTest38 state is ERROR`) 2247 expect(avRecorder.state).assertEqual('error'); 2248 break; 2249 default: 2250 console.info('case state is unknown'); 2251 } 2252 }); 2253 avRecorder.on('error', (err) => { 2254 console.info('case avRecorder.on(error) called, errMessage is ' + err.message); 2255 done(); 2256 }); 2257} 2258 2259export async function avRecorderReliabilitTest38(avConfig, avRecorder, recorderTime, done) { 2260 avRecorder = await idle(avRecorder); 2261 getInputSurfaceTest38(avConfig, avRecorder, recorderTime, done) 2262 await preparePromise(avRecorder, avConfig) 2263} 2264 2265export async function createTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2266 let totalTime = 0; 2267 for(var i = 0;i < 10;i++){ 2268 let start = Date.now(); 2269 console.info(`createTimeTestCallback start time is : ${start}`) 2270 avRecorder = await idle(avRecorder); 2271 let end = Date.now() 2272 let execution = parseInt(end - start) 2273 console.info("createTimeTestCallback execution time is :" + execution) 2274 totalTime = totalTime + execution; 2275 await avRecorder.release().then(() => { 2276 console.info('createTimeTestCallback avPlayer is release') 2277 console.info(`createTimeTestCallback avRecorder.state is : ${avRecorder.state}`) 2278 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2279 if(i == 9){ 2280 let avg = totalTime/10; 2281 console.info("createTimeTest avg time is :" + avg) 2282 done(); 2283 } 2284 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2285 } 2286} 2287 2288export async function prepareTimeCallback(avConfig, avRecorder, recorderTime, done) { 2289 let totalTime = 0; 2290 for(var i = 0;i < 10;i++){ 2291 avRecorder = await idle(avRecorder); 2292 await sleep(20) 2293 let start = Date.now(); 2294 console.info(`prepareTimeWithoutCallback start time is : ${start}`) 2295 let end; 2296 await avRecorder.prepare(avConfig, (err) => { 2297 if (err == null) { 2298 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2299 console.info('prepareTimeWithoutCallback avPlayer state is prepared') 2300 end = Date.now() 2301 console.info(`prepareTimeWithoutCallback end time is : ${end}`) 2302 } else { 2303 console.info('prepare failed and error is ' + err.message); 2304 } 2305 }) 2306 let execution = parseInt(end - start) 2307 console.info("prepareTimeWithoutCallback execution time is :" + execution) 2308 totalTime = totalTime + execution; 2309 await avRecorder.release().then(() => { 2310 console.info('prepareTimeWithoutCallback avPlayer is release') 2311 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2312 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2313 } 2314 let avg = totalTime/10; 2315 console.info("prepareTimeWithoutCallback avg time is :" + avg) 2316 done(); 2317} 2318 2319export async function getInputSurfaceTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2320 let totalTime = 0; 2321 let surfaceID = null; 2322 for(var i = 0;i < 10;i++){ 2323 avRecorder = await idle(avRecorder); 2324 await sleep(20) 2325 let end; 2326 await avRecorder.prepare(avConfig).then(() => { 2327 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2328 console.info('getInputSurfaceTimeTestCallback avPlayer state is prepared') 2329 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2330 2331 let start = Date.now(); 2332 console.info(`getInputSurfaceTimeTestCallback start time is : ${start}`) 2333 await avRecorder.getInputSurface((err, surfaceId) => { 2334 if (err == null) { 2335 console.info('getInputSurfaceTimeTestCallback success'); 2336 surfaceID = surfaceId; 2337 end = Date.now() 2338 console.info(`getInputSurfaceTimeTestCallback end time is : ${end}`) 2339 let execution = parseInt(end - start) 2340 console.info("getInputSurfaceTimeTestCallback execution time is :" + execution) 2341 totalTime = totalTime + execution; 2342 } else { 2343 console.info('getInputSurfaceTimeTestCallback failed and error is ' + err.message); 2344 } 2345 }); 2346 await avRecorder.release().then(() => { 2347 console.info('getInputSurfaceTimeTestCallback avPlayer is release') 2348 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2349 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2350 } 2351 let avg = totalTime/10; 2352 console.info("getInputSurfaceTimeTestCallback avg time is :" + avg) 2353 done(); 2354} 2355 2356export async function startTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2357 let totalTime = 0; 2358 for(var i = 0;i < 10;i++){ 2359 avRecorder = await idle(avRecorder); 2360 await sleep(20) 2361 let end; 2362 await avRecorder.prepare(avConfig).then(() => { 2363 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2364 console.info('startTimeTestCallback avPlayer state is prepared') 2365 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2366 let start = Date.now(); 2367 console.info(`startTimeTestCallback start time is : ${start}`) 2368 await avRecorder.start((err) => { 2369 if (err == null) { 2370 end = Date.now() 2371 console.info(`startTimeTestCallback end time is : ${end}`) 2372 console.info('startTimeTestCallback avRecorder success'); 2373 let execution = parseInt(end - start) 2374 console.info("startTimeTestCallback execution time is :" + execution) 2375 totalTime = totalTime + execution; 2376 } else { 2377 console.info('startTimeTestCallback failed and error is ' + err.message); 2378 } 2379 }); 2380 await avRecorder.release().then(() => { 2381 console.info('startTimeTestCallback avPlayer is release') 2382 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2383 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2384 } 2385 let avg = totalTime/10; 2386 console.info("startTimeTestCallback avg time is :" + avg) 2387 done(); 2388} 2389 2390export async function pauseTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2391 let totalTime = 0; 2392 for(var i = 0;i < 10;i++){ 2393 avRecorder = await idle(avRecorder); 2394 await sleep(20) 2395 await avRecorder.prepare(avConfig).then(() => { 2396 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2397 console.info('pauseTimeTestCallback avPlayer state is prepared') 2398 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2399 2400 await avRecorder.start().then(() => { 2401 console.info('start avRecorder success'); 2402 }).catch((err) => { 2403 console.info('pauseTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2404 }); 2405 let start = Date.now(); 2406 console.info(`pauseTimeTestCallback start time is : ${start}`) 2407 let end; 2408 await avRecorder.pause((err) => { 2409 if (err == null) { 2410 end = Date.now() 2411 console.info(`pauseTimeTestCallback end time is : ${end}`) 2412 console.info('pause pauseTimeTestCallback success'); 2413 let execution = parseInt(end - start) 2414 console.info("pauseTimeTestCallback execution time is :" + execution) 2415 totalTime = totalTime + execution; 2416 } else { 2417 console.info('pause pauseTimeTestCallback failed and error is ' + err.message); 2418 } 2419 }); 2420 await avRecorder.release().then(() => { 2421 console.info('pauseTimeTestCallback avPlayer is release') 2422 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2423 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2424 } 2425 let avg = totalTime/10; 2426 console.info("pauseTimeTestCallback avg time is :" + avg) 2427 done(); 2428} 2429 2430export async function resumeTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2431 let totalTime = 0; 2432 for(var i = 0;i < 10;i++){ 2433 avRecorder = await idle(avRecorder); 2434 await sleep(20) 2435 await avRecorder.prepare(avConfig).then(() => { 2436 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2437 console.info('resumeTimeTestCallback avPlayer state is prepared') 2438 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2439 2440 await avRecorder.start().then(() => { 2441 console.info('start resumeTimeTestCallback success'); 2442 }).catch((err) => { 2443 console.info('resumeTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2444 }); 2445 let end; 2446 await avRecorder.pause((err) => { 2447 if (err == null) { 2448 console.info('pause resumeTimeTestCallback success'); 2449 } else { 2450 console.info('pause resumeTimeTestCallback failed and error is ' + err.message); 2451 } 2452 }); 2453 let start = Date.now(); 2454 console.info(`resumeTimeTestCallback start time is : ${start}`) 2455 await avRecorder.resume((err) => { 2456 if (err == null) { 2457 console.info('resume resumeTimeTestCallback success'); 2458 end = Date.now() 2459 console.info(`resumeTimeTestCallback end time is : ${end}`) 2460 let execution = parseInt(end - start) 2461 console.info("resumeTimeTestCallback execution time is :" + execution) 2462 totalTime = totalTime + execution; 2463 } else { 2464 console.info('resume resumeTimeTestCallback failed and error is ' + err.message); 2465 } 2466 }); 2467 await avRecorder.release().then(() => { 2468 console.info('resumeTimeTestCallback avPlayer is release') 2469 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2470 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2471 } 2472 let avg = totalTime/10; 2473 console.info("resumeTimeTestCallback avg time is :" + avg) 2474 done(); 2475} 2476 2477export async function stopTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2478 let totalTime = 0; 2479 for(var i = 0;i < 10;i++){ 2480 avRecorder = await idle(avRecorder); 2481 await sleep(20) 2482 await avRecorder.prepare(avConfig).then(() => { 2483 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2484 console.info('stopTimeTestCallback avPlayer state is prepared') 2485 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2486 2487 await avRecorder.start().then(() => { 2488 console.info('start stopTimeTestCallback success'); 2489 }).catch((err) => { 2490 console.info('stopTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2491 }); 2492 let end; 2493 let start = Date.now(); 2494 console.info(`stopTimeTestCallback start time is : ${start}`) 2495 await avRecorder.stop((err) => { 2496 if (err == null) { 2497 console.info('resume stopTimeTestCallback success'); 2498 end = Date.now() 2499 console.info(`stopTimeTestCallback end time is : ${end}`) 2500 let execution = parseInt(end - start) 2501 console.info("stopTimeTestCallback execution time is :" + execution) 2502 totalTime = totalTime + execution; 2503 } else { 2504 console.info('resume stopTimeTestCallback failed and error is ' + err.message); 2505 } 2506 }); 2507 await avRecorder.release().then(() => { 2508 console.info('stopTimeTestCallback avPlayer is release') 2509 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2510 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2511 } 2512 let avg = totalTime/10; 2513 console.info("stopTimeTestCallback avg time is :" + avg) 2514 done(); 2515} 2516 2517export async function resetTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2518 let totalTime = 0; 2519 for(var i = 0;i < 10;i++){ 2520 avRecorder = await idle(avRecorder); 2521 await sleep(20) 2522 await avRecorder.prepare(avConfig).then(() => { 2523 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2524 console.info('resetTimeTestCallback avPlayer state is prepared') 2525 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2526 2527 await avRecorder.start().then(() => { 2528 console.info('start resetTimeTestCallback success'); 2529 }).catch((err) => { 2530 console.info('resetTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2531 }); 2532 let end; 2533 let start = Date.now(); 2534 console.info(`resetTimeTestCallback start time is : ${start}`) 2535 await avRecorder.reset((err) => { 2536 if (err == null) { 2537 console.info('resume resetTimeTestCallback success'); 2538 end = Date.now() 2539 console.info(`resetTimeTestCallback end time is : ${end}`) 2540 let execution = parseInt(end - start) 2541 console.info("resetTimeTestCallback execution time is :" + execution) 2542 totalTime = totalTime + execution; 2543 } else { 2544 console.info('resume resetTimeTestCallback failed and error is ' + err.message); 2545 } 2546 }); 2547 await avRecorder.release().then(() => { 2548 console.info('resetTimeTestCallback avPlayer is release') 2549 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2550 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2551 } 2552 let avg = totalTime/10; 2553 console.info("resetTimeTestCallback avg time is :" + avg) 2554 done(); 2555} 2556 2557export async function releaseTimeTestCallback(avConfig, avRecorder, recorderTime, done) { 2558 let totalTime = 0; 2559 for(var i = 0;i < 10;i++){ 2560 avRecorder = await idle(avRecorder); 2561 await sleep(20) 2562 await avRecorder.prepare(avConfig).then(() => { 2563 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2564 console.info('releaseTimeTestCallback avPlayer state is prepared') 2565 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2566 2567 await avRecorder.start().then(() => { 2568 console.info('start releaseTimeTestCallback success'); 2569 }).catch((err) => { 2570 console.info('releaseTimeTestCallback start avRecorder failed and catch error is ' + err.message); 2571 }); 2572 let end; 2573 let start = Date.now(); 2574 console.info(`releaseTimeTestCallback start time is : ${start}`) 2575 await avRecorder.release((err) => { 2576 if (err == null) { 2577 console.info(`releaseTimeTestCallback current state is : ${avRecorder.state}`) 2578 console.info('release releaseTimeTestCallback success'); 2579 end = Date.now() 2580 console.info(`releaseTimeTestCallback end time is : ${end}`) 2581 let execution = parseInt(end - start) 2582 console.info("releaseTimeTestCallback execution time is :" + execution) 2583 totalTime = totalTime + execution; 2584 } else { 2585 console.info('resume releaseTimeTestCallback failed and error is ' + err.message); 2586 } 2587 }); 2588 if(i == 9){ 2589 let avg = totalTime/10; 2590 console.info("releaseTimeTestCallback avg time is :" + avg) 2591 done(); 2592 } 2593 } 2594} 2595 2596export async function createTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2597 let totalTime = 0; 2598 for(var i = 0;i < 10;i++){ 2599 let start = Date.now(); 2600 console.info(`createTimeTestPromise start time is : ${start}`) 2601 avRecorder = await idle(avRecorder); 2602 let end = Date.now() 2603 let execution = parseInt(end - start) 2604 console.info("createTimeTestPromise execution time is :" + execution) 2605 totalTime = totalTime + execution; 2606 await avRecorder.release().then(() => { 2607 console.info('createTimeTestPromise avPlayer is release') 2608 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2609 }, mediaTestBase.failureCallback).catch(mediaTestBase.catchCallback); 2610 } 2611 let avg = totalTime/10; 2612 console.info("createTimeTestPromise avg time is :" + avg) 2613 done(); 2614} 2615 2616export async function prepareTimePromise(avConfig, avRecorder, recorderTime, done) { 2617 let totalTime = 0; 2618 for(var i = 0;i < 10;i++){ 2619 avRecorder = await idle(avRecorder); 2620 await sleep(20) 2621 let start = Date.now(); 2622 console.info(`prepareTimeWithoutPromise start time is : ${start}`) 2623 let end; 2624 await avRecorder.prepare(avConfig).then(() => { 2625 console.info('prepare success'); 2626 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2627 console.info('prepareTimeWithoutPromise avPlayer state is prepared') 2628 end = Date.now() 2629 console.info(`prepareTimeWithoutPromise end time is : ${end}`) 2630 }).catch((err) => { 2631 console.info('prepare failed and catch error is ' + err.message); 2632 }); 2633 let execution = parseInt(end - start) 2634 console.info("prepareTimeWithoutPromise execution time is :" + execution) 2635 totalTime = totalTime + execution; 2636 await avRecorder.release().then(() => { 2637 console.info('prepareTimeWithoutPromise avPlayer is release') 2638 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2639 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2640 } 2641 let avg = totalTime/10; 2642 console.info("prepareTimeWithoutPromise avg time is :" + avg) 2643 done(); 2644} 2645 2646export async function getInputSurfaceTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2647 let totalTime = 0; 2648 let surfaceID = null; 2649 for(var i = 0;i < 10;i++){ 2650 avRecorder = await idle(avRecorder); 2651 await sleep(20) 2652 let end; 2653 await avRecorder.prepare(avConfig).then(() => { 2654 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2655 console.info('getInputSurfaceTimeTestPromise avPlayer state is prepared') 2656 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2657 let start = Date.now(); 2658 console.info(`getInputSurfaceTimeTestPromise start time is : ${start}`) 2659 await avRecorder.getInputSurface().then((surfaceId) => { 2660 console.info('getInputSurfaceTimeTestPromise success'); 2661 surfaceID = surfaceId; 2662 end = Date.now() 2663 console.info(`getInputSurfaceTimeTestPromise end time is : ${end}`) 2664 let execution = parseInt(end - start) 2665 console.info("getInputSurfaceTimeTestPromise execution time is :" + execution) 2666 totalTime = totalTime + execution; 2667 }).catch((err) => { 2668 console.info('getInputSurface failed and catch error is ' + err.message); 2669 }); 2670 await avRecorder.release().then(() => { 2671 console.info('getInputSurfaceTimeTestPromise avPlayer is release') 2672 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2673 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2674 } 2675 let avg = totalTime/10; 2676 console.info("getInputSurfaceTimeTestPromise avg time is :" + avg) 2677 done(); 2678} 2679 2680export async function startTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2681 let totalTime = 0; 2682 for(var i = 0;i < 10;i++){ 2683 avRecorder = await idle(avRecorder); 2684 await sleep(20) 2685 let end; 2686 await avRecorder.prepare(avConfig).then(() => { 2687 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2688 console.info('startTimeTestPromise avPlayer state is prepared') 2689 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2690 let start = Date.now(); 2691 console.info(`startTimeTestPromise start time is : ${start}`) 2692 await avRecorder.start().then(() => { 2693 console.info('start AVRecorder success'); 2694 end = Date.now() 2695 console.info(`startTimeTestPromise end time is : ${end}`) 2696 let execution = parseInt(end - start) 2697 console.info("startTimeTestPromise execution time is :" + execution) 2698 totalTime = totalTime + execution; 2699 console.info('startTimeTestPromise avRecorder success'); 2700 }).catch((err) => { 2701 console.info('start AVRecorder failed and catch error is ' + err.message); 2702 }); 2703 await avRecorder.release().then(() => { 2704 console.info('startTimeTestPromise avPlayer is release') 2705 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2706 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2707 } 2708 let avg = totalTime/10; 2709 console.info("startTimeTestPromise avg time is :" + avg) 2710 done(); 2711} 2712 2713export async function pauseTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2714 let totalTime = 0; 2715 for(var i = 0;i < 10;i++){ 2716 avRecorder = await idle(avRecorder); 2717 await sleep(20) 2718 await avRecorder.prepare(avConfig).then(() => { 2719 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2720 console.info('pauseTimeTestPromise avPlayer state is prepared') 2721 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2722 await avRecorder.start().then(() => { 2723 console.info('start avRecorder success'); 2724 }).catch((err) => { 2725 console.info('pauseTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2726 }); 2727 let start = Date.now(); 2728 console.info(`pauseTimeTestPromise start time is : ${start}`) 2729 let end; 2730 await avRecorder.pause().then(() => { 2731 console.info('pause AVRecorder success'); 2732 end = Date.now() 2733 console.info(`pauseTimeTestPromise end time is : ${end}`) 2734 let execution = parseInt(end - start) 2735 console.info("pauseTimeTestPromise execution time is :" + execution) 2736 totalTime = totalTime + execution; 2737 console.info('pause pauseTimeTestPromise success'); 2738 }).catch((err) => { 2739 console.info('pause AVRecorder failed and catch error is ' + err.message); 2740 }); 2741 await avRecorder.release().then(() => { 2742 console.info('pauseTimeTestPromise avPlayer is release') 2743 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2744 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2745 } 2746 let avg = totalTime/10; 2747 console.info("pauseTimeTestPromise avg time is :" + avg) 2748 done(); 2749} 2750 2751export async function resumeTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2752 let totalTime = 0; 2753 for(var i = 0;i < 10;i++){ 2754 avRecorder = await idle(avRecorder); 2755 await sleep(20) 2756 await avRecorder.prepare(avConfig).then(() => { 2757 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2758 console.info('resumeTimeTestPromise avPlayer state is prepared') 2759 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2760 2761 await avRecorder.start().then(() => { 2762 console.info('start resumeTimeTestPromise success'); 2763 }).catch((err) => { 2764 console.info('resumeTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2765 }); 2766 let end; 2767 await avRecorder.pause((err) => { 2768 if (err == null) { 2769 console.info('pause resumeTimeTestPromise success'); 2770 } else { 2771 console.info('pause resumeTimeTestPromise failed and error is ' + err.message); 2772 } 2773 }); 2774 let start = Date.now(); 2775 console.info(`resumeTimeTestPromise start time is : ${start}`) 2776 await avRecorder.resume().then(() => { 2777 console.info('resume AVRecorder success'); 2778 console.info('resume resumeTimeTestPromise success'); 2779 end = Date.now() 2780 console.info(`resumeTimeTestPromise end time is : ${end}`) 2781 let execution = parseInt(end - start) 2782 console.info("resumeTimeTestPromise execution time is :" + execution) 2783 totalTime = totalTime + execution; 2784 }).catch((err) => { 2785 console.info('resume AVRecorder failed and catch error is ' + err.message); 2786 }); 2787 await avRecorder.release().then(() => { 2788 console.info('resumeTimeTestPromise avPlayer is release') 2789 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2790 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2791 } 2792 let avg = totalTime/10; 2793 console.info("resumeTimeTestPromise avg time is :" + avg) 2794 done(); 2795} 2796 2797export async function stopTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2798 let totalTime = 0; 2799 for(var i = 0;i < 10;i++){ 2800 avRecorder = await idle(avRecorder); 2801 await sleep(20) 2802 await avRecorder.prepare(avConfig).then(() => { 2803 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2804 console.info('stopTimeTestPromise avPlayer state is prepared') 2805 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2806 2807 await avRecorder.start().then(() => { 2808 console.info('start stopTimeTestPromise success'); 2809 }).catch((err) => { 2810 console.info('stopTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2811 }); 2812 let end; 2813 let start = Date.now(); 2814 console.info(`stopTimeTestPromise start time is : ${start}`) 2815 await avRecorder.stop().then(() => { 2816 console.info('stop AVRecorder success'); 2817 console.info('resume stopTimeTestPromise success'); 2818 end = Date.now() 2819 console.info(`stopTimeTestPromise end time is : ${end}`) 2820 let execution = parseInt(end - start) 2821 console.info("stopTimeTestPromise execution time is :" + execution) 2822 totalTime = totalTime + execution; 2823 }).catch((err) => { 2824 console.info('stop AVRecorder failed and catch error is ' + err.message); 2825 }); 2826 await avRecorder.release().then(() => { 2827 console.info('stopTimeTestPromise avPlayer is release') 2828 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2829 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2830 } 2831 let avg = totalTime/10; 2832 console.info("stopTimeTestPromise avg time is :" + avg) 2833 done(); 2834} 2835 2836export async function resetTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2837 let totalTime = 0; 2838 for(var i = 0;i < 10;i++){ 2839 avRecorder = await idle(avRecorder); 2840 await sleep(20) 2841 await avRecorder.prepare(avConfig).then(() => { 2842 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2843 console.info('resetTimeTestPromise avPlayer state is prepared') 2844 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2845 2846 await avRecorder.start().then(() => { 2847 console.info('start resetTimeTestPromise success'); 2848 }).catch((err) => { 2849 console.info('resetTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2850 }); 2851 let end; 2852 let start = Date.now(); 2853 console.info(`resetTimeTestPromise start time is : ${start}`) 2854 await avRecorder.reset().then(() => { 2855 console.info('reset AVRecorder success'); 2856 console.info('resume resetTimeTestPromise success'); 2857 end = Date.now() 2858 console.info(`resetTimeTestPromise end time is : ${end}`) 2859 let execution = parseInt(end - start) 2860 console.info("resetTimeTestPromise execution time is :" + execution) 2861 totalTime = totalTime + execution; 2862 }).catch((err) => { 2863 console.info('resume resetTimeTestPromise failed and error is ' + err.message); 2864 }); 2865 await avRecorder.release().then(() => { 2866 console.info('resetTimeTestPromise avPlayer is release') 2867 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2868 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2869 } 2870 let avg = totalTime/10; 2871 console.info("resetTimeTestPromise avg time is :" + avg) 2872 done(); 2873} 2874 2875export async function releaseTimeTestPromise(avConfig, avRecorder, recorderTime, done) { 2876 let totalTime = 0; 2877 for(var i = 0;i < 10;i++){ 2878 avRecorder = await idle(avRecorder); 2879 await sleep(20) 2880 await avRecorder.prepare(avConfig).then(() => { 2881 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.PREPARED); 2882 console.info('releaseTimeTestPromise avPlayer state is prepared') 2883 }, mediaTestBase.failurePromise).catch(mediaTestBase.catchPromise); 2884 2885 await avRecorder.start().then(() => { 2886 console.info('start releaseTimeTestPromise success'); 2887 }).catch((err) => { 2888 console.info('releaseTimeTestPromise start avRecorder failed and catch error is ' + err.message); 2889 }); 2890 let end; 2891 let start = Date.now(); 2892 console.info(`releaseTimeTestPromise start time is : ${start}`) 2893 await avRecorder.release().then(() => { 2894 expect(avRecorder.state).assertEqual(AV_RECORDER_STATE.RELEASED); 2895 console.info('release AVRecorder success'); 2896 console.info('resume releaseTimeTestPromise success'); 2897 end = Date.now() 2898 let execution = parseInt(end - start) 2899 console.info("releaseTimeTestPromise execution time is :" + execution) 2900 totalTime = totalTime + execution; 2901 console.info(`releaseTimeTestPromise end time is : ${end}`) 2902 }).catch((err) => { 2903 console.info('resume releaseTimeTestPromise failed and error is ' + err.message); 2904 }); 2905 } 2906 let avg = totalTime/10; 2907 console.info("releaseTimeTestPromise avg time is :" + avg) 2908 done(); 2909} 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925