Release Notes

SigTest

Version 2.1

March 2009

 


[Skip TOC]

Table of Contents

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

Introduction

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

The SigTest project 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 two 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:

Fixed Bugs

The following bugs have been fixed.

Bug ID Description
Issue 3APIcov : SigTest should generate java.lang.ClassFormatError exception
Issue 4APIcov ; BinaryClassLoader should correctly parse classes with annotation
Issue 14Distributed signature test should process SecurityException
Issue 15Merge can overwrite input file
Issue 17If setup command failed inconsistent signature file can be written
Issue 19APIcov : crash on classes with names including a dollar sign
Issue 20APIcov : Invalid class file reported in debug mode
Issue 21Overriding methods in final class causes an error.
Issue 25Missed annotation error in a report

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.

Documentation

Documentation about this project can be found on the SigTest Project web site.

In addition, you can download the SigTest 2.1 User's Guide from the java.sun.com web site. This manual was created to describe the commercial SigTest product upon which the open source SigTest tool is based. It describes the SigTest tool and how to create signature tests for your API or application. This documentation is provided solely for your convenience and is not being released under GPL version 2 as part of this project. This document cannot be modified.

Installation

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

% unzip sigtest-2.1.zip

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.1/) that is created when you unzip the SigTest distribution archive during installation.

[Top]

Component Descriptions and Locations

Component Description
README.html 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/remote.jar The classes necessary to create the remote class loader used to develop distributed extensions. These classes are compatible with version 1.0 of the Connected Device Configuration.
examples/ Contains the files used for the Signature Test tool and API Coverage tool examples. These examples are documented in the SigTest Version 2.1 Users Guide appendix.
legal/ Contains text that describes the license and copyrights that apply to this project.

Using the Signature Test Tool

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

[Top]

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.

[Top]

Signature Test Compatibility Check Modes

[Top]

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.1 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:

[Top]

Known Bugs and Issues

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

[Top]


Copyright © 2009 Sun Microsystems, Inc. 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)