aboutsummaryrefslogtreecommitdiffstats
path: root/lib/test_server/README
blob: fc71c90ca8cc97b48afe365849fd2d2454bc351b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
===========================================================================
                          OTP Test Server
===========================================================================

To compile the 'test_server' application you need to build and install
a Erlang/OTP system from source. Get your open source Erlang/OTP from
http://www.erlang.org/. The resulting "erlc" command must be in the
search path for commands.

The Erlang test_server application and the example tests are to be
inserted into an existing source tree for Erlang/OTP.

You don't run the Test Server or the tests from the source tree.
Instead a test installation area $TESTROOT is used with the resulting
directory structure

  $TESTROOT/test_server
  $TESTROOT/<app1>_test
  $TESTROOT/<app2>_test
  .
  .

For more details see the test_server documentation can be found in the
"$ERL_TOP/lib/test_server/doc/html" directory.


Unpacking the sources
---------------------

Enter your Erlang/OTP source tree and unpack the OTP Test Server and
optionally the test examples

  % cd otp_src_RXX
  % gunzip -c test_server-<VSN>.tar.gz | tar xf -
  % gunzip -c emulator-YYYY-MM-DD.tar.gz | tar xf -
  % gunzip -c stdlib-YYYY-MM-DD.tar.gz | tar xf -


How to build and install the OTP Test Server
--------------------------------------------

Set the ERL_TOP variable to the top directory of the source tree

  % cd otp_src_RXX

  % setenv ERL_TOP `pwd`
  or
  % export ERL_TOP=`pwd`

If not done before you need to run the configure script

  % ./configure

Then build and install from the the base directory of the test_server
application

  % cd lib/test_server
  % gmake release_tests TESTROOT=<some dir>


How to build and install the example test suites
------------------------------------------------

If you want to build and install the example test suites
you build and install from the the test directories

  % cd $ERL_TOP/lib/stdlib/test
  % gmake release_tests TESTROOT=<some dir>

  % cd $ERL_TOP/erts/emulator/test
  % gmake release_tests TESTROOT=<some dir>


How to run OTP test suites
--------------------------

First cd into $TESTROOT/test_server

  % cd $TESTROOT/test_server

Install the OTP Test Server framework

  % erl
  1> ts:install().

Check which tests are available

  2> ts:tests().
  [...]

Run the collections of test suites one at the time

  3> ts:run(emulator).  (starts a xterm with an Erlang shell)
  4> ts:run(stdlib).    (starts a xterm with an Erlang shell)

or all at once

  5> ts:run().          (the node running the tests will be in the background)

Note that it is normal to see lots of error messages in the Erlang
shell. The tests will stress the system with lots of invalid input to
find problems in the error handling.

Also note that a failing test case does not always indicate a bug in
Erlang/OTP. Differences in the network setup, machine configuration
etc may cause a test case to fail or time out.

The result of the tests are recorded in the file named "index.html" in
the "$TESTROOT/test_server" directory. You can follow the progress of
tests suites not yet completed from "last_test.html".

For more details see the test_server documentation can be found in the
"$ERL_TOP/lib/test_server/doc/html" directory.