Added support for top-level info and diagnostic messages.
[erlang-estap.git] / src / overview.edoc
1 @author Stanislaw Klekot <dozzie@jarowit.net>
2 @title escript TAP producer
3 @version 0.0.0
4 @doc
5
6 TAP producer for Erlang, running from command line.
7
8 Goal of estap is to allow to write tests for Erlang application in similar
9 manner as it is established in Perl world: `*.t' files in a directory, the
10 files being executable and producing
11 <a href="http://testanything.org/">TAP</a> output, thus being appropriate for
12 TAP consumers like `prove' command.
13
14 == Usage ==
15
16 <b>TODO</b>
17
18 == How does it work? ==
19
20 <ol>
21   <li>copy the test file, stripping `#!' line</li>
22   <li>compile the file to ABFs</li>
23   <li>extract test data (descriptions, functions, ...)</li>
24   <li>add any missing data (`-module()' declaration, exports for test
25       functions) and remove estap's attributes that otherwise would hamper
26       compilation</li>
27   <li>compile forms to bytecode and load the module</li>
28   <li>start {@link estap_server} for tracking test cases</li>
29   <li>consecutively call each test function in a separate process</li>
30   <li>for subtests, spawn a new {@link estap_server} and put its pid in
31       process dictionary</li>
32 </ol>
33
34 <!-- vim:set ft=edoc: -->