This is a framework for testing OTP. The
The framework is built on top of the Test Server Controller,
More information about the Test Server Framework and how to run test cases can be found in the Test Server User's Guide.
For writing you own test server framework, please turn to the reference manual for the Test Server Controller and chapter named "Writing your own test server framework" in the Test Server User's Guide.
SETUP
To be able to run
See the reference manual for detailed information about
Some of the common variables in the 'variables' file are described below. Do not make any assumptions as of what is found in this file, as it may change at any time.
RUNNING TESTS
After installing
All available tests can be found with
To run all these tests, use
To run one or some of the tests, use
To run one test suite within a test, use
To run one test case within a suite, use
To all these functions, you can also add a list of
options. Please turn to the reference manual for the
The function
LOG FILES
As the execution of the test suites go on, events are logged in four different ways:
Typically the operator, who may run hundreds or thousands of test cases, doesn't want to fill the screen with details about/from the specific test cases. By default, the operator will only see:
This is enough for the operator to know, and if he wants to dig in deeper into a specific test case result, he can do so by following the links in the HTML presentation to take a look in the major or minor log files.
A detailed report of the entire test suite is stored in the major logfile, the exact reason for failure, time spent etc.
The HTML log file is a summary of the major log file, but gives a much better overview of the test run. It also has links to every test case's log file for quick viewing with a HTML browser.
The minor log file contain full details of every single test case, each one in a separate file. This way the files should be easy to compare with previous test runs, even if the set of test cases change.
Which information that goes where is user configurable via the test server controller. Three threshold values determine what comes out on screen, and in the major or minor log files. The contents that goes to the HTML log file is fixed, and cannot be altered.
Installs and configures the Test Server Framework for
running test suites. If a remote host is to be used, the
Opts may be one or more of
Presents simple help on the functions in
Returns the list of available tests. This is actually just a list of all test specification files found by looking up "../*_test/*.spec".
In each ../Name_test/ directory there should be one test specification file named Name.spec.
This function runs test suite(s)/case(s). To be able to run
any tests, ts:install must first be called to create the
If the
The
The
The
The
The
{exclude, all | ExcludeModuleList}.
{include, IncludeModuleList}.
Note that each line must end with a full
stop.
If the
The same cover compiled code will be loaded on all slave or
peer nodes started with
The
Analyse cover data collected from all tests.
See test_server_ctrl:cross_cover_analyse/1
This function can be used to run a test suites or test
cases directly, without any of the additional features added
by the test server framework. It is simply a wrapper function
for the
To use this function, it is required that the test suite is
compiled and in the code path of the node where the function
is called. The function can be used without having
For information about the
This function updates the local index page. This can be useful if a previous test run was not completed and the index is incomplete.
This function cleans up log directories created when
running test cases.
This function runs the EStone test. It is a shortcut for
running the test suite
If a data directory contains code which must be compiled before
the test suite is run, a makefile source called
The reason for generating the makefile is that you can use
variables from the
Cut from
...
{'EMULATOR',"beam"}.
{'CFLAGS',"-g -O2"}.
{'LD',"$(CC) $(CFLAGS)"}.
{'CC',"gcc"}.
...
EFLAGS=+debug_info
all: ordsets1.@EMULATOR@
ordsets1.@EMULATOR@: ordsets1.erl
erlc $(EFLAGS) ordsets1.erl
CC = @CC@
LD = @LD@
CFLAGS = @CFLAGS@ -I@erl_include@ @DEFS@
CROSSLDFLAGS = @CROSSLDFLAGS@
PROGS = nfs_check@exe@
all: $(PROGS)
nfs_check@exe@: nfs_check@obj@
$(LD) $(CROSSLDFLAGS) -o nfs_check nfs_check@obj@ @LIBS@
nfs_check@obj@: nfs_check.c
$(CC) -c -o nfs_check@obj@ $(CFLAGS) nfs_check.c