User's Guide
Reference Manual
Release Notes
PDF
Top

Common Test
User's Guide
Version 1.5.3

Expand All
Contract All

Chapters

- Common Test Basics
  - Top of chapter
  - Introduction
  - Test Suite Organisation
  - Support Libraries
  - Suites and Test Cases
  - External Interfaces
- Installation
  - Top of chapter
  - General information
- Writing Test Suites
  - Top of chapter
  - Support for test suite authors
  - Test suites
  - Init and end per suite
  - Init and end per test case
  - Test cases
  - Test case info function
  - Test suite info function
  - Test case groups
  - The parallel property and nested groups
  - Repeated groups
  - Shuffled test case order
  - Data and Private Directories
  - Execution environment
  - Timetrap timeouts
  - Illegal dependencies
- Test Structure
  - Top of chapter
  - Test structure
  - Skipping test cases
  - Definition of terms
- Examples and Templates
  - Top of chapter
  - Test suite example
  - Test suite templates
- Running Tests
  - Top of chapter
  - Using the Common Test Framework
  - Automatic compilation of test suites and help modules
  - Running tests from the OS command line
  - Running tests from the Web based GUI
  - Running tests from the Erlang shell or from an Erlang program
  - Running the interactive shell mode
  - Step by step execution of test cases with the Erlang Debugger
  - Using test specifications
  - Log files
  - HTML Style Sheets
  - Repeating tests
  - Silent Connections
- External Configuration Data
  - Top of chapter
  - General
  - Syntax
  - Requiring and reading configuration data
  - Using configuration variables defined in multiple files
  - Encrypted configuration files
  - Opening connections by using configuration data
  - User specific configuration data formats
  - Examples of configuration data handling
  - Example of user specific configuration handler
- Code Coverage Analysis
  - Top of chapter
  - General
  - Usage
  - The cover specification file
  - Logging
- Using Common Test for Large Scale Testing
  - Top of chapter
  - General
  - Usage
  - Test Specifications
  - Automatic startup of test target nodes
- Event Handling
  - Top of chapter
  - General
  - Usage
- Dependencies between Test Cases and Suites
  - Top of chapter
  - General
  - Saving configuration data
  - Sequences
- Common Test Hooks
  - Top of chapter
  - General
  - Installing a CTH
  - CTH Scope
  - Manipulating tests
  - Example CTH
- Some thoughts about testing
  - Top of chapter
  - Goals
  - What to test?

# 2 Installation

### 2.1 General information

The two main interfaces for running tests with Common Test are an executable program named ct_run and an erlang module named ct. The ct_run program is compiled for the underlying operating system (e.g. Unix/Linux or Windows) during the build of the Erlang/OTP system, and is installed automatically with other executable programs in the top level bin directory of Erlang/OTP. The ct interface functions can be called from the Erlang shell, or from any Erlang function, on any supported platform.

A legacy Bourne shell script - named run_test - exists, which may be manually generated and installed. This script may be used instead of the ct_run program mentioned above, e.g. if the user wishes to modify or customize the Common Test start flags in a simpler way than making changes to the ct_run C program.

The Common Test application is installed with the Erlang/OTP system and no additional installation step is required to start using Common Test by means of the ct_run executable program, and/or the interface functions in the ct module. If you wish to use the legacy Bourne shell script version run_test, however, this script needs to be generated first, according to the instructions below.

Note

Before reading on, please note that since Common Test version 1.5, the run_test shell script is no longer required for starting tests with Common Test from the OS command line. The ct_run program (descibed above) is the new recommended command line interface for Common Test. The shell script exists mainly for legacy reasons and may not be updated in future releases of Common Test. It may even be removed.

Optional step to generate a shell script for starting Common Test:

To generate the run_test shell script, navigate to the common_test-<vsn> directory, located among the other OTP applications (under the OTP lib directory). Here execute the install.sh script with argument local:

$ ./install.sh local

This generates the executable run_test script in the common_test-<vsn>/priv/bin directory. The script will include absolute paths to the Common Test and Test Server application directories, so it's possible to copy or move the script to a different location on the file system, if desired, without having to update it. It's of course possible to leave the script under the priv/bin directory and update the PATH variable accordingly (or create a link or alias to it).

If you, for any reason, have copied Common Test and Test Server to a different location than the default OTP lib directory, you can generate a run_test script with a different top level directory, simply by specifying the directory, instead of local, when running install.sh. Example:

$ install.sh /usr/local/test_tools

Note that the common_test-<vsn> and test_server-<vsn> directories must be located under the same top directory. Note also that the install script does not copy files or update environment variables. It only generates the run_test script.

Whenever you install a new version of Erlang/OTP, the run_test script needs to be regenerated, or updated manually with new directory names (new version numbers), for it to "see" the latest Common Test and Test Server versions.