# Release Notes

## JT Harness Binary Distribution
Version 4.3

### December 2010

## Table of Contents

Introduction
Layout
Tutorial
Requirements
Run JT Harness
About This Release
Usage Notes

## Introduction

The JT harness is based on Oracle's JavaTest harness. The JT harness is a general purpose, fully-featured, flexible, and configurable test harness very well suited for most types of unit testing. Originally developed as a test harness to run TCK test suites, it has since evolved into a general purpose test platform.

The JT harness:

- Is designed to configure, sequence, and run test suites that consist of many (100,000 or more) discrete, independent tests. It is especially good at testing APIs and compilers.
- Can be used to run tests on all of the Java platforms, from the Java Card platform, to the Java Platform, Enterprise Edition ("Java EE").
- Enables you to create test suites that are self-contained products that customers can easily configure and run.

JT harness 4.3 contains new features as well as bug fixes. We encourage you to try JT harness, participate in the community, and contribute to further development.

This binary release contains a built version of the JT harness (`lib/javatest.jar`) and a tutorial that introduces you to the JT harness graphical user interface.

## Layout

The JT harness binary distribution is laid out as follows:

install_dir/

`legal/`
Contains the licenses and Oracle copyrights that apply to this open source product.
`lib/`
Contains the JT harness binary `javatest.jar`, the JUnit binary `jt-junit.jar`, and support libraries.
`doc/`
Contains documentation that accompanies the JT harness product.
`examples/tutorial`
Contains the JT harness tutorial (`tutorial.html`)

## Tutorial

The JT harness tutorial includes an HTML tutorial that uses an example API and testsuite to introduce you to the JT harness graphical user interface. Follow these steps to run the tutorial:

1. Make `examples/tutorial` your current directory.
2. Open `tutorial.html` in your web browser and follow the step-by-step directions.

## Requirements

The JT harness requires the technologies listed in the following table.

Technology | Where to Get It | Notes
--- | --- | ---
JDK™ version 1.5 or later | http://www.oracle.com/technetwork/java/javase/overview/index.html |

## Run JT Harness

Run the JT harness using the following command:

`% java -jar javatest.jar`

Note: Typically, a user executes JT harness in the context of a test suite. Read the tutorial documentation for instructions about how to execute JT harness with the tutorial example test suite.

## About This Release

Version 4.3 contains bug fixes and the following new features and notable behavior changes:

- MDI and SDI window layout styles are no longer available. The tabbed window layout style is now the only available user interface.
- GUI colors are now partially configurable in the Preferences dialog. Other settings are still available via the command line.
- During services start-up, more information is provided to show progress.
- Saving of previous desktop is now disabled by default (was enabled previous to this release).
- Usability improved in the main test tree. Can now multi-select and right-click to choose from a context menu.

### Bugs Fixed in Release 4.3

This release of the harness contains fixes for the following defects:

• | Report Converter does not highlight bad user input with a background color.
• | After checking passed tests and closing the configuration editor, the Not Run tab should be disabled.
• | Selecting Help in the Template Editor incorrectly opens the Configuration Editor help
• | The Load Configuration dialog should not be closed after discarding error messages
• | Tree selection needs right-click multi-select capability
• | Create Report/Report Converter tools - the Report Directory input field is not convenient to use
• | Hanging causes the loss of test results in the cache
• | Some configuration answers have duplicate responses in the HTML report
• | Sometimes an `IllegalStateException` is thrown in `EventDispatchThread` when trying to create a work directory
• | The Javatest harness should produce a warning message if a new configuration is opened before the old one is saved
• | Exceptions thrown when a configuration file has been moved or deleted, are not useful
• | A mangled error message is displayed when the Test Manager starts
• | Usability: Configuring an interview for a freshly opened test suite is difficult
• | Launching the Configuration Editor from the Create Work directory dialog does not work properly
• | Save Template dialog incorrectly shows the `.jti` extension

### Bugs Fixed in Release 4.3 Specifically of Interest to Test Suite Architects

The following bugs will be of interest to test suite architects.

• | External web pages can be opened through the Configuration Editor More info system
• | The `InterviewParameters.checkForUpdates()` method is not called for a template object when loading WD
• | `javatest.jar` is compiled without debug information
• | The `Interview.getRoot()` method is now public
• | Added the ability to retrieve the internal representation of an interview path to a Question using the `Interview.getRawPath()` method
• | Fixed performance problems in template propagation
• | Added the following new `ProductInfo` class methods: `getVersionMajor()` and `getVersionMinor()`
• | Reimplemented the `Question.hashCode()` method
• | Setting float resolution on `PropertiesQuestion` works correctly
• | The `setValue()` method correctly reevaluates the interview path from within interview questions

## Known Bugs in Release 4.3

The following bugs were discovered too late to be fixed in this release.

• | Tree selection may change during execution
• | Right-clicking in test lists does not work on MacOS
• | Test output can grow until it uses up available memory. The output should be truncated if it is too long.
• | In the Log Viewer it is not possible to mark log text when live scrolling mode is ON
• | Huges status reason strings can corrupt the harness

•

After the release shipped, a problem was reported that causes a deadlock situation in the JT harness GUI. The problem occurs only under a particular set of circumstances in very large test suites (10,000 or more tests).

The primary symptom of the problem presents itself when the main GUI display is shown with test counters (folder summary display). When the test suite is running, the counters begin to count and then stop. At this point, the menus are not responsive and the screen does not redraw itself when needed. This state can be confirmed by looking at the JVM threads and determining if a deadlock exists involving the event dispatch thread and one of the other harness job threads.

You can work around this problem by using the Configuration Editor to answer No to the question that asks if you wish to run tests based on their prior execution status.

• | Tree refresh works incorrectly when triggered programmatically from the `ContextManager`
• | In some dialogs Print functionality might be available, but using it results in a `NullPointerException`

## Usage Notes

Run JT Harness with Java Platform, Standard Edition (Java SE) 5.0 or later. Note that the search capability in the online help does not work correctly in Java SE 5.0_03 through Java SE 5.0_06.

#### Printing Pages from the Online Help and Test Reports

Because of the method the Java SE platform uses to render fonts, when you print a document from the harness user interface, the fonts in the printed documents are larger than they are when rendered on the screen.

The JT Harness User's Guide has been provided in PDF form for your use in printing pages from the documents. While the online help viewer supports printing operations, in some cases you may be unable to use it to print a specific page. If this occurs, use the PDF version of the appropriate User's Guide to print the page. Printing of non-HTML report types is not supported. Users are informed of this when they attempt to print a non-HTML report type. Support will be added for this in a future release.

#### Changing Status Colors in the GUI

JT Harness allows you to specify the status colors used in the GUI. See the online help for detailed information about changing the default status colors.

#### Agent Monitor Tool

The Agent Monitor tool may not apply to all test suites, even if the test suite uses an agent. See your test suite documentation for detailed information about the agent that it uses and its use of the Agent Monitor tool.

Copyright © 2010, Oracle and/or its affiliates. All rights reserved. The JT Harness project is released under the GNU General Public License Version 2 (GPLv2).