JavaTest Harness Release Notes


Version 4.5

December 31, 2013

Table of Contents

Introduction

Important Security Note

Security Exceptions With Java 7 on Windows

Bugs Fixed in Release 4.5

Known Bugs in Release 4.5

Changes Since JavaTest Harness, Version 3.2

Usage Notes

Introduction

The JavaTest harness Version 4.5 is a maintenance release that fixes issues in many areas. For a detailed report, see Bugs Fixed in Release 4.5.

Important Security Note

NOTE: Be sure to read the Important Security Information chapter in the online help.

In principle, every file you install poses a potential security risk. After installing the harness, you can reduce risk by removing files you do not need, and limiting access to the harness files that remain.

To run the harness, you must minimally have one of two files:

  1. lib/javatest.jar: This archive is the test harness and is an unsigned jar.
  2. lib/jtlite.jar: This archive is the lite harness and is an unsigned jar.

You can delete the following installed files and directories if you do not want to use them:

A test suite includes many additional files. Refer to your test suite’s documentation to see which files are optional.

Restricting Access to Installed Files

Limiting access to installed harness files minimizes the chance of file corruption. You can restrict acesss to installed harness files by setting their permissions to read-only for the user who runs the harness. Write or execute permission is not required for any installed harness file. You can deny all access to people who do not run the harness.

Security Exceptions With Java 7 on Windows

When using Java 7 on Windows, the harness might experience problems executing particular parts of the Java 7 APIs because, by default, the harness security manager denies access to certain properties. The problem might manifest as one of the Known Exceptions reproduced below (see java.io.IOException and Socket Exception Error).

There are three ways to workaround the security exceptions:

  1. Use the Java 6 runtime instead. Java 6 is the target execution platform for the harness and is also the minimum Java version supported by the harness.

  2. Set the javatest.security.allowPropertiesAccess system property to "true" at startup. The harness security manager (JavaTestSecurityManager) is automatically installed at startup, and its default settings deny access to the System Properties object. You can manually allow access to harness properties as follows:

    java -Djavatest.security.allowPropertiesAccess=true ...

  3. Enable and disable property access programatically. The following code temporarily allows properties access until after the code in the try block is executed. Beware of race conditions when using this code.

            SecurityManager sm = System.getSecurityManager();
            JavaTestSecurityManager jtSm = null;
            boolean prev = false;
            if (sm != null && sm instanceof JavaTestSecurityManager) {
                jtSm = (JavaTestSecurityManager) sm;
                prev = jtSm.setAllowPropertiesAccess(true);
            }
            try {
                // execute exception causing actions here
            } finally {
                if (jtSm != null) {
                    jtSm.setAllowPropertiesAccess(prev);
                }
            }
    

Known Exceptions

The following exceptions might be seen if you use the harness with the Java 7 platform on the Windows operating system. Use one of the above work arounds to avoid these exceptions.

java.io.IOException

java.io.IOException: The requested operation cannot be performed on a file with
a user-mapped section open
        at sun.nio.ch.FileDispatcherImpl.truncate0(Native Method)
        at sun.nio.ch.FileDispatcherImpl.truncate(FileDispatcherImpl.java:xxx)
        at sun.nio.ch.FileChannelImpl.truncate(FileChannelImpl.java:xxx)

Socket Creation Error

java.lang.NoClassDefFoundError: Could not initialize class java.net.SocksSocketImpl
	at java.net.ServerSocket.setImpl(ServerSocket.java:xxx)
	at java.net.ServerSocket.<init>(ServerSocket.java:xxx)
	at java.net.ServerSocket.<init>(ServerSocket.java:xxx)
	at com.sun.jck.lib.multijvm.group.TaskManager.run(TaskManager.java:xxx)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:xxx)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:xxx)
	at java.lang.Thread.run(Thread.java:xxx)
or with the following exception:
java.lang.ExceptionInInitializerError
	at java.net.ServerSocket.setImpl(ServerSocket.java:xxx)
	at java.net.ServerSocket.<init>(ServerSocket.java:xxx)
	at java.net.ServerSocket.<init>(ServerSocket.java:xxx)
	at com.sun.jck.lib.multijvm.group.TaskManager.run(TaskManager.java:xxx)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:xxx)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:xxx)
	at java.lang.Thread.run(Thread.java:xxx
)
Caused by: java.lang.SecurityException: Action forbidden by JavaTest Harness: checkPropertiesAccess
	at com.sun.javatest.JavaTestSecurityManager.checkPropertiesAccess(JavaTestSecurityManager.java:xxx)
	at java.lang.System.getProperties(System.java:xxx)
	at java.net.PlainSocketImpl$1.run(PlainSocketImpl.java:xxx)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.PlainSocketImpl.<clinit>(PlainSocketImpl.java:xxx)

Bugs Fixed in Release 4.5

This maintenance release of the JavaTest harness contains fixes for the following bugs:

Bug ID Description
CODETOOLS-7104206 KFL report links are always absolute, should sometimes be relative like rest of report
CODETOOLS-7164316 Documentation added for KFL features and plain text report
CODETOOLS-7199853 Agent not able to handle new high concurrency limit (256)
CODETOOLS-7152368 Remove Audit Tool from deliverables
CODETOOLS-7183756 Max concurrency should be more than 50, now 256
CODETOOLS-7189695 Breakdown of how execution time was spent now printed on console
CODETOOLS-7189695 Breakdown of how execution time was spent now printed on console
CODETOOLS-7032443 Not run test progress stats seem to print in hex on console in Russian locale
CODETOOLS-7163437 Agent monitor accepts negative timeout values
CODETOOLS-7159569 NPE if exclude list file in JTI does not exist
CODETOOLS-7045288 https links do not work in internal view, redirect to external browser
CODETOOLS-7047872 KFL pane needed in Quick Set Configuration Editor
CODETOOLS-7900225 NPE if report is run on command line without workdir
CODETOOLS-7900010 Report browser doesn't referesh if file is the same file (but has changes)
CODETOOLS-7900008 EditJTI -log option does not work
CODETOOLS-7198881,
CODETOOLS-7900065
Enhanced version info - class loader type, harness type
CODETOOLS-7182554 Cancel button in Load Configuration can't be pressed by keyboard
CODETOOLS-6865536 "Create Report" button may be disabled while there are some report types selected
CODETOOLS-7900122 CLI documentation of -workdir subcommands missing
CODETOOLS-7163434 Reports created on Windows with Russian locale contain ??? in date

Known Problems

The following are known issues in the JavaTest 4.5 release.

Bug ID Description
CODETOOLS-6434239 A long name for template/configuration files cannot be fully displayed.
CODETOOLS-6446655 There's a keyboard navigation problem in the Tests To Run tree.
CODETOOLS-6451875 Log Viewer: Impossible to mark log text when live scrolling mode is ON.
CODETOOLS-6478125 Some files remain locked after closing the working directory, preventing the deletion of the directory.
CODETOOLS-6488302 Errors while opening write-protected working directory.
CODETOOLS-6518334 Report Converter does not generate an error message for an existing report file.
CODETOOLS-6518375 Resolving conflicts between two reports in the Report Converter is confusing.
CODETOOLS-6675884 Tooltips in PropertiesQuestion are sometimes incorrect.
CODETOOLS-6796286 Inconsistent style for editing numeric values in IntQuestion, FloatQuestion and PropertiesQuestion.

Changes Since JavaTest Harness, Version 3.2

The JavaTest harness Version 4.1 release provided basic changes in the following areas:

Version 4.1.2 was a bug fix release.

Version 4.1.3 added support for test suites based on JUnit 3.8.x and 4.x and also addressed bug fixes.

Version 4.1.4 was a bug fix release.

Version 4.2 was a bug fix release.

Version 4.2.1 was a maintenance release. It included changes to enable the Test Panel to update as a test runs, and extended the Quick Pick execution to include Tests to Run settings in configurations. This behavior is controlled by preference settings.

Version 4.3 was a maintenance release with the following major features:

Version 4.4 was a maintenance release with the following features:

Usage Notes

Run JavaTest harness Version 4.5 with Java Platform, Standard Edition (Java SE) 6.0 or later.

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 JavaTest user interface, the fonts in the printed documents are larger than they are when rendered on the screen.

The JavaTest harness User's Guides have 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

The JavaTest harness allows the user to specify the status colors used in the GUI. See the online help for detailed information about changing the default status colors. A limited number of color options is available in the GUI Preference dialog.

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 © 1996, 2014, Oracle and/or its affiliates. All rights reserved.