1[ 2 { 3 "name": "c_glib", 4 "platforms": [ 5 "Linux" 6 ], 7 "server": { 8 "command": [ 9 "test_server", 10 "--lt-debug" 11 ], 12 "protocols": [ 13 "binary:multi", 14 "compact:multic" 15 ] 16 }, 17 "client": { 18 "command": [ 19 "test_client", 20 "--lt-debug" 21 ], 22 "protocols": [ 23 "multi:binary", 24 "multic:compact" 25 ], 26 "sockets": [ 27 "ip-ssl" 28 ] 29 }, 30 "transports": [ 31 "buffered", 32 "framed" 33 ], 34 "sockets": [ 35 "ip", 36 "domain" 37 ], 38 "protocols": [ 39 "binary", 40 "compact", 41 "multi", 42 "multic" 43 ], 44 "workdir": "c_glib" 45 }, 46 { 47 "name": "cl", 48 "server": { 49 "command": ["TestServer"], 50 "workdir": "cl", 51 "protocols": ["binary", "multi"], 52 "transports": ["buffered", "framed"], 53 "sockets": ["ip"] 54 }, 55 "client": { 56 "command": ["TestClient"], 57 "workdir": "cl", 58 "protocols": ["binary", "multi"], 59 "transports": ["buffered", "framed"], 60 "sockets": ["ip"] 61 } 62 }, 63 { 64 "name": "d", 65 "server": { 66 "command": [ 67 "thrift_test_server", 68 "--trace" 69 ] 70 }, 71 "client": { 72 "command": [ 73 "thrift_test_client" 74 ] 75 }, 76 "transports": [ 77 "http", 78 "buffered", 79 "framed", 80 "zlib" 81 ], 82 "sockets": [ 83 "ip", 84 "ip-ssl" 85 ], 86 "protocols": [ 87 "binary", 88 "compact", 89 "json" 90 ], 91 "workdir": "../lib/d/test" 92 }, 93 { 94 "name": "go", 95 "server": { 96 "command": [ 97 "testserver", 98 "--certPath=../../keys" 99 ] 100 }, 101 "client": { 102 "timeout": 6, 103 "command": [ 104 "testclient" 105 ] 106 }, 107 "transports": [ 108 "buffered", 109 "framed", 110 "http", 111 "zlib" 112 ], 113 "sockets": [ 114 "ip", 115 "ip-ssl" 116 ], 117 "protocols": [ 118 "binary", 119 "compact", 120 "json", 121 "header" 122 ], 123 "workdir": "go/bin" 124 }, 125 { 126 "name": "java", 127 "join_args": false, 128 "server": { 129 "delay": 15, 130 "command": [ 131 "build/runserver" 132 ], 133 "protocols": [ 134 "binary:multi", 135 "compact:multic", 136 "json:multij" 137 ] 138 }, 139 "client": { 140 "timeout": 13, 141 "command": [ 142 "build/runclient" 143 ], 144 "transports": [ 145 "http" 146 ], 147 "protocols": [ 148 "multi:binary", 149 "multic:compact", 150 "multij:json" 151 ] 152 }, 153 "transports": [ 154 "buffered", 155 "framed", 156 "framed:fastframed", 157 "zlib" 158 ], 159 "sockets": [ 160 "ip", 161 "ip-ssl" 162 ], 163 "protocols": [ 164 "binary", 165 "compact", 166 "json", 167 "multi", 168 "multic", 169 "multij" 170 ], 171 "workdir": "../lib/java" 172 }, 173 { 174 "name": "kotlin", 175 "join_args": false, 176 "server": { 177 "delay": 15, 178 "command": [ 179 "cross-test-server/build/install/TestServer/bin/TestServer" 180 ], 181 "protocols": [ 182 "binary" 183 ] 184 }, 185 "client": { 186 "timeout": 13, 187 "command": [ 188 "cross-test-client/build/install/TestClient/bin/TestClient" 189 ], 190 "transports": [ 191 "framed" 192 ], 193 "protocols": [ 194 "binary" 195 ] 196 }, 197 "transports": [ 198 "framed" 199 ], 200 "sockets": [ 201 "ip" 202 ], 203 "protocols": [ 204 "binary", 205 "compact", 206 "json" 207 ], 208 "workdir": "../lib/kotlin" 209 }, 210 { 211 "name": "nodejs", 212 "env": { 213 "NODE_PATH": "../lib" 214 }, 215 "server": { 216 "command": [ 217 "node", 218 "server.js", 219 "--type=tcp" 220 ] 221 }, 222 "client": { 223 "timeout": 6, 224 "command": [ 225 "node", 226 "client.js", 227 "--type=tcp" 228 ] 229 }, 230 "transports": [ 231 "buffered", 232 "framed", 233 "http", 234 "websocket" 235 ], 236 "sockets": [ 237 "ip", 238 "ip-ssl", 239 "domain" 240 ], 241 "protocols": [ 242 "compact", 243 "binary", 244 "json", 245 "header" 246 ], 247 "workdir": "../lib/nodejs/test" 248 }, 249 { 250 "name": "hs", 251 "server": { 252 "command": [ 253 "TestServer" 254 ] 255 }, 256 "client": { 257 "timeout": 6, 258 "transports": [ 259 "http" 260 ], 261 "command": [ 262 "TestClient" 263 ] 264 }, 265 "transports": [ 266 "buffered", 267 "framed" 268 ], 269 "sockets": [ 270 "ip" 271 ], 272 "protocols": [ 273 "header", 274 "compact", 275 "binary", 276 "json" 277 ], 278 "workdir": "hs" 279 }, 280 { 281 "name": "py", 282 "server": { 283 "extra_args": ["TSimpleServer"], 284 "command": [ 285 "TestServer.py", 286 "--verbose", 287 "--genpydir=gen-py" 288 ] 289 }, 290 "client": { 291 "timeout": 10, 292 "command": [ 293 "TestClient.py", 294 "--verbose", 295 "--host=localhost", 296 "--genpydir=gen-py" 297 ] 298 }, 299 "transports": [ 300 "buffered", 301 "framed", 302 "http", 303 "zlib" 304 ], 305 "sockets": [ 306 "ip", 307 "ip-ssl", 308 "domain" 309 ], 310 "protocols": [ 311 "binary", 312 "binary:accel", 313 "compact", 314 "compact:accelc", 315 "header", 316 "json", 317 "multi", 318 "multi:multia", 319 "multia", 320 "multiac", 321 "multic", 322 "multic:multiac", 323 "multih", 324 "multij" 325 ], 326 "workdir": "py" 327 }, 328 { 329 "comment": "Using 'python3' executable to test py2 and 3 at once", 330 "name": "py3", 331 "server": { 332 "extra_args": ["TSimpleServer"], 333 "command": [ 334 "python3", 335 "TestServer.py", 336 "--verbose", 337 "--genpydir=gen-py" 338 ] 339 }, 340 "client": { 341 "timeout": 10, 342 "command": [ 343 "python3", 344 "TestClient.py", 345 "--host=localhost", 346 "--genpydir=gen-py" 347 ] 348 }, 349 "transports": [ 350 "buffered", 351 "framed", 352 "http", 353 "zlib" 354 ], 355 "sockets": [ 356 "ip", 357 "ip-ssl", 358 "domain" 359 ], 360 "protocols": [ 361 "binary", 362 "binary:accel", 363 "compact", 364 "compact:accelc", 365 "header", 366 "json", 367 "multi", 368 "multi:multia", 369 "multia", 370 "multiac", 371 "multic", 372 "multic:multiac", 373 "multih", 374 "multij" 375 ], 376 "workdir": "py" 377 }, 378 { 379 "name": "cpp", 380 "server": { 381 "command": [ 382 "TestServer" 383 ], 384 "protocols": [ 385 "binary:multi", 386 "compact:multic", 387 "header:multih", 388 "json:multij" 389 ] 390 }, 391 "client": { 392 "timeout": 8, 393 "command": [ 394 "TestClient" 395 ], 396 "protocols": [ 397 "multi:binary", 398 "multic:compact", 399 "multih:header", 400 "multij:json" 401 ] 402 }, 403 "transports": [ 404 "buffered", 405 "http", 406 "framed", 407 "zlib", 408 "websocket" 409 ], 410 "sockets": [ 411 "ip", 412 "ip-ssl", 413 "domain" 414 ], 415 "protocols": [ 416 "compact", 417 "binary", 418 "json", 419 "header", 420 "multi", 421 "multic", 422 "multih", 423 "multij" 424 ], 425 "workdir": "cpp" 426 }, 427 { 428 "name": "rb", 429 "server": { 430 "command": [ 431 "ruby", 432 "../integration/TestServer.rb" 433 ] 434 }, 435 "client": { 436 "timeout": 10, 437 "command": [ 438 "ruby", 439 "../integration/TestClient.rb", 440 "--" 441 ] 442 }, 443 "transports": [ 444 "buffered", 445 "framed" 446 ], 447 "sockets": [ 448 "domain", 449 "ip", 450 "ip-ssl" 451 ], 452 "protocols": [ 453 "binary", 454 "binary:accel", 455 "compact", 456 "json" 457 ], 458 "workdir": "rb/gen-rb" 459 }, 460 { 461 "name": "netstd", 462 "transports": [ 463 "buffered", 464 "framed" 465 ], 466 "sockets": [ 467 "ip", 468 "ip-ssl" 469 ], 470 "protocols": [ 471 "binary", 472 "compact", 473 "json" 474 ], 475 "server": { 476 "command": [ 477 "dotnet", 478 "run", 479 "--no-build", 480 "--project=Server/Server.csproj", 481 "server" 482 ] 483 }, 484 "client": { 485 "timeout": 10, 486 "command": [ 487 "dotnet", 488 "run", 489 "--no-build", 490 "--project=Client/Client.csproj", 491 "client" 492 ] 493 }, 494 "workdir": "netstd" 495 }, 496 { 497 "name": "perl", 498 "transports": [ 499 "buffered", 500 "framed" 501 ], 502 "sockets": [ 503 "ip", 504 "ip-ssl", 505 "domain" 506 ], 507 "protocols": [ 508 "binary", 509 "multi" 510 ], 511 "client": { 512 "command": [ 513 "perl", 514 "-Igen-perl/", 515 "-I../../lib/perl/lib/", 516 "TestClient.pl", 517 "--ca=../keys/CA.pem", 518 "--cert=../keys/client.crt", 519 "--key=../keys/client.key" 520 ], 521 "protocols": [ 522 "multi:binary" 523 ] 524 }, 525 "server": { 526 "command": [ 527 "perl", 528 "-Igen-perl/", 529 "-I../../lib/perl/lib/", 530 "TestServer.pl", 531 "--cert=../keys/server.crt", 532 "--key=../keys/server.key" 533 ], 534 "protocols": [ 535 "binary:multi" 536 ] 537 }, 538 "workdir": "perl" 539 }, 540 { 541 "name": "php", 542 "client": { 543 "timeout": 6, 544 "transports": [ 545 "buffered", 546 "framed" 547 ], 548 "sockets": [ 549 "ip" 550 ], 551 "protocols": [ 552 "binary", 553 "binary:accel", 554 "compact", 555 "json" 556 ], 557 "command": [ 558 "php", 559 "-dextension_dir=php_ext_dir", 560 "--php-ini=test_php.ini", 561 "--no-php-ini", 562 "-ddisplay_errors=stderr", 563 "-dlog_errors=0", 564 "-derror_reporting=E_ALL", 565 "TestClient.php" 566 ] 567 }, 568 "workdir": "php" 569 }, 570 { 571 "name": "dart", 572 "client": { 573 "timeout": 30, 574 "transports": [ 575 "buffered", 576 "framed", 577 "http" 578 ], 579 "sockets": [ 580 "ip" 581 ], 582 "protocols": [ 583 "binary", 584 "compact", 585 "json" 586 ], 587 "command": [ 588 "dart", 589 "--enable-asserts", 590 "test_client/bin/main.dart", 591 "--verbose" 592 ] 593 }, 594 "workdir": "dart" 595 }, 596 { 597 "name": "erl", 598 "transports": [ 599 "buffered", 600 "framed" 601 ], 602 "sockets": [ 603 "ip", 604 "ip-ssl" 605 ], 606 "protocols": [ 607 "binary", 608 "compact" 609 ], 610 "client": { 611 "command": [ 612 "erl", 613 "+K", 614 "true", 615 "-noshell", 616 "-pa", 617 "../../lib/erl/_build/default/lib/thrift/ebin/", 618 "-pa", 619 "./_build/default/lib/thrift_test/ebin", 620 "-s", 621 "test_client", 622 "-s", 623 "init", 624 "stop", 625 "-extra" 626 ] 627 }, 628 "server": { 629 "command": [ 630 "erl", 631 "+K", 632 "true", 633 "-noshell", 634 "-pa", 635 "../../lib/erl/_build/default/lib/thrift/ebin/", 636 "-pa", 637 "./_build/default/lib/thrift_test/ebin", 638 "-s", 639 "test_thrift_server", 640 "-extra" 641 ] 642 }, 643 "workdir": "erl" 644 }, 645 { 646 "name": "js", 647 "transports": [ 648 "http" 649 ], 650 "sockets": [ 651 "ip" 652 ], 653 "protocols": [ 654 "json" 655 ], 656 "client": { 657 "command": [ 658 "phantomjs", 659 "test/phantom-client.js" 660 ] 661 }, 662 "workdir": "../lib/js" 663 }, 664 { 665 "name": "lua", 666 "TODO": "Add dll to LUA_CPATH", 667 "env": { 668 "LUA_PATH": ";;gen-lua/?.lua;../../lib/lua/?.lua", 669 "LUA_CPATH": ";;../../lib/lua/.libs/?.so" 670 }, 671 "client": { 672 "timeout": 5, 673 "transports": [ 674 "buffered", 675 "framed", 676 "http" 677 ], 678 "sockets": [ 679 "ip" 680 ], 681 "protocols": [ 682 "binary", 683 "compact", 684 "json" 685 ], 686 "command": [ 687 "lua", 688 "test_basic_client.lua" 689 ] 690 }, 691 "workdir": "lua" 692 }, 693 { 694 "name": "rs", 695 "env": { 696 "RUST_BACKTRACE": "1", 697 "RUST_LOG": "info" 698 }, 699 "server": { 700 "command": [ 701 "test_server" 702 ], 703 "protocols": [ 704 "binary:multi", 705 "compact:multic" 706 ] 707 }, 708 "client": { 709 "timeout": 6, 710 "command": [ 711 "test_client" 712 ], 713 "protocols": [ 714 "multi:binary", 715 "multic:compact" 716 ] 717 }, 718 "sockets": [ 719 "ip", 720 "domain" 721 ], 722 "transports": [ 723 "buffered", 724 "framed" 725 ], 726 "protocols": [ 727 "binary", 728 "compact", 729 "multi", 730 "multic" 731 ], 732 "workdir": "rs/bin" 733 }, 734 { 735 "name": "nodets", 736 "env": { 737 "NODE_PATH": "../lib" 738 }, 739 "server": { 740 "command": [ 741 "runServer.sh" 742 ] 743 }, 744 "client": { 745 "timeout": 6, 746 "command": [ 747 "runClient.sh" 748 ] 749 }, 750 "protocols": [ 751 "binary" 752 ], 753 "sockets": [ 754 "ip" 755 ], 756 "transports": [ 757 "buffered" 758 ], 759 "workdir": "../lib/nodets/test" 760 }, 761 { 762 "name": "swift", 763 "server": { 764 "command": ["TestServer"], 765 "workdir": "swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug", 766 "protocols": ["binary", "compact"], 767 "transports": ["buffered", "framed"], 768 "sockets": ["ip"] 769 }, 770 "client": { 771 "command": ["TestClient"], 772 "workdir": "swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug", 773 "protocols": ["binary", "compact"], 774 "transports": ["buffered", "framed"], 775 "sockets": ["ip"] 776 } 777 } 778] 779