diff options
Diffstat (limited to 'extras/luacov/doc')
-rw-r--r-- | extras/luacov/doc/doc.css | 223 | ||||
-rw-r--r-- | extras/luacov/doc/index.html | 200 | ||||
-rw-r--r-- | extras/luacov/doc/license.html | 113 | ||||
-rw-r--r-- | extras/luacov/doc/luacov.png | bin | 0 -> 8420 bytes |
4 files changed, 536 insertions, 0 deletions
diff --git a/extras/luacov/doc/doc.css b/extras/luacov/doc/doc.css new file mode 100644 index 0000000..3770e4e --- /dev/null +++ b/extras/luacov/doc/doc.css @@ -0,0 +1,223 @@ +body {
+ margin-left: 1em;
+ margin-right: 1em;
+ font-family: arial, helvetica, geneva, sans-serif;
+ background-color:#ffffff; margin:0px;
+}
+
+code {
+ font-family: "Andale Mono", monospace;
+}
+
+tt {
+ font-family: "Andale Mono", monospace;
+}
+
+body, td, th { font-size: 11pt; }
+
+h1, h2, h3, h4 { margin-left: 0em; }
+
+textarea, pre, tt { font-size:10pt; }
+body, td, th { color:#000000; }
+small { font-size:0.85em; }
+h1 { font-size:1.5em; }
+h2 { font-size:1.25em; }
+h3 { font-size:1.15em; }
+h4 { font-size:1.06em; }
+
+a:link { font-weight:bold; color: #004080; text-decoration: none; }
+a:visited { font-weight:bold; color: #006699; text-decoration: none; }
+a:link:hover { text-decoration:underline; }
+hr { color:#cccccc }
+img { border-width: 0px; }
+
+
+h3 { padding-top: 1em; }
+
+p { margin-left: 1em; }
+
+p.name {
+ font-family: "Andale Mono", monospace;
+ padding-top: 1em;
+ margin-left: 0em;
+}
+
+blockquote { margin-left: 3em; }
+
+.example {
+ background-color: rgb(245, 245, 245);
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-style: solid;
+ border-right-style: solid;
+ border-bottom-style: solid;
+ border-left-style: solid;
+ border-top-color: silver;
+ border-right-color: silver;
+ border-bottom-color: silver;
+ border-left-color: silver;
+ padding: 1em;
+ margin-left: 1em;
+ margin-right: 1em;
+ font-family: "Andale Mono", monospace;
+ font-size: smaller;
+}
+
+
+hr {
+ margin-left: 0em;
+ background: #00007f;
+ border: 0px;
+ height: 1px;
+}
+
+ul { list-style-type: disc; }
+
+table.index { border: 1px #00007f; }
+table.index td { text-align: left; vertical-align: top; }
+table.index ul { padding-top: 0em; margin-top: 0em; }
+
+table {
+ border: 1px solid black;
+ border-collapse: collapse;
+ margin-left: auto;
+ margin-right: auto;
+}
+th {
+ border: 1px solid black;
+ padding: 0.5em;
+}
+td {
+ border: 1px solid black;
+ padding: 0.5em;
+}
+div.header, div.footer { margin-left: 0em; }
+
+#container
+{
+ margin-left: 1em;
+ margin-right: 1em;
+ background-color: #f0f0f0;
+}
+
+#product
+{
+ text-align: center;
+ border-bottom: 1px solid #cccccc;
+ background-color: #ffffff;
+}
+
+#product big {
+ font-size: 2em;
+}
+
+#product_logo
+{
+}
+
+#product_name
+{
+}
+
+#product_description
+{
+}
+
+#main
+{
+ background-color: #f0f0f0;
+ border-left: 2px solid #cccccc;
+}
+
+#navigation
+{
+ float: left;
+ width: 12em;
+ margin: 0;
+ vertical-align: top;
+ background-color: #f0f0f0;
+ overflow:visible;
+}
+
+#navigation h1 {
+ background-color:#e7e7e7;
+ font-size:1.1em;
+ color:#000000;
+ text-align:left;
+ margin:0px;
+ padding:0.2em;
+ border-top:1px solid #dddddd;
+ border-bottom:1px solid #dddddd;
+}
+
+#navigation ul
+{
+ font-size:1em;
+ list-style-type: none;
+ padding: 0;
+ margin: 1px;
+}
+
+#navigation li
+{
+ text-indent: -1em;
+ margin: 0em 0em 0em 0.5em;
+ display: block;
+ padding: 3px 0px 0px 12px;
+}
+
+#navigation li li a
+{
+ padding: 0px 3px 0px -1em;
+}
+
+#content
+{
+ margin-left: 12em;
+ padding: 1em;
+ border-left: 2px solid #cccccc;
+ border-right: 2px solid #cccccc;
+ background-color: #ffffff;
+}
+
+#about
+{
+ clear: both;
+ margin: 0;
+ padding: 5px;
+ border-top: 2px solid #cccccc;
+ background-color: #ffffff;
+}
+
+@media print {
+ body {
+ font: 10pt "Times New Roman", "TimeNR", Times, serif;
+ }
+ a { font-weight:bold; color: #004080; text-decoration: underline; }
+
+ #main { background-color: #ffffff; border-left: 0px; }
+ #container { margin-left: 2%; margin-right: 2%; background-color: #ffffff; }
+
+ #content { margin-left: 0px; padding: 1em; border-left: 0px; border-right: 0px; background-color: #ffffff; }
+
+ #navigation { display: none;
+ }
+
+ #product_logo
+ {
+ display: none;
+ }
+
+ #about img
+ {
+ display: none;
+ }
+
+ .example {
+ font-family: "Andale Mono", monospace;
+ font-size: 8pt;
+ page-break-inside: avoid;
+ }
+}
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> diff --git a/extras/luacov/doc/license.html b/extras/luacov/doc/license.html new file mode 100644 index 0000000..afbb9f6 --- /dev/null +++ b/extras/luacov/doc/license.html @@ -0,0 +1,113 @@ +<!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"/> +</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><b>LuaCov</b></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><a href="index.html">Home</a> + <ul> + <li> <a href="index.html#over">Overview</a></li> + <li> <a href="index.html#download">Download</a></li> + <li> <a href="index.html#dependencies">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><strong>License</strong></li> +</ul> + +</div> <!-- id="navigation" --> + +<div id="content"> + +<h2>License</h2> + +<p> +LuaCov is free software: it can be used for both academic and commercial purposes +at absolutely no cost. There are no royalties or GNU-like "copyleft" restrictions. +LuaCov qualifies as <a href="http://www.opensource.org/docs/definition.html">Open Source</a> software. +Its licenses are compatible with <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>. +LuaCov is not in the public domain. The legal details are below. +</p> + +<p> +The spirit of the license is that you are free to use LuaCov for any purpose +at no cost without having to ask us. The only requirement is that if you do use +LuaCov, then you should give us credit by including the appropriate copyright notice +somewhere in your product or its documentation. +</p> + +<p> +LuaCov is designed and implemented by Hisham Muhammad. +The implementation is not derived from licensed software. +</p> + +<hr/> + +<p>Copyright (c) 2007 Hisham Muhammad.</p> + +<p> +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +</p> + +<p> +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +</p> + +<p> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +</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> diff --git a/extras/luacov/doc/luacov.png b/extras/luacov/doc/luacov.png Binary files differnew file mode 100644 index 0000000..1cf37b7 --- /dev/null +++ b/extras/luacov/doc/luacov.png |