JavaTest harness

Last updated
jtreg
Developer(s) Oracle Corporation
Stable release
4.1 [1] / March 14, 2012 (2012-03-14)
Written in Java
Operating system Cross-platform
Platform Java Virtual Machine
License GPL+linking exception
Website openjdk.java.net/jtreg/

The JavaTest harness (or jtreg) is a regression tests framework specifically designed by Sun Microsystems to test the reference Java platform implementation. [2]

Contents

Although jtreg was originally designed to execute Technology Compatibility Kit (TCK) compliance tests, it is not designed to check compliance of a particular Java implementation to the specification, but to test any regressions suite for the Java platform. [2]

History

jtreg started in 1997, during JDK 1.2 development. [3] Being developed prior to JUnit existence, jtreg was initially not compatible with JUnit's test syntax, [2] but later versions added a limited compatibility with JUnit. [4]

Use in OpenJDK

OpenJDK, the open-source implementation of the Java programming language [5] encourages the use of jtreg tests for patch submissions. [6]

See also

Related Research Articles

Java (programming language) Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages. As of 2019, Java was one of the most popular programming languages in use according to GitHub, particularly for client–server web applications, with a reported 9 million developers.

Java Community Process

The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at the JCP website. JCP membership for organizations and commercial entities requires annual fees – but is free for individuals.

Free Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, making them free software. Sun released most of its Java source code as free software in May 2007, so it can now almost be considered a free Java implementation. Java implementations include compilers, runtimes, class libraries, etc. Advocates of free and open source software refer to free or open source Java virtual machine software as free runtimes or free Java runtimes.

HotSpot, released as Java HotSpot Performance Engine, is a Java virtual machine for desktop and server computers, developed by Sun Microsystems and now maintained and distributed by Oracle Corporation. It features improved performance via methods such as just-in-time compilation and adaptive optimization.

Apache Harmony is a retired open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the Board of Directors voted to make Apache Harmony a top-level project. The Harmony project achieved 99% completeness for J2SE 5.0, and 97% for Java SE 6. The Android operating system has historically been a major user of Harmony, although since Android Nougat it increasingly relies on OpenJDK libraries.

JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code.

Visual J++(pronounced "Jay Plus Plus") is Microsoft's discontinued implementation of Java. Syntax, keywords, and grammatical conventions were the same as Java's. It was introduced in 1996 and discontinued in January 2004, replaced to a certain extent by J# and C#.

In computing, Java Web Start is a deprecated framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser. The technology enables seamless version updating for globally distributed applications and greater control of memory allocation to the Java virtual machine.

Blackdown Java was a Linux port of Sun Microsystems's Java virtual machine, developed by a group of volunteers led by Juergen Kreileder, Steve Byrne, and Karl Asha, and included a team of volunteers from around the globe. The first version, 1.0.2, was released in October 1996, predating Sun's official Linux port.

JRockit was a proprietary Java virtual machine (JVM) originally developed by Appeal Virtual Machines, acquired by BEA Systems in 2002, and became part of Oracle Fusion Middleware as part of acquisition of BEA Systems in 2008.

A Technology Compatibility Kit (TCK) is a suite of tests that at least nominally checks a particular alleged implementation of a Java Specification Request (JSR) for compliance. It is one of the three required pieces for a ratified JSR in the Java Community Process, which are:

Mauve is a project to provide a free software test suite for the Java class libraries. Mauve is developed by the members of Kaffe, GNU Classpath, GCJ, and other projects. Unlike a similar project, JUnit, Mauve is designed to run on various experimental Java virtual machines, where some features may be still missing. Because of this, Mauve does not discover the testing method by name, as JUnit does. Mauve can also be used to test the user java application, not just the core class library. Mauve is released under GNU General Public License.

Java (software platform) Set of computer software and specifications

Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901. In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the then-current two-year schedule. This proposal took effect for all following versions, and is still the current release schedule.

OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only with a linking exception. Were it not for the GPL linking exception, components that linked to the Java class library would be subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7.

JavaFX Java software platform for GUI

JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, Linux, and macOS, as well as mobile devices running iOS and Android.

The Java Class Library (JCL) is a set of dynamically loadable libraries that Java Virtual Machine (JVM) languages can call at run time. Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any of the platform-native libraries. Instead, the Java Platform provides a comprehensive set of standard class libraries, containing the functions common to modern operating systems.

IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. IcedTea also includes some addon libraries: IcedTea-Web is a free software implementation of Java Web Start and the Java web browser applet plugin. IcedTea-Sound is a collection of plugins for the Java sound subsystem, including the PulseAudio provider which used to be included with IcedTea. The Free Software Foundation recommends that all Java programmers use IcedTea as their development environment.

The Microsoft Java Virtual Machine (MSJVM) is a discontinued proprietary Java virtual machine from Microsoft. It was first made available for Internet Explorer 3 so that users could run Java applets when browsing on the World Wide Web. It was the fastest Windows-based implementation of a Java virtual machine for the first two years after its release. Sun Microsystems, the creator of Java, sued Microsoft in October 1997 for incompletely implementing the Java 1.1 standard. It was also named in the United States v. Microsoft Corp. antitrust civil actions, as an implementation of Microsoft's "Embrace, extend and extinguish" strategy. In 2001, Microsoft settled the lawsuit with Sun and discontinued its Java implementation.

The Java Development Kit (JDK) is a distribution of Java Technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java Application Programming Interface (API). It is derivative of the community driven OpenJDK which Oracle steward. It provides software for working with Java applications. Examples of included software are the virtual machine, a compiler, performance monitoring tools, a debugger, and other utilities that Oracle considers useful for a Java programmer.

References

  1. "jtreg 4.1 download". OpenJDK community. Retrieved 2015-12-30.
  2. 1 2 3 "jtreg FAQ". Oracle Corporation . Retrieved 2011-05-08.
  3. Gibbons, Jonathan (2006-11-13). "wwwww.jtreg: The Who What Where When Why of jtreg" . Retrieved 2011-05-08.
  4. Gibbons, Jonathan (2010-05-27). "jtreg 4.1" . Retrieved 2011-05-08.
  5. "OpenJDK Legal Documents". Sun Microsystems.
  6. "Regression Test Harness for the OpenJDK platform: jtreg" . Retrieved 2008-08-26.