1 /* 2 * Copyright (C) 2014 BlueKitchen GmbH 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the copyright holders nor the names of 14 * contributors may be used to endorse or promote products derived 15 * from this software without specific prior written permission. 16 * 4. Any redistribution, use, or modification is done solely for 17 * personal benefit and not for any commercial purpose or for 18 * monetary gain. 19 * 20 * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS 24 * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * Please inquire about commercial licensing options at 34 * [email protected] 35 * 36 */ 37 38 // ***************************************************************************** 39 // 40 // HFP Test Sequences 41 // 42 // ***************************************************************************** 43 44 #include <stdint.h> 45 #include <stdio.h> 46 #include <stdlib.h> 47 #include <string.h> 48 49 #include "test_sequences.h" 50 51 52 #define TEST_SEQUENCE(test_sequence) { (char *)#test_sequence, (char**)test_sequence, sizeof(test_sequence) / sizeof(char *)} 53 54 /* Service Level Connection (slc) common commands */ 55 const char * slc_cmds_test1[] = { 56 "AT+BAC=1,3", 57 "OK" 58 }; 59 60 hfp_test_item_t slc_cmds_tests[] = { 61 TEST_SEQUENCE(slc_cmds_test1) 62 }; 63 64 /* Codecs Connection (cc) test sequences */ 65 const char * cc_test1[] = { 66 "AT+BCC", 67 "OK", 68 "+BCS:1", 69 "AT+BCS=1", 70 "OK" 71 }; 72 73 const char * cc_test2[] = { 74 "AT+BAC=1,2", 75 "OK", 76 "AT+BCC", 77 "OK", 78 "+BCS:1", 79 "AT+BCS=1", 80 "OK" 81 }; 82 83 84 const char * cc_test3[] = { 85 "AT+BAC=1,2", 86 "OK", 87 "AT+BCC", 88 "OK", 89 "+BCS:1", 90 "AT+BAC=2,3", 91 "OK", 92 "+BCS:3", 93 "AT+BCS=3", 94 "OK" 95 }; 96 97 const char * cc_test4[] = { 98 "AT+BCC", 99 "OK", 100 "+BCS:1", 101 "AT+BAC=2,3", 102 "OK", 103 "+BCS:3", 104 "AT+BCS=3", 105 "OK" 106 }; 107 108 109 hfp_test_item_t cc_tests[] = { 110 TEST_SEQUENCE(cc_test1), 111 TEST_SEQUENCE(cc_test2), 112 TEST_SEQUENCE(cc_test3), 113 TEST_SEQUENCE(cc_test4) 114 }; 115 116 /* Incoming call sequence */ 117 const char * ic_test1[] = { 118 "+CIEV:3,1", 119 "BCS:1", 120 "AT+BCS=1", 121 "OK" 122 }; 123 124 const char * ic_alert_test1[] = { 125 "ATA", 126 "OK", 127 "+CIEV:2,1", // call = 1 128 "+CIEV:3,0", 129 }; 130 131 const char * ic_ag_terminates_call[] = { 132 // AG terminates call 133 "+CIEV:2,0" 134 }; 135 136 const char * ic_hf_terminates_call[] = { 137 // HF terminates call 138 "AT+CHUP", 139 "OK", 140 "+CIEV:2,0" 141 }; 142 143 hfp_test_item_t ic_tests[] = { 144 TEST_SEQUENCE(ic_test1) 145 }; 146 147 /* PTS test sequences - SLC Group */ 148 149 const char * TC_AG_SLC_BV_01_C[] = { 150 "USER:a", 151 "AT+BRSF=127" , 152 "+BRSF:4079" , 153 "OK" , 154 "AT+CIND=?" , 155 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 156 "OK" , 157 "AT+CIND?" , 158 "+CIND:1,0,0,3,5,0,0" , 159 "OK" , 160 "AT+CMER=3,0,0,1" , 161 "OK" , 162 "AT+CHLD=?" , 163 "+CHLD:(1,1x,2,2x,3)" , 164 "OK" , 165 "AT+VGS=9" , 166 "OK" , 167 "AT+VGM=9" , 168 "OK" , 169 "AT+CLIP=1" , 170 "OK" , 171 "AT+CCWA=1" , 172 "OK" , 173 "AT+CMEE=1" , 174 "OK" 175 }; 176 177 const char * TC_AG_SLC_BV_02_C[] = { 178 "USER:a", 179 "AT+BRSF=127" , 180 "+BRSF:4079" , 181 "OK" , 182 "AT+CIND=?" , 183 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 184 "OK" , 185 "AT+CIND?" , 186 "+CIND:1,0,0,3,5,0,0" , 187 "OK" , 188 "AT+CMER=3,0,0,1" , 189 "OK" , 190 "AT+CHLD=?" , 191 "+CHLD:(1,1x,2,2x,3)" , 192 "OK" , 193 "AT+VGS=9" , 194 "OK" , 195 "AT+VGM=9" , 196 "OK" , 197 "AT+CLIP=1" , 198 "OK" , 199 "AT+CCWA=1" , 200 "OK" , 201 "AT+CMEE=1" , 202 "OK" 203 }; 204 205 const char * TC_AG_SLC_BV_03_C[] = { 206 "USER:a", 207 "AT+BRSF=125" , 208 "+BRSF:4079" , 209 "OK" , 210 "AT+CIND=?" , 211 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 212 "OK" , 213 "AT+CIND?" , 214 "+CIND:1,0,0,3,5,0,0" , 215 "OK" , 216 "AT+CMER=3,0,0,1" , 217 "OK" , 218 "AT+VGS=9" , 219 "OK" , 220 "AT+VGM=9" , 221 "OK" , 222 "AT+CLIP=1" , 223 "OK" , 224 "AT+CCWA=1" , 225 "OK" , 226 "AT+CMEE=1" , 227 "OK" 228 }; 229 230 const char * TC_AG_SLC_BV_04_C[] = { 231 "USER:a", 232 "AT+BRSF=125" , 233 "+BRSF:4079" , 234 "OK" , 235 "AT+CIND=?" , 236 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 237 "OK" , 238 "AT+CIND?" , 239 "+CIND:1,0,0,3,5,0,0" , 240 "OK" , 241 "AT+CMER=3,0,0,1" , 242 "OK" , 243 "AT+VGS=9" , 244 "OK" , 245 "AT+VGM=9" , 246 "OK" , 247 "AT+CLIP=1" , 248 "OK" , 249 "AT+CCWA=1" , 250 "OK" , 251 "AT+CMEE=1" , 252 "OK" 253 }; 254 255 const char * TC_AG_SLC_BV_05_I[] = { 256 "USER:a", 257 "AT+BRSF=255" , 258 "+BRSF:4079" , 259 "OK" , 260 "AT+BAC=1" , 261 "OK" , 262 "AT+CIND=?" , 263 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 264 "OK" , 265 "AT+CIND?" , 266 "+CIND:1,0,0,3,5,0,0" , 267 "OK" , 268 "AT+CMER=3,0,0,1" , 269 "OK" , 270 "AT+CHLD=?" , 271 "+CHLD:(1,1x,2,2x,3)" , 272 "OK" , 273 "AT+VGS=9" , 274 "OK" , 275 "AT+VGM=9" , 276 "OK" , 277 "AT+CLIP=1" , 278 "OK" , 279 "AT+CCWA=1" , 280 "OK" , 281 "AT+CMEE=1" , 282 "OK" 283 }; 284 285 const char * TC_AG_SLC_BV_06_I[] = { 286 "USER:a", 287 "AT+BRSF=255" , 288 "+BRSF:4079" , 289 "OK" , 290 "AT+BAC=1" , 291 "OK" , 292 "AT+CIND=?" , 293 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 294 "OK" , 295 "AT+CIND?" , 296 "+CIND:1,0,0,3,5,0,0" , 297 "OK" , 298 "AT+CMER=3,0,0,1" , 299 "OK" , 300 "AT+CHLD=?" , 301 "+CHLD:(1,1x,2,2x,3)" , 302 "OK" , 303 "AT+VGS=9" , 304 "OK" , 305 "AT+VGM=9" , 306 "OK" , 307 "AT+CLIP=1" , 308 "OK" , 309 "AT+CCWA=1" , 310 "OK" , 311 "AT+CMEE=1" , 312 "OK" 313 }; 314 315 const char * TC_AG_SLC_BV_07_I[] = { 316 "USER:a", 317 "AT+BRSF=127" , 318 "+BRSF:4079" , 319 "OK" , 320 "AT+CIND=?" , 321 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 322 "OK" , 323 "AT+CIND?" , 324 "+CIND:1,0,0,3,5,0,0" , 325 "OK" , 326 "AT+CMER=3,0,0,1" , 327 "OK" , 328 "AT+CHLD=?" , 329 "+CHLD:(1,1x,2,2x,3)" , 330 "OK" , 331 "AT+VGS=9" , 332 "OK" , 333 "AT+VGM=9" , 334 "OK" , 335 "AT+CLIP=1" , 336 "OK" , 337 "AT+CCWA=1" , 338 "OK" , 339 "AT+CMEE=1" , 340 "OK" 341 }; 342 343 const char * TC_AG_SLC_BV_09_I[] = { 344 "USER:a", 345 "AT+BRSF=895" , 346 "+BRSF:4079" , 347 "OK" , 348 "AT+CIND=?" , 349 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 350 "OK" , 351 "AT+CIND?" , 352 "+CIND:1,0,0,3,5,0,0" , 353 "OK" , 354 "AT+CMER=3,0,0,1" , 355 "OK" , 356 "AT+CHLD=?" , 357 "+CHLD:(1,1x,2,2x,3)" , 358 "OK" , 359 "AT+BIND=1,99" , 360 "OK" , 361 "AT+BIND=?" , 362 "+BIND:(1,2,)" , 363 "OK" , 364 "AT+BIND?" , 365 "+BIND:1,1", 366 "+BIND:2,1" , 367 "OK" , 368 "AT+VGS=9" , 369 "OK" , 370 "AT+VGM=9" , 371 "OK" , 372 "AT+CLIP=1" , 373 "OK" , 374 "AT+CCWA=1" , 375 "OK" , 376 "AT+CMEE=1" , 377 "OK" 378 }; 379 380 const char * TC_AG_SLC_BV_10_I[] = { 381 "USER:a", 382 "AT+BRSF=127" , 383 "+BRSF:4079" , 384 "OK" , 385 "AT+CIND=?" , 386 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 387 "OK" , 388 "AT+CIND?" , 389 "+CIND:1,0,0,3,5,0,0" , 390 "OK" , 391 "AT+CMER=3,0,0,1" , 392 "OK" , 393 "AT+CHLD=?" , 394 "+CHLD:(1,1x,2,2x,3)" , 395 "OK" , 396 "AT+VGS=9" , 397 "OK" , 398 "AT+VGM=9" , 399 "OK" , 400 "AT+CLIP=1" , 401 "OK" , 402 "AT+CCWA=1" , 403 "OK" , 404 "AT+CMEE=1" , 405 "OK" 406 }; 407 408 hfp_test_item_t pts_ag_slc_tests[] = { 409 TEST_SEQUENCE(TC_AG_SLC_BV_01_C), 410 TEST_SEQUENCE(TC_AG_SLC_BV_02_C), 411 TEST_SEQUENCE(TC_AG_SLC_BV_03_C), 412 TEST_SEQUENCE(TC_AG_SLC_BV_04_C), 413 TEST_SEQUENCE(TC_AG_SLC_BV_05_I), 414 TEST_SEQUENCE(TC_AG_SLC_BV_06_I), 415 TEST_SEQUENCE(TC_AG_SLC_BV_07_I), 416 TEST_SEQUENCE(TC_AG_SLC_BV_09_I), 417 TEST_SEQUENCE(TC_AG_SLC_BV_10_I) 418 }; 419 420 421 const char * TC_HF_SLC_BV_01_C[] = { 422 "AT+BRSF=951" , 423 "+BRSF: 511" , 424 "OK" , 425 "AT+CIND=?" , 426 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 427 "OK" , 428 "AT+CIND?" , 429 "+CIND: 1,0,0,0,5,0,5" , 430 "OK" , 431 "AT+CMER=3,0,0,1" , 432 "OK" , 433 "AT+CHLD=?" , 434 "+CHLD: (0,1,1x,2,2x,3,4)" , 435 "OK" , 436 "USER:Q", 437 "+BSIR: 0" , 438 "USER:O", // 'AT+VGS=9" , 439 "OK" , 440 "OK" 441 }; 442 443 const char * TC_HF_SLC_BV_02_C[] = { 444 "AT+BRSF=951" , 445 "+BRSF: 511" , 446 "OK" , 447 "AT+CIND=?" , 448 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 449 "OK" , 450 "AT+CIND?" , 451 "+CIND: 1,0,0,0,5,0,5" , 452 "OK" , 453 "AT+CMER=3,0,0,1" , 454 "OK" , 455 "AT+CHLD=?" , 456 "+CHLD: (0,1,1x,2,2x,3,4)" , 457 "OK" , 458 "USER:Q", // "AT+VGM=9" , 459 "USER:O", // 'AT+VGS=9" , 460 "+BSIR: 0" , 461 "OK" , 462 "OK" 463 }; 464 465 const char * TC_HF_SLC_BV_03_C[] = { 466 "AT+BRSF=951" , 467 "+BRSF: 510" , 468 "OK" , 469 "AT+CIND=?" , 470 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 471 "OK" , 472 "AT+CIND?" , 473 "+CIND: 1,0,0,0,5,0,5" , 474 "OK" , 475 "AT+CMER=3,0,0,1" , 476 "OK" , 477 "USER:Q", // "AT+VGM=9" , 478 "USER:O", // 'AT+VGS=9" , 479 "+BSIR: 0" , 480 "OK" , 481 "OK" 482 }; 483 484 const char * TC_HF_SLC_BV_04_C[] = { 485 "AT+BRSF=951" , 486 "+BRSF: 510" , 487 "OK" , 488 "AT+CIND=?" , 489 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 490 "OK" , 491 "AT+CIND?" , 492 "+CIND: 1,0,0,0,5,0,5" , 493 "OK" , 494 "AT+CMER=3,0,0,1" , 495 "OK" , 496 "USER:Q", // "AT+VGM=9" , 497 "USER:O", // 'AT+VGS=9" , 498 "+BSIR: 0" , 499 "OK" , 500 "OK" 501 }; 502 503 const char * TC_HF_SLC_BV_05_I[] = { 504 "AT+BRSF=951" , 505 "+BRSF: 1023" , 506 "OK" , 507 "AT+BAC=1,2" , 508 "OK" , 509 "AT+CIND=?" , 510 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 511 "OK" , 512 "AT+CIND?" , 513 "+CIND: 1,0,0,0,5,0,5" , 514 "OK" , 515 "AT+CMER=3,0,0,1" , 516 "OK" , 517 "AT+CHLD=?" , 518 "+CHLD: (0,1,1x,2,2x,3,4)" , 519 "OK" , 520 "USER:Q", // "AT+VGM=9" , 521 "USER:O", // 'AT+VGS=9" , 522 "+BSIR: 0" , 523 "OK" , 524 "OK" 525 }; 526 527 const char * TC_HF_SLC_BV_06_I[] = { 528 "AT+BRSF=951" , 529 "+BRSF: 1023" , 530 "OK" , 531 "AT+BAC=1,2" , 532 "OK" , 533 "AT+CIND=?" , 534 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 535 "OK" , 536 "AT+CIND?" , 537 "+CIND: 1,0,0,0,5,0,5" , 538 "OK" , 539 "AT+CMER=3,0,0,1" , 540 "OK" , 541 "AT+CHLD=?" , 542 "+CHLD: (0,1,1x,2,2x,3,4)" , 543 "OK" , 544 "USER:Q", // "AT+VGM=9" , 545 "USER:O", // 'AT+VGS=9" , 546 "+BSIR: 0" , 547 "OK" , 548 "OK" 549 }; 550 551 const char * TC_HF_SLC_BV_08_I[] = { 552 "AT+BRSF=951" , 553 "+BRSF: 511" , 554 "OK" , 555 "AT+CIND=?" , 556 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 557 "OK" , 558 "AT+CIND?" , 559 "+CIND: 1,0,0,0,5,0,5" , 560 "OK" , 561 "AT+CMER=3,0,0,1" , 562 "OK" , 563 "AT+CHLD=?" , 564 "+CHLD: (0,1,1x,2,2x,3,4)" , 565 "OK" , 566 "USER:Q", // "AT+VGM=9" , 567 "USER:O", // 'AT+VGS=9" , 568 "+BSIR: 0" , 569 "OK" , 570 "OK" 571 }; 572 573 const char * TC_HF_SLC_BV_09_I[] = { 574 "AT+BRSF=951" , 575 "+BRSF: 3583" , 576 "OK" , 577 "AT+CIND=?" , 578 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 579 "OK" , 580 "AT+CIND?" , 581 "+CIND: 1,0,0,0,5,0,5" , 582 "OK" , 583 "AT+CMER=3,0,0,1" , 584 "OK" , 585 "AT+CHLD=?" , 586 "+CHLD: (0,1,1x,2,2x,3,4)" , 587 "OK" , 588 "AT+BIND=1" , 589 "OK" , 590 "AT+BIND=?" , 591 "+BIND: (1)" , 592 "OK" , 593 "AT+BIND?" , 594 "+BIND: 1,1" , 595 "OK" , 596 "USER:Q", // "AT+VGM=9" , 597 "USER:O", // 'AT+VGS=9" , 598 "+BSIR: 0" , 599 "OK" , 600 "OK" 601 }; 602 603 const char * TC_HF_SLC_BV_10_I[] = { 604 "AT+BRSF=951" , 605 "+BRSF: 511" , 606 "OK" , 607 "AT+CIND=?" , 608 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 609 "OK" , 610 "AT+CIND?" , 611 "+CIND: 1,0,0,0,5,0,5" , 612 "OK" , 613 "AT+CMER=3,0,0,1" , 614 "OK" , 615 "AT+CHLD=?" , 616 "+CHLD: (0,1,1x,2,2x,3,4)" , 617 "OK" , 618 "USER:Q", // "AT+VGM=9" , 619 "USER:O", // 'AT+VGS=9" , 620 "+BSIR: 0" , 621 "OK" , 622 "OK" 623 }; 624 625 hfp_test_item_t pts_hf_slc_tests[] = { 626 TEST_SEQUENCE(TC_HF_SLC_BV_01_C), 627 TEST_SEQUENCE(TC_HF_SLC_BV_02_C), 628 TEST_SEQUENCE(TC_HF_SLC_BV_03_C), 629 TEST_SEQUENCE(TC_HF_SLC_BV_04_C), 630 TEST_SEQUENCE(TC_HF_SLC_BV_05_I), 631 TEST_SEQUENCE(TC_HF_SLC_BV_06_I), 632 TEST_SEQUENCE(TC_HF_SLC_BV_08_I), 633 TEST_SEQUENCE(TC_HF_SLC_BV_09_I), 634 TEST_SEQUENCE(TC_HF_SLC_BV_10_I), 635 }; 636 637 638 /* PTS test sequences - ATA Group */ 639 640 const char * TC_AG_ATA_BV_01_I[] = { 641 "USER:a", 642 "AT+BRSF=127" , 643 "+BRSF:4079" , 644 "OK" , 645 "AT+CIND=?" , 646 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 647 "OK" , 648 "AT+CIND?" , 649 "+CIND:1,0,0,3,5,0,0" , 650 "OK" , 651 "AT+CMER=3,0,0,1" , 652 "OK" , 653 "AT+CHLD=?" , 654 "+CHLD:(1,1x,2,2x,3)" , 655 "OK" , 656 "AT+VGS=9" , 657 "OK" , 658 "AT+VGM=9" , 659 "OK" , 660 "AT+CLIP=1" , 661 "OK" , 662 "AT+CCWA=1" , 663 "OK" , 664 "AT+CMEE=1" , 665 "OK" , 666 "USER:c", 667 "+CIEV:3,1" , 668 "RING" , 669 "+CLIP: \"1234567\",129" , 670 "ATA" , 671 "OK" , 672 "+CIEV:2,1" , 673 "+CIEV:3,0" , 674 "USER:C", 675 "USER:B", 676 "USER:t", 677 "+CIEV:2,0" 678 }; 679 680 const char * TC_AG_ATA_BV_02_I[] = { 681 "USER:a", 682 "AT+BRSF=127" , 683 "+BRSF:4079" , 684 "OK" , 685 "AT+CIND=?" , 686 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 687 "OK" , 688 "AT+CIND?" , 689 "+CIND:1,0,0,3,5,0,0" , 690 "OK" , 691 "AT+CMER=3,0,0,1" , 692 "OK" , 693 "AT+CHLD=?" , 694 "+CHLD:(1,1x,2,2x,3)" , 695 "OK" , 696 "AT+VGS=9" , 697 "OK" , 698 "AT+VGM=9" , 699 "OK" , 700 "AT+CLIP=1" , 701 "OK" , 702 "AT+CCWA=1" , 703 "OK" , 704 "AT+CMEE=1" , 705 "OK" , 706 "USER:c", 707 "+CIEV:3,1" , 708 "RING" , 709 "+CLIP: \"1234567\",129" , 710 "ATA" , 711 "OK" , 712 "+CIEV:2,1" , 713 "+CIEV:3,0" , 714 "USER:C", 715 "USER:t", 716 "+CIEV:2,0" 717 }; 718 719 hfp_test_item_t pts_ag_ata_tests[] = { 720 TEST_SEQUENCE(TC_AG_ATA_BV_01_I), 721 TEST_SEQUENCE(TC_AG_ATA_BV_02_I) 722 }; 723 724 const char * TC_HF_ATA_BV_01_I[] = { 725 "AT+BRSF=951" , 726 "+BRSF: 511" , 727 "OK" , 728 "AT+CIND=?" , 729 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 730 "OK" , 731 "AT+CIND?" , 732 "+CIND: 1,0,0,0,5,0,5" , 733 "OK" , 734 "AT+CMER=3,0,0,1" , 735 "OK" , 736 "AT+CHLD=?" , 737 "+CHLD: (0,1,1x,2,2x,3,4)" , 738 "OK" , 739 "AT+VGM=9" , 740 "AT+VGS=9" , 741 "+BSIR: 0" , 742 "OK" , 743 "OK" , 744 "+CIEV: 3,1" , 745 "RING" , 746 "RING" , 747 "RING" , 748 "USER:f", // "ATA" , 749 "OK" , 750 "+CIEV: 2,1" , 751 "+CIEV: 3,0" , 752 "USER:B", 753 "+CIEV: 2,0" 754 }; 755 756 const char * TC_HF_ATA_BV_02_I[] = { 757 "AT+BRSF=951" , 758 "+BRSF: 511" , 759 "OK" , 760 "AT+CIND=?" , 761 "+CIND: (\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))" , 762 "OK" , 763 "AT+CIND?" , 764 "+CIND: 1,0,0,0,5,0,5" , 765 "OK" , 766 "AT+CMER=3,0,0,1" , 767 "OK" , 768 "AT+CHLD=?" , 769 "+CHLD: (0,1,1x,2,2x,3,4)" , 770 "OK" , 771 "AT+VGM=9" , 772 "AT+VGS=9" , 773 "+BSIR: 0" , 774 "OK" , 775 "OK" , 776 "+CIEV: 3,1" , 777 "RING" , 778 "RING" , 779 "USER:f", // "ATA" , 780 "OK" , 781 "+CIEV: 2,1" , 782 "+CIEV: 3,0" , 783 "USER:t" 784 }; 785 786 hfp_test_item_t pts_hf_ata_tests[] = { 787 TEST_SEQUENCE(TC_HF_ATA_BV_01_I), 788 TEST_SEQUENCE(TC_HF_ATA_BV_02_I) 789 }; 790 791 792 /* PTS test sequences - TWC Group */ 793 794 const char * TC_AG_TWC_BV_01_I[] = { 795 "USER:a", 796 "AT+BRSF=127" , 797 "+BRSF:4079" , 798 "OK" , 799 "AT+CIND=?" , 800 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 801 "OK" , 802 "AT+CIND?" , 803 "+CIND:1,0,0,3,5,0,0" , 804 "OK" , 805 "AT+CMER=3,0,0,1" , 806 "OK" , 807 "AT+CHLD=?" , 808 "+CHLD:(1,1x,2,2x,3)" , 809 "OK" , 810 "AT+VGS=9" , 811 "OK" , 812 "AT+VGM=9" , 813 "OK" , 814 "AT+CLIP=1" , 815 "OK" , 816 "AT+CCWA=1" , 817 "OK" , 818 "AT+CMEE=1" , 819 "OK" , 820 "USER:c", 821 "+CIEV:3,1" , 822 "RING" , 823 "+CLIP: \"1234567\",129" , 824 "ATA" , 825 "OK" , 826 "+CIEV:2,1" , 827 "+CIEV:3,0" , 828 "USER:m", 829 "+CCWA: \"7654321\",129" , 830 "+CIEV:3,1" , 831 "AT+CHLD=0" , 832 "OK" , 833 "+CIEV:3,0" , 834 "USER:C", 835 "+CIEV:2,0", 836 "USER:t" 837 }; 838 839 const char * TC_AG_TWC_BV_02_I[] = { 840 "USER:a", 841 "AT+BRSF=127" , 842 "+BRSF:4079" , 843 "OK" , 844 "AT+CIND=?" , 845 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 846 "OK" , 847 "AT+CIND?" , 848 "+CIND:1,0,0,3,5,0,0" , 849 "OK" , 850 "AT+CMER=3,0,0,1" , 851 "OK" , 852 "AT+CHLD=?" , 853 "+CHLD:(1,1x,2,2x,3)" , 854 "OK" , 855 "AT+VGS=9" , 856 "OK" , 857 "AT+VGM=9" , 858 "OK" , 859 "AT+CLIP=1" , 860 "OK" , 861 "AT+CCWA=1" , 862 "OK" , 863 "AT+CMEE=1" , 864 "OK" , 865 "USER:c", 866 "+CIEV:3,1" , 867 "RING" , 868 "+CLIP: \"1234567\",129" , 869 "ATA" , 870 "OK" , 871 "+CIEV:2,1" , 872 "+CIEV:3,0" , 873 "USER:m", 874 "+CCWA: \"7654321\",129" , 875 "+CIEV:3,1" , 876 "AT+CHLD=1" , 877 "OK" , 878 "+CIEV:3,0" , 879 "USER:C", 880 "+CIEV:2,0", 881 "USER:t" 882 }; 883 884 const char * TC_AG_TWC_BV_03_I[] = { 885 "USER:a", 886 "AT+BRSF=127" , 887 "+BRSF:4079" , 888 "OK" , 889 "AT+CIND=?" , 890 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 891 "OK" , 892 "AT+CIND?" , 893 "+CIND:1,0,0,3,5,0,0" , 894 "OK" , 895 "AT+CMER=3,0,0,1" , 896 "OK" , 897 "AT+CHLD=?" , 898 "+CHLD:(1,1x,2,2x,3)" , 899 "OK" , 900 "AT+VGS=9" , 901 "OK" , 902 "AT+VGM=9" , 903 "OK" , 904 "AT+CLIP=1" , 905 "OK" , 906 "AT+CCWA=1" , 907 "OK" , 908 "AT+CMEE=1" , 909 "OK" , 910 "USER:c", 911 "+CIEV:3,1" , 912 "RING" , 913 "+CLIP: \"1234567\",129" , 914 "ATA" , 915 "OK" , 916 "+CIEV:2,1" , 917 "+CIEV:3,0" , 918 "USER:m", 919 "+CCWA: \"7654321\",129" , 920 "+CIEV:3,1" , 921 "AT+CHLD=2" , 922 "OK" , 923 "+CIEV:3,0" , 924 "+CIEV:7,1" , 925 "AT+CHLD=2" , 926 "OK" , 927 "+CIEV:7,1" , 928 "AT+CHLD=1" , 929 "OK" , 930 "+CIEV:7,0" , 931 "USER:C", 932 "+CIEV:2,0", 933 "USER:t" 934 }; 935 936 const char * TC_AG_TWC_BV_04_I[] = { 937 "USER:c", 938 "USER:e", 939 "USER:m", 940 "USER:e", 941 "USER:a", 942 "AT+BRSF=127" , 943 "+BRSF:4079" , 944 "OK" , 945 "AT+CIND=?" , 946 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 947 "OK" , 948 "AT+CIND?" , 949 "+CIND:1,1,0,3,5,0,1" , 950 "OK" , 951 "AT+CMER=3,0,0,1" , 952 "OK" , 953 "AT+CHLD=?" , 954 "+CHLD:(1,1x,2,2x,3)" , 955 "OK" , 956 "AT+VGS=9" , 957 "OK" , 958 "AT+VGM=9" , 959 "OK" , 960 "AT+CLIP=1" , 961 "OK" , 962 "AT+CCWA=1" , 963 "OK" , 964 "AT+CMEE=1" , 965 "OK" , 966 "AT+CHLD=3" , 967 "OK" , 968 "USER:C", 969 "+CIEV:7,0" , 970 "+CIEV:2,0", 971 "USER:t" 972 }; 973 974 const char * TC_AG_TWC_BV_05_I[] = { 975 "USER:a" , 976 "AT+BRSF=127" , 977 "+BRSF:4079" , 978 "OK" , 979 "AT+CIND=?" , 980 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 981 "OK" , 982 "AT+CIND?" , 983 "+CIND:1,0,0,3,5,0,0" , 984 "OK" , 985 "AT+CMER=3,0,0,1" , 986 "OK" , 987 "AT+CHLD=?" , 988 "+CHLD:(1,1x,2,2x,3)" , 989 "OK" , 990 "AT+VGS=9" , 991 "OK" , 992 "AT+VGM=9" , 993 "OK" , 994 "AT+CLIP=1" , 995 "OK" , 996 "AT+CCWA=1" , 997 "OK" , 998 "AT+CMEE=1" , 999 "OK" , 1000 "USER:c" , 1001 "+CIEV:3,1" , 1002 "RING" , 1003 "+CLIP: \"1234567\",129" , 1004 "ATA" , 1005 "OK" , 1006 "+CIEV:2,1" , 1007 "+CIEV:3,0" , 1008 "AT+BLDN" , 1009 "+CIEV:7,2" , 1010 "OK" , 1011 "+CIEV:3,2" , 1012 "USER:j" , 1013 "+CIEV:2,1" , 1014 "+CIEV:3,0" , 1015 "+CIEV:7,1" , 1016 "AT+CHLD=1" , 1017 "OK" , 1018 "+CIEV:7,0" , 1019 "USER:C" , 1020 "+CIEV:2,0" , 1021 "USER:t" 1022 }; 1023 1024 const char * TC_AG_TWC_BV_06_I[] = { 1025 "USER:a" , 1026 "AT+BRSF=127" , 1027 "+BRSF:4079" , 1028 "OK" , 1029 "AT+CIND=?" , 1030 "+CIND:(\"service\",(0,1)),(\"call\",(0,1)),(\"callsetup\",(0,3)),(\"battchg\",(0,5)),(\"signal\",(0,5)),(\"roam\",(0,1)),(\"callheld\",(0,2))" , 1031 "OK" , 1032 "AT+CIND?" , 1033 "+CIND:1,0,0,3,5,0,0" , 1034 "OK" , 1035 "AT+CMER=3,0,0,1" , 1036 "OK" , 1037 "AT+CHLD=?" , 1038 "+CHLD:(1,1x,2,2x,3)" , 1039 "OK" , 1040 "AT+VGS=9" , 1041 "OK" , 1042 "AT+VGM=9" , 1043 "OK" , 1044 "AT+CLIP=1" , 1045 "OK" , 1046 "AT+CCWA=1" , 1047 "OK" , 1048 "AT+CMEE=1" , 1049 "OK" , 1050 "USER:c" , 1051 "+CIEV:3,1" , 1052 "RING" , 1053 "+CLIP: \"1234567\",129" , 1054 "ATA" , 1055 "OK" , 1056 "+CIEV:2,1" , 1057 "+CIEV:3,0" , 1058 "USER:m" , 1059 "+CCWA: \"7654321\",129" , 1060 "+CIEV:3,1" , 1061 "AT+CHLD=2" , 1062 "OK" , 1063 "+CIEV:3,0" , 1064 "+CIEV:7,1" , 1065 "AT+CHLD=4" , 1066 "OK" , 1067 "+CIEV:2,0" , 1068 "+CIEV:7,0" , 1069 "USER:B" , 1070 "USER:A" 1071 }; 1072 1073 hfp_test_item_t pts_ag_twc_tests[] = { 1074 TEST_SEQUENCE(TC_AG_TWC_BV_01_I), 1075 TEST_SEQUENCE(TC_AG_TWC_BV_02_I), 1076 TEST_SEQUENCE(TC_AG_TWC_BV_03_I), 1077 TEST_SEQUENCE(TC_AG_TWC_BV_04_I), 1078 TEST_SEQUENCE(TC_AG_TWC_BV_05_I), 1079 TEST_SEQUENCE(TC_AG_TWC_BV_06_I) 1080 }; 1081 1082 1083 const char * TC_HF_TWC_BV_01_I[] = { 1084 1085 }; 1086 const char * TC_HF_TWC_BV_02_I[] = { 1087 1088 }; 1089 const char * TC_HF_TWC_BV_03_I[] = { 1090 1091 }; 1092 const char * TC_HF_TWC_BV_04_I[] = { 1093 1094 }; 1095 const char * TC_HF_TWC_BV_05_I[] = { 1096 1097 }; 1098 const char * TC_HF_TWC_BV_06_I[] = { 1099 1100 }; 1101 hfp_test_item_t pts_hf_twc_tests[] = { 1102 TEST_SEQUENCE(TC_HF_TWC_BV_01_I), 1103 TEST_SEQUENCE(TC_HF_TWC_BV_02_I), 1104 TEST_SEQUENCE(TC_HF_TWC_BV_03_I), 1105 TEST_SEQUENCE(TC_HF_TWC_BV_04_I), 1106 TEST_SEQUENCE(TC_HF_TWC_BV_05_I), 1107 TEST_SEQUENCE(TC_HF_TWC_BV_06_I) 1108 }; 1109 1110 1111 /* PTS test sequences - ECS Group */ 1112 const char * TC_AG_ECS_BV_01_I[] = {}; 1113 const char * TC_AG_ECS_BV_02_I[] = {}; 1114 const char * TC_AG_ECS_BV_03_I[] = {}; 1115 1116 1117 hfp_test_item_t pts_ag_ecs_tests[] = { 1118 TEST_SEQUENCE(TC_AG_ECS_BV_01_I), 1119 TEST_SEQUENCE(TC_AG_ECS_BV_02_I), 1120 TEST_SEQUENCE(TC_AG_ECS_BV_03_I) 1121 }; 1122 1123 1124 const char * TC_HF_ECS_BV_01_I[] = {}; 1125 const char * TC_HF_ECS_BV_02_I[] = {}; 1126 const char * TC_HF_ECS_BV_03_I[] = {}; 1127 1128 hfp_test_item_t pts_hf_ecs_tests[] = { 1129 TEST_SEQUENCE(TC_HF_ECS_BV_01_I), 1130 TEST_SEQUENCE(TC_HF_ECS_BV_02_I), 1131 TEST_SEQUENCE(TC_HF_ECS_BV_03_I) 1132 }; 1133 1134 1135 /* PTS test sequences - ECC Group */ 1136 const char * TC_AG_ECC_BV_01_I[] = {}; 1137 const char * TC_AG_ECC_BV_02_I[] = {}; 1138 const char * TC_AG_ECC_BV_03_I[] = {}; 1139 const char * TC_AG_ECC_BV_04_I[] = {}; 1140 1141 hfp_test_item_t pts_ag_ecc_tests[] = { 1142 TEST_SEQUENCE(TC_AG_ECC_BV_01_I), 1143 TEST_SEQUENCE(TC_AG_ECC_BV_02_I), 1144 TEST_SEQUENCE(TC_AG_ECC_BV_03_I), 1145 TEST_SEQUENCE(TC_AG_ECC_BV_04_I) 1146 }; 1147 1148 const char * TC_HF_ECC_BV_01_I[] = {}; 1149 const char * TC_HF_ECC_BV_02_I[] = {}; 1150 const char * TC_HF_ECC_BV_03_I[] = {}; 1151 const char * TC_HF_ECC_BV_04_I[] = {}; 1152 1153 hfp_test_item_t pts_hf_ecc_tests[] = { 1154 TEST_SEQUENCE(TC_HF_ECC_BV_01_I), 1155 TEST_SEQUENCE(TC_HF_ECC_BV_02_I), 1156 TEST_SEQUENCE(TC_HF_ECC_BV_03_I), 1157 TEST_SEQUENCE(TC_HF_ECC_BV_04_I) 1158 }; 1159 1160 1161 /* PTS test sequences - RHH Group */ 1162 const char * TC_AG_RHH_BV_01_I[] = {}; 1163 const char * TC_AG_RHH_BV_02_I[] = {}; 1164 const char * TC_AG_RHH_BV_03_I[] = {}; 1165 const char * TC_AG_RHH_BV_04_I[] = {}; 1166 const char * TC_AG_RHH_BV_05_I[] = {}; 1167 const char * TC_AG_RHH_BV_06_I[] = {}; 1168 const char * TC_AG_RHH_BV_07_I[] = {}; 1169 const char * TC_AG_RHH_BV_08_I[] = {}; 1170 1171 hfp_test_item_t pts_ag_rhh_tests[] = { 1172 TEST_SEQUENCE(TC_AG_RHH_BV_01_I), 1173 TEST_SEQUENCE(TC_AG_RHH_BV_02_I), 1174 TEST_SEQUENCE(TC_AG_RHH_BV_03_I), 1175 TEST_SEQUENCE(TC_AG_RHH_BV_04_I), 1176 TEST_SEQUENCE(TC_AG_RHH_BV_05_I), 1177 TEST_SEQUENCE(TC_AG_RHH_BV_06_I), 1178 TEST_SEQUENCE(TC_AG_RHH_BV_07_I), 1179 TEST_SEQUENCE(TC_AG_RHH_BV_08_I) 1180 }; 1181 1182 const char * TC_HF_RHH_BV_01_I[] = {}; 1183 const char * TC_HF_RHH_BV_02_I[] = {}; 1184 const char * TC_HF_RHH_BV_03_I[] = {}; 1185 const char * TC_HF_RHH_BV_04_I[] = {}; 1186 const char * TC_HF_RHH_BV_05_I[] = {}; 1187 const char * TC_HF_RHH_BV_06_I[] = {}; 1188 const char * TC_HF_RHH_BV_07_I[] = {}; 1189 const char * TC_HF_RHH_BV_08_I[] = {}; 1190 1191 hfp_test_item_t pts_hf_rhh_tests[] = { 1192 TEST_SEQUENCE(TC_HF_RHH_BV_01_I), 1193 TEST_SEQUENCE(TC_HF_RHH_BV_02_I), 1194 TEST_SEQUENCE(TC_HF_RHH_BV_03_I), 1195 TEST_SEQUENCE(TC_HF_RHH_BV_04_I), 1196 TEST_SEQUENCE(TC_HF_RHH_BV_05_I), 1197 TEST_SEQUENCE(TC_HF_RHH_BV_06_I), 1198 TEST_SEQUENCE(TC_HF_RHH_BV_07_I), 1199 TEST_SEQUENCE(TC_HF_RHH_BV_08_I) 1200 }; 1201 1202 ///////// 1203 static int test_item_size = sizeof(hfp_test_item_t); 1204 1205 // CC 1206 int hfp_cc_tests_size(){ return sizeof(cc_tests) /test_item_size;} 1207 hfp_test_item_t * hfp_cc_tests(){ return cc_tests;} 1208 hfp_test_item_t * default_hfp_cc_test(){ return &cc_tests[0];} 1209 1210 // PTS - SLC Group 1211 int hfp_pts_ag_slc_tests_size(){ return sizeof(pts_ag_slc_tests)/test_item_size;} 1212 hfp_test_item_t * hfp_pts_ag_slc_tests(){ return pts_ag_slc_tests;} 1213 1214 int hfp_pts_hf_slc_tests_size(){ return sizeof(pts_hf_slc_tests)/test_item_size;} 1215 hfp_test_item_t * hfp_pts_hf_slc_tests(){ return pts_hf_slc_tests;} 1216 1217 // PTS - ATA Group 1218 int hfp_pts_ag_ata_tests_size(){ return sizeof(pts_ag_ata_tests)/test_item_size;} 1219 hfp_test_item_t * hfp_pts_ag_ata_tests(){ return pts_ag_ata_tests;} 1220 1221 int hfp_pts_hf_ata_tests_size(){ return sizeof(pts_hf_ata_tests)/test_item_size;} 1222 hfp_test_item_t * hfp_pts_hf_ata_tests(){ return pts_hf_ata_tests;} 1223 1224 // PTS - TWC Group 1225 int hfp_pts_ag_twc_tests_size(){ return sizeof(pts_ag_twc_tests)/test_item_size;} 1226 hfp_test_item_t * hfp_pts_ag_twc_tests(){ return pts_ag_twc_tests;} 1227 int hfp_pts_hf_twc_tests_size(){ return sizeof(pts_hf_twc_tests)/test_item_size;} 1228 hfp_test_item_t * hfp_pts_hf_twc_tests(){ return pts_hf_twc_tests;} 1229 1230 // PTS - ECS Group 1231 int hfp_pts_ag_ecs_tests_size(){ return sizeof(pts_ag_ecs_tests)/test_item_size;} 1232 hfp_test_item_t * hfp_pts_ag_ecs_tests(){ return pts_ag_ecs_tests;} 1233 int hfp_pts_hf_ecs_tests_size(){ return sizeof(pts_hf_ecs_tests)/test_item_size;} 1234 hfp_test_item_t * hfp_pts_hf_ecs_tests(){ return pts_hf_ecs_tests;} 1235 1236 // PTS - ECC Group 1237 int hfp_pts_ag_ecc_tests_size(){ return sizeof(pts_ag_ecc_tests)/test_item_size;} 1238 hfp_test_item_t * hfp_pts_ag_ecc_tests(){ return pts_ag_ecc_tests;} 1239 int hfp_pts_hf_ecc_tests_size(){ return sizeof(pts_hf_ecc_tests)/test_item_size;} 1240 hfp_test_item_t * hfp_pts_hf_ecc_tests(){ return pts_hf_ecc_tests;} 1241 1242 // PTS - RHH Group 1243 int hfp_pts_ag_rhh_tests_size(){ return sizeof(pts_ag_rhh_tests)/test_item_size;} 1244 hfp_test_item_t * hfp_pts_ag_rhh_tests(){ return pts_ag_rhh_tests;} 1245 int hfp_pts_hf_rhh_tests_size(){ return sizeof(pts_hf_rhh_tests)/test_item_size;} 1246 hfp_test_item_t * hfp_pts_hf_rhh_tests(){ return pts_hf_rhh_tests;} 1247 1248 1249