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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.