How to run test packages remotely

When running tests remotely, you must create a test package, and specify the ROM image to be used for the test. Then, you must include the test package and the ROM image in a test job, and send it to the TestMaster on the server side.

If several test jobs have been submitted, they are placed in a queue by the TestMaster and then executed by TestDriver on the device. It is possible to check the progress status of the test job at any point of time.

The following sections describe commands and arguments to be used while running the test packages remotely. These include running the test packages remotely (either synchronously or asynchronously), checking the status of the TestMaster, checking the status of the test job, retrieving the test results, and cancelling a test job.

For further information on creating the test packages, see Building the test packages.

Runremote command line syntax

You can run a test package remotely using the following command:

>testdriver runremote -m <mode> --tp <testpackage> -i <working_path> -r <rom_image> --srv <remote_server> --cl <client_name>

The following options are used with the runremote command.

OptionDescription

-m

Used to specify whether the user receives results and updates synchronously (while the job is being processed), sync, or asynchronously (any time after the job has finished), async.

-r

Used to specify the name of the ROM image file to be used. This is optional. If specified, the device is flashed.

--cl

Used to specify the unique name for registering the client with the server in sync mode.

-i

Specifies the current working directory for all the input files (ROM image file and test package). This is also the location where all the results are generated while processing a job in sync mode.

-t

Used to specify the transport protocol that is used to link to the device.

-l

Used to specify the location of the RDebug logs. For example, \\d:\packages

--testexec

Used to transfer the Test Execute Framework (TEF) dependencies to the package. This can be ON/OFF

--tp

Used to specify the test package. For example, \\d:\packages\testPackage.tpkg.

--srv

Used to specify the host name or the IP address of the remote PC and the name of the remote service. For example, //lon-test01/RemoteTestDriver or //100.16.163.146/RemoteTestDriver. This is optional and if specified, it overrides the values in the client.properties file.

--sysbin

Used to copy to SYS/BIN with STATLite.

--platsec

Used to specify if the PlatSec is ON or OFF.

Checking TestMaster status

To find the status of the TestMaster processes running on the Server, use the following command:

>testdriver masterstatus --srv <remote_server>

You can check the status of the TestMaster at any point of time.

Running tests in sync/async mode

The sync/async mode enables you to specify how to receive the progress information about the test job - either synchronously (sync) or asynchronously (async).

The following is an example of how to run tests synchronously:

>testdriver runremote -m sync --tp samplelegacytest.tpkg -i D:\MyJobs\SomeJob -r sys$rom.zip --srv //lon-test01/RemoteTestDriver --cl foo

When using the sync mode, the client stays connected to the TestMaster in order to receive the progress information.

The following is an example of running test packages remotely in asynchronous mode:

 >testdriver runremote -m async -i D:\\MyJobs\SomeJob --tp samplelegacytest.tpkg -r sys$rom.zip 

When using the async mode, the client submits the test job to the TestMaster and gets disconnected. You can retrieve the progress information about the test job at any time using jobstatus command. For more information, refer to the following section.

Checking status of the test job

To check the status of a job that has been sent from the TestClient to the TestMaster, use the following command:

>testdriver jobstatus -j <job_ID> [--srv <remote_server>]

where:

<job_ID> is the unique identifier assigned to the job by the TestMaster, for example, 1, 2, and so on.

The status shows whether the job is waiting in a queue, has been submitted, is running, or has been completed. This command can be used at any time, but it is especially useful for requesting an update when the async command is used.

Cancelling a job

To cancel a job that is being held in a queue by the TestMaster, type the following command:

>testdriver cancel -j <job_ID> --srv <remote_server>

where:

<job_ID> is the unique identifier assigned to the job by the TestMaster. For example, 1, 2 or 3

--srv <remote_server> defines the host name or IP address of the remote PC and the name of the remote service, for example //lon-test01/RemoteTestDriver or //100.16.163.146/RemoteTestDriver. This is optional and if specified, it overrides the values in the client.properties file.

Requesting for test results

To check the test results produced after the job is completed, use the following command:

>testdriver results -j <job_ID> -c <collection_path> [--srv <remote_server>]

where:

<job_ID> is the unique identifier assigned to the job by the TestMaster. For example, 1, 2 or 3.

<collection_path> is the directory where the results are stored as HTML reports in a file called testresults.zip.

--srv <remote_server> defines the host name or IP address of the remote PC and the name of the remote service, for example //lon-test01/RemoteTestDriver or //100.16.163.146/RemoteTestDriver. This is optional and if specified, it overrides the values in the client.properties file.

Cleaning server files

To clean up the result files on the server. Type the following command:

>testdriver cleanremote -j <job_ID> --srv <remote_server>

When the -j (job ID) is specified, the result files are deleted from the server and the job is removed from the list of jobs. If the -j option is not specified, the server deletes all the files on the server including EPOCROOT, REPOSITORYROOT, the work directory, the results directory for all jobs and resets the job number.