Sun Microsystems 2 Tablet Accessory User Manual


 
2 Signature Test Tool 2.0 User’s Guide April 2008
When used in a software development environment, SigTest tool can be used to
track and control changes to an API throughout the development process.
What is Tested
The signature test algorithm compares the API implementation under test with a
signature file created from the API you are comparing it to often referred to as a
reference implementation. The signature test checks for mutual binary or source
compatibility by verifying the equality of API member sets. By checking for equality
of API member sets, the test verifies that the following conditions are true:
If an API item is defined in the reference representation of the API, then that item
is implemented in the API under test, and vice versa.
Attributes chosen for comparison are identical in both implementations of the
API. The tool chooses attributes for comparison according to the type of check
being processed. This is described more in the next section.
Mutual Binary Compatibility Check
The signature test binary compatibility check mode verifies that a Java technology
implementation undergoing compatibility testing and its referenced APIs are
mutually binary compatible as defined in Chapter 13, “Binary Compatibility,” of The
Java Language Specification. This assures that any application runs with any
compatible API without any linkage errors.
This check is less strict than the default source compatibility check, described next. It
is for use primarily in the special case of when a technology is developed for Java
technology environments that are purely runtime. Such an environment does not
provide a Java technology-based compiler (Java compiler), nor does it include class
files that could be used to compile applications for that environment. Because of the
limited use of such an environment, the API requirements are slightly relaxed
compared to environments that support application development.
Java application environments can contain several Java technologies. Not all Java
technologies can be combined with each other, and in particular, their sets of API
signatures might be incompatible with each other. Relaxing signature checks to the
level of mutual binary compatibility allows the developer to combine technologies in
a purely runtime environment that cannot be combined otherwise.