summaryrefslogtreecommitdiff
path: root/extras/luacov/doc/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'extras/luacov/doc/index.html')
-rw-r--r--extras/luacov/doc/index.html200
1 files changed, 200 insertions, 0 deletions
diff --git a/extras/luacov/doc/index.html b/extras/luacov/doc/index.html
new file mode 100644
index 0000000..ed451a2
--- /dev/null
+++ b/extras/luacov/doc/index.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+ <title>LuaCov - Coverage analysis for Lua scripts</title>
+ <link rel="stylesheet" href="doc.css" type="text/css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<style type="text/css">
+pre {
+ font-family: "Andale Mono", monospace;
+}
+div.Example {
+ font-family: "Andale Mono", monospace;
+ background-color: #f0f0f0;
+ margin-left: 1em;
+ margin-right: 1em;
+ margin-top: 0.5em;
+ margin-bottom 0.5em;
+ padding: 0.5em;
+}
+</style>
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="product">
+ <div id="product_logo"><a href="http://luacov.luaforge.net">
+ <img alt="LuaCov logo" src="luacov.png" />
+ </a></div>
+ <div id="product_name"><big><strong>LuaCov</strong></big></div>
+ <div id="product_description">Coverage analysis for Lua scripts</div>
+</div> <!-- id="product" -->
+
+<div id="main">
+
+<div id="navigation">
+
+<h1>LuaCov</h1>
+
+<ul>
+ <li><strong>Home</strong>
+ <ul>
+ <li> <a href="index.html#over">Overview</a></li>
+ <li> <a href="index.html#download">Download</a></li>
+ <li> <a href="index.html#instructions">Instructions</a></li>
+ <li> <a href="index.html#history">History</a></li>
+ <li> <a href="index.html#credits">Credits</a></li>
+ <li> <a href="index.html#contact">Contact</a></li>
+ </ul>
+ </li>
+ <li><a href="http://luaforge.net/projects/luacov/">Project</a>
+ <ul>
+ <li><a href="http://luaforge.net/scm/?group_id=290">CVS</a></li>
+ </ul>
+ </li>
+ <li><a href="license.html">License</a></li>
+</ul>
+
+</div> <!-- id="navigation" -->
+
+<div id="content">
+
+<h2><a name="over"></a>Overview</h2>
+
+<p>
+LuaCov is a simple coverage analyzer for <a href="http://www.lua.org">Lua</a>
+scripts. When a Lua script is run with the <tt>luacov</tt> module loaded, it
+generates a stats file with the number of executions of each line of the
+script and its loaded modules. The <tt>luacov</tt> command-line script then
+processes this file generating a report file which allows one to visualize
+which code paths were not traversed, which is useful for verifying the
+effectiveness of a test suite.
+</p>
+
+<p>
+LuaCov is free software and uses the same <a href="license.html">license</a> as Lua.
+</p>
+
+<h2><a name="download"></a>Download</h2>
+
+<p>
+LuaCov can be downloaded from its
+<a href="http://luaforge.net/projects/luacov/files/">LuaForge page</a>.
+</p>
+
+<p>
+LuaCov is written in pure Lua and has no external dependencies.
+</p>
+
+<h2><a name="instructions"></a>Instructions</h2>
+
+<p>
+Using LuaCov consists of two steps: running your script to collect
+coverage data, and then running <tt>luacov</tt> on the collected data to
+generate a report.
+</p>
+
+<p>
+To collect coverage data, your script needs to load the <tt>luacov</tt>
+Lua module. This can be done from the command-line, without modifying
+your script, like this:
+</p>
+
+<div class="Example">
+lua -lluacov test.lua
+</div>
+
+<p>
+(Alternatively, you can add <tt>require("luacov")</tt> to the first line
+of your script.)
+</p>
+
+<p>
+Once the script is run, a file called <tt>lcov.stats.out</tt> is generated.
+If the file already exists, statistics are <i>added</i> to it. This is useful,
+for example, for making a series of runs with different input parameters in
+a test suite. To start the accounting from scratch, just delete the stats file.
+</p>
+
+<p>
+To generate a report, just run the <tt>luacov</tt> command-line script.
+It expects to find a file named <tt>lcov.stats.out</tt> in the current
+directory, and outputs a file named <tt>lcov.report.out</tt>.
+</p>
+
+<p>This is an example output of the report file:</p>
+
+<div class="Example"><pre>
+============================================================
+../test.lua
+============================================================
+
+ -- Which branch will run?
+1 if 10 > 100 then
+0 print("I don't think this line will execute.")
+0 else
+1 print("Hello, LuaCov!")
+1 end
+</pre></div>
+
+<p>
+Note that to generate this report, <tt>luacov</tt> reads the source files.
+Therefore, it expects to find them in the same location they were when
+the <tt>luacov</tt> module ran (the stats file stores the filenames, but
+not the sources themselves).
+</p>
+
+<p>
+LuaCov saves its stats upon normal program termination. If your program
+is a daemon -- in other words, if it does not terminate normally -- you
+can use the <tt>luacov.tick</tt> module, which periodically saves the
+stats file. For example, to run (on Unix systems) LuaCov on
+<a href="http://www.keplerproject.org/xavante">Xavante</a>,
+just modify the first line of <tt>xavante_start.lua</tt> so it reads:
+</p>
+
+<div class="Example">
+#!/usr/bin/env lua -lluacov.tick
+</div>
+
+<h2><a name="history"></a>History</h2>
+
+<dl>
+ <dt><strong>0.1</strong> [July 16, 2007]</dt>
+ <dd>
+ <ul>
+ <li>Initial release.</li>
+ </ul>
+ </dd>
+</dl>
+
+<h2><a name="credits"></a>Credits</h2>
+
+<p>
+LuaCov was designed and implemented by Hisham Muhammad as a tool for
+testing <a href="http://luarocks.luaforge.net">LuaRocks</a>.
+</p>
+
+<h2><a name="contact"></a>Contact</h2>
+
+<p>
+For more information please
+<a href="mailto:hisham-NO-SPAM-THANKS@gobolinux.org">contact</a> us. Comments are welcome!
+</p>
+
+</div> <!-- id="content" -->
+
+</div> <!-- id="main" -->
+
+<div id="about">
+ <p><a href="http://validator.w3.org/check?uri=referer">
+ <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
+</div> <!-- id="about" -->
+
+</div> <!-- id="container" -->
+
+</body>
+</html>