Knowledge

Technology Compatibility Kit

Source 📝

22: 659: 1037: 1049: 158:
the first place, which necessarily involves the Java implementation and underlying networking stack having a certain level of maturity. Next, the TCK must be properly configured - because they must be flexible enough to cope with any implementation, there are many options. (For example, listing all the supported media formats and associated optional controls for
162:). Particular tests also require some setup activity - this tends to be particularly complex for the tests which ensure correct behaviour in error conditions, because the Java implementation must be put in the right state to cause each error. Finally, each failing test must be fixed, which is usually handled by the usual 512:
Subject to and conditioned upon its Licensee Implementation being substantially derived from OpenJDK Code and, if such Implementation has or is to be distributed to a third party, its being distributed under the GPL License, Sun hereby grants to Licensee, to the extent of Sun's Intellectual Property
443:
Subject to and conditioned upon its Licensee Implementation being substantially derived from OpenJDK Code and, if such Implementation has or is to be distributed to a third party, its being distributed under the GPL License, Sun hereby grants to Licensee, to the extent of Sun's Intellectual Property
157:
In order to state conformance with a given JSR, a Java implementation has to pass the associated TCK. Any (rare) exceptions have to be negotiated with the specification lead. Because of this, TCKs are of great importance when implementing a JSR. The first great milestone is to get the TCK running in
142:
TCKs tend to be obtained from the Specification Lead of a given JSR. They usually (but not always) consist of a graphical host application which communicates over TCP/IP with the device or Java virtual machine that is under test. Tests are typically obtained by the device over HTTP, and results are
332:
We have tried to make sure the license meets the reasonable needs of developers who want to evaluate the JCK sources: It's available at zero cost, through a click-through license; There is no "tainting". Once you delete your copy of the JCK, you aren't constrained in your future actions. To try to
169:
Some Java implementors consider their product to be mainly complete once the TCKs pass. Whilst it's true that the TCKs are quite comprehensive, there are many areas that they do not cover. These include performance, as well as the optional features. There's no alternative but to do much real-world
201:
source code has been released. The associated license did not initially allow users to compile or run the tests, but the right to see the code is not associated with tainting concerns, and public comments on the source code are allowed. However, since the release of
333:
make this really clear, we included a section explicitly granting what the lawyers call "residual rights", which basically means that stuff that sticks in your head is OK to use in the future; You can publish feedback and comments publicly.
153:
The tests contained in the JSR are supposedly derived from the statements in the JSR specification. Any given API will have a set of tests to ensure that it behaves in the intended way, including in error conditions.
225:
tool is today the most common unit testing framework used to verify the implementation compliance. It is a general purpose testing framework designed to run TCK tests. However, some specifications are also using
513:
Rights in the TCK, a worldwide, personal, non-exclusive, non-transferable, limited license to use the TCK internally and solely for the purpose of developing and testing Licensee Implementation.
444:
Rights in the TCK, a worldwide, personal, non-exclusive, non-transferable, limited license to use the TCK internally and solely for the purpose of developing and testing Licensee Implementation.
592: 51: 315: 468: 271:
threatened to withdraw from the Java Community Process if they were not granted a TCK license for Harmony without additional restrictions.
143:
posted back to the host application in a similar way. This decoupling enables TCKs to be used to test virtual machines on devices such as
67: 560: 394: 585: 243: 1041: 364: 213:
The OpenJDK Community TCK License Agreement v 2.0 has been published for the Java SE 7 Specification since December 2011.
578: 91: 43: 626: 183: 919: 643: 56: 989: 899: 884: 914: 620: 1053: 869: 749: 525: 319: 965: 545: 529: 472: 348: 275: 268: 253: 207: 113: 909: 851: 541: 198: 601: 128: 936: 398: 47: 1072: 975: 841: 698: 673: 411:
If you're interested in running the JCK in context of OpenJDK projects, a license is available.
287: 117: 456: 112:) is a suite of tests that at least nominally checks a particular alleged implementation of a 861: 790: 836: 729: 688: 678: 615: 252:, Sun released a specific license to permit running the TCK in the OpenJDK context for any 8: 32: 493: 424: 980: 970: 780: 770: 191: 116:(JSR) for compliance. It is one of the three required pieces for a ratified JSR in the 36: 372: 71: 206:, a specific license allows running the JCK in the OpenJDK context, that is for any 1020: 985: 846: 805: 500: 431: 368: 292: 222: 60: 1010: 719: 352: 163: 815: 785: 765: 739: 264: 260: 170:
testing to address these shortcomings, although additional test suites such as
1066: 1005: 810: 775: 734: 526:
Statement by the ASF Board on our participation in the Java Community Process
147: 1015: 658: 570: 365:""READ ONLY" SOURCE LICENSE AGREEMENT, v1.0 JAVA (TM) COMPATIBILITY KIT 6a" 714: 904: 632: 565: 874: 638: 1048: 194:
and licensees to ensure compatible implementations of the platform.
244:
Apache Harmony § Difficulties to obtain a TCK license from Sun
150:
which do not have the power to run the full TCK host application.
944: 879: 820: 800: 795: 744: 683: 648: 249: 203: 949: 894: 724: 693: 231: 159: 889: 227: 345: 457:
http://openjdk.java.net/legal/OpenJDK-TCK_SE7_27Dec2011.pdf
267:-compatible right to use the TCK. On November 9, 2010, the 171: 144: 278:
resigned its seat on the Java SE/EE Executive Committee.
54:
and tools are available to assist in formatting, such as
256:
implementation deriving substantially from OpenJDK.
210:
implementation deriving substantially from OpenJDK.
182:The Technology Compatibility Kit for a particular 1064: 542:The ASF Resigns From the JCP Executive Committee 494:"OPENJDK COMMUNITY TCK LICENSE AGREEMENT V 1.1" 425:"OPENJDK COMMUNITY TCK LICENSE AGREEMENT V 1.1" 586: 600: 469:"Source Code Browse: jsr-352-git-repository" 177: 137: 35:, which are uninformative and vulnerable to 50:and maintains a consistent citation style. 593: 579: 316:"J2SE Compatibility Test Sources Released" 309: 307: 237: 92:Learn how and when to remove this message 313: 190:. It is an extensive test suite used by 304: 1065: 133:the Technology Compatibility Kit (TCK) 574: 392: 15: 566:JCP Community Resources - TCK Tools 42:Please consider converting them to 13: 14: 1084: 561:The Java Compatibility Test Tools 554: 1047: 1036: 1035: 657: 216: 20: 1054:Computer programming portal 535: 395:"Matching JDK and JCK Versions" 314:Hamilton, Graham (2004-12-13). 248:Subsequent to Sun's release of 759:Major third-party technologies 519: 486: 461: 450: 417: 386: 357: 339: 46:to ensure the article remains 1: 990:Sun Microsystems Laboratories 298: 393:Darcy, Joseph (2008-03-06). 259:This requirement denies the 188:Java Compatibility Kit (JCK) 106:Technology Compatibility Kit 7: 371:. June 2007. Archived from 281: 10: 1089: 966:Apache Software Foundation 546:Apache Software Foundation 530:Apache Software Foundation 276:Apache Software Foundation 269:Apache Software Foundation 241: 114:Java Specification Request 1033: 998: 958: 935: 928: 860: 852:Free Java implementations 829: 758: 707: 666: 655: 608: 274:On December 9, 2010, the 178:TCK for the Java platform 138:Contents and architecture 602:Java (software platform) 129:reference implementation 238:License and controversy 976:Java Community Process 842:Java Community Process 288:Java Community Process 118:Java Community Process 708:Platform technologies 351:July 8, 2007, at the 124:the JSR specification 837:Java version history 689:Java virtual machine 679:Java Development Kit 667:Oracle technologies 981:Oracle Corporation 971:Eclipse Foundation 1060: 1059: 1029: 1028: 102: 101: 94: 52:Several templates 1080: 1052: 1051: 1039: 1038: 1021:Patrick Naughton 986:Sun Microsystems 933: 932: 847:Sun Microsystems 740:Web Start (JNLP) 661: 595: 588: 581: 572: 571: 549: 548:blog, 2010-12-09 539: 533: 532:blog, 2010-11-09 523: 517: 516: 508: 507: 501:Sun Microsystems 498: 490: 484: 483: 481: 480: 471:. Archived from 465: 459: 454: 448: 447: 439: 438: 432:Sun Microsystems 429: 421: 415: 414: 407: 406: 397:. Archived from 390: 384: 383: 381: 380: 369:Sun Microsystems 361: 355: 343: 337: 336: 328: 327: 318:. Archived from 311: 293:JavaTest harness 223:JavaTest harness 97: 90: 86: 83: 77: 75: 64: 24: 23: 16: 1088: 1087: 1083: 1082: 1081: 1079: 1078: 1077: 1063: 1062: 1061: 1056: 1046: 1025: 1011:Arthur van Hoff 994: 954: 924: 856: 825: 754: 703: 662: 653: 604: 599: 557: 552: 540: 536: 524: 520: 505: 503: 496: 492: 491: 487: 478: 476: 467: 466: 462: 455: 451: 436: 434: 427: 423: 422: 418: 404: 402: 391: 387: 378: 376: 363: 362: 358: 353:Wayback Machine 344: 340: 325: 323: 312: 305: 301: 284: 246: 240: 219: 180: 164:defect tracking 140: 98: 87: 81: 78: 66: 55: 41: 25: 21: 12: 11: 5: 1086: 1076: 1075: 1058: 1057: 1034: 1031: 1030: 1027: 1026: 1024: 1023: 1018: 1013: 1008: 1002: 1000: 996: 995: 993: 992: 983: 978: 973: 968: 962: 960: 956: 955: 953: 952: 947: 941: 939: 930: 926: 925: 923: 922: 917: 912: 907: 902: 897: 892: 887: 882: 877: 872: 866: 864: 858: 857: 855: 854: 849: 844: 839: 833: 831: 827: 826: 824: 823: 818: 813: 808: 803: 798: 793: 788: 783: 778: 773: 768: 762: 760: 756: 755: 753: 752: 747: 742: 737: 732: 727: 722: 717: 711: 709: 705: 704: 702: 701: 696: 691: 686: 681: 676: 670: 668: 664: 663: 656: 654: 652: 651: 646: 641: 636: 630: 624: 618: 612: 610: 606: 605: 598: 597: 590: 583: 575: 569: 568: 563: 556: 555:External links 553: 551: 550: 534: 518: 485: 460: 449: 416: 385: 356: 338: 302: 300: 297: 296: 295: 290: 283: 280: 265:Apache License 261:Apache Harmony 239: 236: 218: 215: 179: 176: 139: 136: 135: 134: 131: 125: 100: 99: 44:full citations 28: 26: 19: 9: 6: 4: 3: 2: 1085: 1074: 1073:Java platform 1071: 1070: 1068: 1055: 1050: 1044: 1043: 1032: 1022: 1019: 1017: 1014: 1012: 1009: 1007: 1006:James Gosling 1004: 1003: 1001: 997: 991: 987: 984: 982: 979: 977: 974: 972: 969: 967: 964: 963: 961: 959:Organizations 957: 951: 948: 946: 943: 942: 940: 938: 934: 931: 927: 921: 918: 916: 913: 911: 908: 906: 903: 901: 898: 896: 893: 891: 888: 886: 883: 881: 878: 876: 873: 871: 868: 867: 865: 863: 862:JVM languages 859: 853: 850: 848: 845: 843: 840: 838: 835: 834: 832: 828: 822: 819: 817: 814: 812: 809: 807: 804: 802: 799: 797: 794: 792: 789: 787: 784: 782: 779: 777: 776:GNU Classpath 774: 772: 769: 767: 764: 763: 761: 757: 751: 748: 746: 743: 741: 738: 736: 733: 731: 728: 726: 723: 721: 718: 716: 713: 712: 710: 706: 700: 697: 695: 692: 690: 687: 685: 682: 680: 677: 675: 672: 671: 669: 665: 660: 650: 647: 645: 642: 640: 637: 634: 631: 628: 625: 622: 619: 617: 614: 613: 611: 607: 603: 596: 591: 589: 584: 582: 577: 576: 573: 567: 564: 562: 559: 558: 547: 543: 538: 531: 527: 522: 515: 514: 502: 495: 489: 475:on 2013-03-05 474: 470: 464: 458: 453: 446: 445: 433: 426: 420: 413: 412: 401:on 2011-08-12 400: 396: 389: 375:on 2010-12-31 374: 370: 366: 360: 354: 350: 347: 342: 335: 334: 322:on 2004-12-16 321: 317: 310: 308: 303: 294: 291: 289: 286: 285: 279: 277: 272: 270: 266: 262: 257: 255: 251: 245: 235: 233: 229: 224: 217:TCK framework 214: 211: 209: 205: 200: 195: 193: 189: 185: 184:Java platform 175: 173: 167: 165: 161: 155: 151: 149: 148:mobile phones 146: 132: 130: 126: 123: 122: 121: 120:, which are: 119: 115: 111: 107: 96: 93: 85: 73: 72:documentation 69: 62: 61:documentation 58: 53: 49: 45: 40: 38: 34: 29:This article 27: 18: 17: 1040: 635:(Enterprise) 537: 521: 511: 510: 504:. Retrieved 488: 477:. Retrieved 473:the original 463: 452: 442: 441: 435:. Retrieved 419: 410: 409: 403:. Retrieved 399:the original 388: 377:. Retrieved 373:the original 359: 341: 331: 330: 324:. Retrieved 320:the original 273: 258: 247: 220: 212: 197:The JCK for 196: 187: 181: 168: 166:mechanisms. 156: 152: 141: 109: 105: 103: 88: 79: 68:Citation bot 30: 937:Conferences 644:Android SDK 346:JCK project 263:project an 82:August 2022 1016:Urs Hölzle 905:Processing 633:Jakarta EE 629:(Standard) 506:2008-03-08 479:2014-02-12 437:2008-03-08 405:2008-03-08 379:2008-03-08 326:2008-03-08 299:References 242:See also: 186:is called 174:may help. 48:verifiable 929:Community 875:BeanShell 791:Hibernate 766:Blackdown 699:Maxine VM 639:Java Card 609:Platforms 33:bare URLs 1067:Category 1042:Category 720:Servlets 349:Archived 282:See also 199:Java 6.0 127:the JSR 37:link rot 1045:  945:JavaOne 920:Oxygene 880:Clojure 830:History 821:WildFly 816:TopLink 801:Jazelle 796:IcedTea 786:Harmony 771:Eclipse 750:Modules 745:Pack200 725:MIDlets 715:Applets 684:OpenJDK 649:GraalVM 627:Java SE 623:(Micro) 621:Java ME 250:OpenJDK 204:OpenJDK 999:People 950:Devoxx 900:Kotlin 895:Jython 885:Groovy 811:Struts 806:Spring 694:JavaFX 674:Squawk 232:TestNG 192:Oracle 160:JSR135 57:reFill 915:Scala 910:Rhino 890:JRuby 497:(PDF) 428:(PDF) 228:JUnit 31:uses 870:Java 221:The 172:JDTS 145:CLDC 65:and 781:GWT 735:JSF 730:JSP 616:JVM 254:GPL 230:or 208:GPL 110:TCK 1069:: 988:, 544:, 528:, 509:. 499:. 440:. 430:. 408:. 367:. 329:. 306:^ 234:. 104:A 594:e 587:t 580:v 482:. 382:. 108:( 95:) 89:( 84:) 80:( 76:. 74:) 70:( 63:) 59:( 39:.

Index

bare URLs
link rot
full citations
verifiable
Several templates
reFill
documentation
Citation bot
documentation
Learn how and when to remove this message
Java Specification Request
Java Community Process
reference implementation
CLDC
mobile phones
JSR135
defect tracking
JDTS
Java platform
Oracle
Java 6.0
OpenJDK
GPL
JavaTest harness
JUnit
TestNG
Apache Harmony § Difficulties to obtain a TCK license from Sun
OpenJDK
GPL
Apache Harmony

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.