Running tests

José Valim edited this page Jun 28, 2017 · 22 revisions


First make sure ERL_TOP and PATH are configured

# Bourne Shell
export ERL_TOP=$PWD
export PATH=$ERL_TOP/bin:$PATH
# C Shell
setenv ERL_TOP $PWD
setenv PATH $ERL_TOP/bin:$PATH

Then build the tests like this

./otp_build all -a && ./otp_build tests

If you encounter an error due to problematic entries in ERL_LIBS, unset ERL_LIBS and re-run the failed ./otp_build call:

# Bourne Shell
unset ERL_LIBS
# C Shell
unsetenv ERL_LIBS

When working on a patch, you can use make to recompile everything without having to reconfigure. You can also use make inside the directory of the application you are working on, as long as ERL_TOP and TARGET are defined. TARGET must be set to the target system, for example x86_64-unknown-linux-gnu.


To run the test first do:

cd release/tests/test_server

and then start Erlang:


Install the ts framework


To run all test suites do


Note that running all tests will require several hours, so you may want to run the test cases for a single application

ts:run(Application, [batch]).

or even part of the test suite for an application, for example

ts:run(emulator, bs, [batch]).

to run all test suite modules starting with bs (i.e. all modules that test the bit syntax).

To run a specific test case in a module, the full name of the module and test case must be spelled out:

ts:run(emulator, bs_bincomp_SUITE, byte_aligned, [batch]).

Run ts:help() to show some help.

There will currently be 15 or so failed test cases in the kernel application.

As of R14B02 it is also possibly to start all tests but the erl_interface tests by invoking Common Test directly from the released applications test directory, i.e.

cd release/tests/test_server
$ERL_TOP/bin/ct_run -suite ../compiler_test/andor_SUITE -case t_orelse

Running from the command line still requires you to do the ts:install() step above. For more information about ct_run see

Examining the results

Open the file release/tests/test_server/index.html in a web browser. Or open release/tests/test_server/last_test.html when a test suite is running to examine the results so far for the currently executing test suite (in and later R14B02 you want to open the release/tests/test_server/all_runs.html file to get to the currently running test)

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.