Release Notes


Version 2.2

March 2011


[Skip TOC]

Table of Contents

New in This Release
System Requirements
Release Contents
Using the Signature Test Tool
Using the API Coverage Tool
Known Bugs and Issues


These release notes contain information about version 2.2 of the SigTest tools. See the SigTest 2.2 User's Guide for more information about the tools.

The SigTest product is a collection of tools that can be used to compare APIs and to measure the test coverage of an API. The tools were originally created to assist in the creation of Java technology compatibility test suites (TCKs), but are also useful in the creation of other types of test suites and in the software development process. The SigTest product consists of the following three tools.

New in This Release

The following new features have been added and the following bugs have been fixed.

New Features

This release of SigTest also includes the following improvements:

Bug/RFE Description
SIGTEST-9 SIGTEST-44 Support for non-static constants
SIGTEST-49 Option files
SIGTEST-45 API Cover - signature files with markup
SIGTEST-57 Support for separator-delimited parameters
SIGTEST-48 Plugin API extended
N/A Improvements in reflection mode
SIGTEST-51 API Cover accepts non-closed signature files in real mode
N/A Optional copyright notices in signature files

Fixed Bugs

The following bugs have been fixed.

Bug/RFE Description
SIGTEST-28 Constant checking should be turned on by default in reflection mode
SIGTEST-50 Missing support for RuntimeInvisibleParameterAnnotations
SIGTEST-52 StringIndexOutOfBoundsException when parsing annotations
SIGTEST-53 SigTest doesn't catch conflicts with a field came from private interface
SIGTEST-54 Bogus sigtest failure E1.3 when making abstract class constructor protected
SIGTEST-58 Sigtest should process names with dollar sign
SIGTEST-59 Setup does not warn if superinterface for a class excluded
N/A API Cover failed to run if utilized signature file is more narrow than API under review
N/A In some cases sigtest fails in debug mode when running with -ea
N/A BinaryClassDescrLoader doesn't close InputStream(s)
N/A Merge procedure lose classes
N/A Signature file writer is not thread safe
N/A Constructor names in signature files
N/A APICheckMode started to allow supersetting API

System Requirements

Using the SigTest tools requires a properly configured certified Java Platform, Standard Edition (Java SE™ platform) runtime environment version 1.4 or later, or a Java SE platform 5.0 runtime environment if using reflection to test version 5.0 and later class files. A properly configured JDK™ installation is required to compile the examples.


The SigTest 2.2 User's Guide is available in the doc/ directory in both PDF and HTML format.


To install SigTest, unzip the distribution into a directory of your choice. For example, at a UNIX® system prompt type the following command:

% unzip

Unpacking the Zip bundle installs subdirectories under the base installation directory. For more information, see the Release Contents section below and the documents listed under "For SigTest contributors" in the Quick Links box on the front page of the SigTest Project website.

Release Contents

This section lists the components under the base subdirectory structure (SigTest-2.2/) that is created when you unzip the SigTest distribution archive during installation.


Component Descriptions and Locations

Component Description

The SigTest release notes (this document).
lib/sigtestdev.jar The entire class archive that is necessary to run all the tool commands used to develop a signature test.
lib/sigtest.jar A subset of the files in the sigtestdev.jar file, used for just running the signature test, usually from within a test suite with the JavaTest harness. You include this file in a finished test suite.
lib/apicover.jar The library required to run the API Coverage tool commands.
lib/apicheck.jar The library required to run the API Check tool commands.
mvn/ Contains Apache Maven plugins.
examples/ Contains the files used for the Signature Test tool and API Coverage tool examples. These examples are documented in the SigTest Version 2.2 Users Guide appendix.

Using the Signature Test Tool

The Signature Test Tool operates from the command line with the following commands.


Usage Examples

This section contains simple examples that show how to start the Signature Test tool from the command line using the Setup and SignatureTest command line options. See System Requirements for initial setup.

Example 1: The following command line runs the Setup command to create a signature file named result.sig:

java -jar sigtestdev.jar Setup -classpath $JAVA_HOME/jre/lib/rt.jar -filename result.sig -package java.text

Example 2: The following command line runs the SignatureTest command to manually run a signature test:

java -jar sigtest.jar Test -static -filename result.sig -classpath $JAVA_HOME/jre/lib/rt.jar -package java.text

Operating Modes

This section describes the Signature Test tool operating modes and report messages.


Signature Test Compatibility Check Modes


Command Run Modes

Two run modes are available during command execution, each associated with how the class descriptions are examined and retrieved, as follows:

Signature Test Report Messages

Report messages can be either sorted by default, or unsorted. They contain the following types of information:

See the SigTest Version 2.2 User's Guide for hands-on procedural examples of running the tool.

Using the API Coverage Tool

API Coverage Tool is a command-line utility that executes in a Java platform application environment. It generates static API test coverage reports in either plain text or XML format based on the following items specified by input arguments:


Known Bugs and Issues

The SignatureTest and Merge commands might incorrectly process throw lists related to generics.


Copyright © 2008, 2010, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms.The majority of the SigTest project is released under the GNU General Public License Version 2 (GPLv2)