Executing Tests

## 5 Executing Tests

The RESTful Web Services TCK uses the JavaTest harness to execute the tests in the test suite. For detailed instructions that explain how to run and use JavaTest, see the JavaTest User’s Guide and Reference in the documentation bundle.

This chapter includes the following topics:

- Starting JavaTest

- Running a Subset of the Tests

- Running the TCK Against your selected CI

- Running the TCK Against a Vendor’s Implementation

- Test Reports

Note | The instructions in this chapter assume that you have installed and configured your test environment as described in Chapter 3, "Installation," and Chapter 4, "Setup and Configuration,", respectively.

As explained in Appendix B, "Packaging the Test Applications in Servlet-Compliant WAR Files With VI-Specific Information," the RESTful Web Services TCK introduces the concept of repackaging the TCK tests.

### 5.1 Starting JavaTest

There are two general ways to run the RESTful Web Services TCK using the JavaTest harness software:

- Through the JavaTest GUI

- From the command line in your shell environment

Note | The `ant` command referenced in the following two procedures and elsewhere in this guide is the Apache Ant build tool, which will need to be downloaded separately. The `build.xml` file in `<TS_HOME>/bin` contains the various Ant targets for the RESTful Web Services TCK test suite.

#### 5.1.1 To Start JavaTest in GUI Mode

Execute the following commands:

    cd <TS_HOME>/bin
    ant gui

#### 5.1.2 To Start JavaTest in Command-Line Mode

1. Change to any subdirectory under `<TS_HOME>/src/com/sun/ts/tests`.

2. Start JavaTest using the following command:

       ant runclient

Example 5-1 RESTful Web Services TCK Signature Tests

To run the RESTful Web Services TCK signature tests, enter the following commands:

    cd <TS_HOME>/src/com/sun/ts/tests/signaturetest/jaxrs
    ant runclient

Example 5-2 Single Test Directory

To run a single test directory, enter the following commands:

    cd <TS_HOME>/src/com/sun/ts/tests/jaxrs/api/rs/get
    ant runclient

Example 5-3 Subset of Test Directories

To run a subset of test directories, enter the following commands:

    cd <TS_HOME>/src/com/sun/ts/tests/jaxrs/api
    ant runclient

### 5.2 Running a Subset of the Tests

Use the following modes to run a subset of the tests:

- Section 5.2.1, "To Run a Subset of Tests in GUI Mode"

- Section 5.2.2, "To Run a Subset of Tests in Command-Line Mode"

- Section 5.2.3, "To Run a Subset of Tests in Batch Mode Based on Prior Result Status"

#### 5.2.1 To Run a Subset of Tests in GUI Mode

1. From the JavaTest main menu, click Configure, then click Change Configuration, and then click Tests to Run.
   The tabbed Configuration Editor dialog box is displayed.

2. Click Specify from the option list on the left.

3. Select the tests you want to run from the displayed test tree, and then click Done.
   You can select entire branches of the test tree, or use `Ctrl+Click` or `Shift+Click` to select multiple tests or ranges of tests, respectively, or select just a single test.

4. Click Save File.

5. Click Run Tests, and then click Start to run the tests you selected.
   Alternatively, you can `right-click` the test you want from the test tree in the left section of the JavaTest main window, and choose Execute These Tests from the menu.

6. Click Report, and then click Create Report.

7. Specify the directory in which the JavaTest test harness will write the report, and then click OK
   A report is created, and you are asked whether you want to view it.

8. Click Yes to view the report.

#### 5.2.2 To Run a Subset of Tests in Command-Line Mode

1. Change to the directory containing the tests you want to run.

2. Start the test run by executing the following command:

       ant runclient

   The tests in the directory and its subdirectories are run.

#### 5.2.3 To Run a Subset of Tests in Batch Mode Based on Prior Result Status

You can run certain tests in batch mode based on the test’s prior run status by specifying the `priorStatus` system property when invoking `ant`

Invoke `ant` with the `priorStatus` property.

The accepted values for the `priorStatus` property are any combination of the following:

- `fail`

- `pass`

- `error`

- `notRun`

For example, you could run all the RESTful Web Services tests with a status of failed and error by invoking the following commands:

    ant -DpriorStatus="fail,error" runclient

Note that multiple `priorStatus` values must be separated by commas.

### 5.3 Running the TCK Against another CI

Some test scenarios are designed to ensure that the configuration and deployment of all the prebuilt RESTful Web Services TCK tests against one Compatible Implementation are successful operating with other compatible implementations, and that the TCK is ready for compatibility testing against the Vendor and Compatible Implementations.

1. Verify that you have followed the configuration instructions in Section 4.1, "Configuring Your Environment to Run the TCK Against the Compatible Implementation."

2. If required, verify that you have completed the steps in Section 4.3.2, "Deploying the Prebuilt Archives."

3. Run the tests, as described in Section 5.1, "Starting JavaTest," and, if desired, Section 5.2, "Running a Subset of the Tests."

### 5.4 Running the TCK Against a Vendor’s Implementation

This test scenario is one of the compatibility test phases that all Vendors must pass.

1. Verify that you have followed the configuration instructions in Section 4.2, "Configuring Your Environment to Repackage and Run the TCK Against the Vendor Implementation."

2. If required, verify that you have completed the steps in Section 4.3.3, "Deploying the Test Applications Against the Vendor Implementation."

3. Run the tests, as described in Section 5.1, "Starting JavaTest," and, if desired, Section 5.2, "Running a Subset of the Tests."

### 5.5 Test Reports

A set of report files is created for every test run. These report files can be found in the report directory you specify. After a test run is completed, the JavaTest harness writes HTML reports for the test run. You can view these files in the JavaTest ReportBrowser when running in GUI mode, or in the web browser of your choice outside the JavaTest interface.

To see all of the HTML report files, enter the URL of the `report.html` file. This file is the root file that links to all of the other HTML reports.

The JavaTest harness also creates a `summary.txt` file in the report directory that you can open in any text editor. The `summary.txt` file contains a list of all tests that were run, their test results, and their status messages.

#### 5.5.1 Creating Test Reports

Use the following modes to create test reports:

- Section 5.5.1.1, "To Create a Test Report in GUI Mode"

- Section 5.5.1.2, "To Create a Test Report in Command-Line Mode"

##### 5.5.1.1 To Create a Test Report in GUI Mode

1. From the JavaTest main menu, click Report, then click Create Report.
   You are prompted to specify a directory to use for your test reports.

2. Specify the directory you want to use for your reports, and then click OK.
   Use the Filter list to specify whether you want to generate reports for the current configuration, all tests, or a custom set of tests.
   You are asked whether you want to view report now.

3. Click Yes to display the new report in the JavaTest ReportBrowser.

##### 5.5.1.2 To Create a Test Report in Command-Line Mode

1. Specify where you want to create the test report.

   1. To specify the report directory from the command line at runtime, use:

          ant -Dreport.dir="report_dir"

      Reports are written for the last test run to the directory you specify.

2. To specify the default report directory, set the `report.dir` property in `<TS_HOME>/bin/ts.jte`.
   For example:

       report.dir="/home/josephine/reports"

3. To disable reporting, set the `report.dir` property to `"none"`, either on the command line or in `<TS_HOME>/bin/ts.jte`.
   For example:

       ant -Dreport.dir="none"

#### 5.5.2 Viewing an Existing Test Report

Use the following modes to view an existing test report:

- Section 5.5.2.1, "To View an Existing Report in GUI Mode"

- Section 5.5.2.2, "To View an Existing Report in Command-Line Mode"

##### 5.5.2.1 To View an Existing Report in GUI Mode

1. From the JavaTest main menu, click Report, then click Open Report.
   You are prompted to specify the directory containing the report you want to open.

2. Select the report directory you want to open, and then click Open.
   The selected report set is opened in the JavaTest ReportBrowser.

##### 5.5.2.2 To View an Existing Report in Command-Line Mode

Use the Web browser of your choice to view the `report.html` file in the report directory you specified from the command line or in `<TS_HOME>/bin/ts.jte`.

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.