rcov 0.8.1.2.0 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/BLURB +2 -40
- data/LICENSE +2 -5
- data/Rakefile +32 -106
- data/THANKS +14 -0
- data/bin/rcov +277 -1090
- data/doc/readme_for_api.markdown +22 -0
- data/doc/readme_for_emacs.markdown +52 -0
- data/doc/readme_for_rake.markdown +51 -0
- data/doc/readme_for_vim.markdown +34 -0
- data/{rcov.el → editor-extensions/rcov.el} +0 -0
- data/{rcov.vim → editor-extensions/rcov.vim} +0 -0
- data/ext/rcovrt/1.8/callsite.c +216 -0
- data/ext/rcovrt/1.8/rcovrt.c +287 -0
- data/ext/rcovrt/1.9/callsite.c +234 -0
- data/ext/rcovrt/1.9/rcovrt.c +264 -0
- data/ext/rcovrt/extconf.rb +12 -2
- data/lib/rcov.rb +13 -968
- data/lib/rcov/call_site_analyzer.rb +225 -0
- data/lib/rcov/code_coverage_analyzer.rb +268 -0
- data/lib/rcov/coverage_info.rb +36 -0
- data/lib/rcov/differential_analyzer.rb +116 -0
- data/lib/rcov/file_statistics.rb +334 -0
- data/lib/rcov/formatters.rb +13 -0
- data/lib/rcov/formatters/base_formatter.rb +173 -0
- data/lib/rcov/formatters/failure_report.rb +15 -0
- data/lib/rcov/formatters/full_text_report.rb +48 -0
- data/lib/rcov/formatters/html_coverage.rb +274 -0
- data/lib/rcov/formatters/html_erb_template.rb +62 -0
- data/lib/rcov/formatters/text_coverage_diff.rb +193 -0
- data/lib/rcov/formatters/text_report.rb +32 -0
- data/lib/rcov/formatters/text_summary.rb +11 -0
- data/lib/rcov/lowlevel.rb +16 -17
- data/lib/rcov/rcovtask.rb +21 -22
- data/lib/rcov/templates/detail.html.erb +64 -0
- data/lib/rcov/templates/index.html.erb +93 -0
- data/lib/rcov/templates/jquery-1.3.2.min.js +19 -0
- data/lib/rcov/templates/jquery.tablesorter.min.js +15 -0
- data/lib/rcov/templates/print.css +12 -0
- data/lib/rcov/templates/rcov.js +42 -0
- data/lib/rcov/templates/screen.css +270 -0
- data/lib/rcov/version.rb +5 -8
- data/setup.rb +5 -2
- data/test/{sample_01.rb → assets/sample_01.rb} +0 -0
- data/test/{sample_02.rb → assets/sample_02.rb} +0 -0
- data/test/{sample_03.rb → assets/sample_03.rb} +0 -0
- data/test/{sample_04.rb → assets/sample_04.rb} +0 -0
- data/test/{sample_05-new.rb → assets/sample_05-new.rb} +0 -0
- data/test/{sample_05-old.rb → assets/sample_05-old.rb} +0 -0
- data/test/{sample_05.rb → assets/sample_05.rb} +0 -0
- data/test/{test_CallSiteAnalyzer.rb → call_site_analyzer_test.rb} +57 -81
- data/test/{test_CodeCoverageAnalyzer.rb → code_coverage_analyzer_test.rb} +71 -35
- data/test/{test_FileStatistics.rb → file_statistics_test.rb} +34 -36
- data/test/{test_functional.rb → functional_test.rb} +21 -35
- metadata +91 -69
- data/CHANGES +0 -177
- data/LEGAL +0 -36
- data/README.API +0 -42
- data/README.emacs +0 -64
- data/README.en +0 -130
- data/README.rake +0 -62
- data/README.rant +0 -68
- data/README.vim +0 -47
- data/Rantfile +0 -76
- data/ext/rcovrt/callsite.c +0 -242
- data/ext/rcovrt/rcovrt.c +0 -329
- data/lib/rcov/rant.rb +0 -87
- data/lib/rcov/report.rb +0 -1236
- data/mingw-rbconfig.rb +0 -174
data/CHANGES
DELETED
@@ -1,177 +0,0 @@
|
|
1
|
-
|
2
|
-
User-visible changes.
|
3
|
-
|
4
|
-
Since 0.8.1.1 (2007-11-20)
|
5
|
-
==========================
|
6
|
-
Bugfixes
|
7
|
-
--------
|
8
|
-
* REXML from 1.8.6-p11[01] is more broken than anticipated; more invasive
|
9
|
-
workarounds. Tested on 1.8.6-p110 and 1.8.5. Note that code using REXML to
|
10
|
-
generate XML will behave differently under rcov in 1.8.6-p11[01] (to begin
|
11
|
-
with, it won't crash in REXML::Document#write).
|
12
|
-
|
13
|
-
Since 0.8.1 (2007-11-19)
|
14
|
-
========================
|
15
|
-
Bugfixes
|
16
|
-
--------
|
17
|
-
* REXML workaround incorrectly applied to 1.8.6 < p110
|
18
|
-
* --spec-only should work with RSpec trunk and detect when it cannot work
|
19
|
-
|
20
|
-
Since 0.8.0 (2007-02-28)
|
21
|
-
========================
|
22
|
-
Features
|
23
|
-
--------
|
24
|
-
* you can use an existent data file to generate coverage reports without
|
25
|
-
having to execute your code again
|
26
|
-
* --spec-only: only consider cover code executed inside a spec
|
27
|
-
(tested with RSpec 1.0.5, 1.0.8)
|
28
|
-
* --charset can be used to specify the charset in the Content-Type declaration
|
29
|
-
|
30
|
-
Bugfixes
|
31
|
-
--------
|
32
|
-
* workaround for bugs in Safari, IE (self-closing anchors break colorization)
|
33
|
-
* workaround for bugs in REXML shipped with 1.8.6-p110
|
34
|
-
* rethrow exceptions generated by traced scripts
|
35
|
-
* compatibility with Ruby < 1.8.5
|
36
|
-
|
37
|
-
Since 0.7.0 (2006-08-04)
|
38
|
-
========================
|
39
|
-
Features
|
40
|
-
--------
|
41
|
-
* --annotate mode, which dumps annotated source code which can be used to
|
42
|
-
follow the control flow (very useful when reading third-party code)
|
43
|
-
* --gcc option to display uncovered lines in GCC error format
|
44
|
-
* superior Emacs support: running rcov, jumping to uncovered code, navigate
|
45
|
-
through cross-referenced annotated code
|
46
|
-
* --[no-]validator-links
|
47
|
-
|
48
|
-
Bugfixes
|
49
|
-
--------
|
50
|
-
* differential code coverage reports work with filenames containing special
|
51
|
-
characters
|
52
|
-
* fixed recent segfaults happening with rspec
|
53
|
-
* more care name mangling
|
54
|
-
|
55
|
-
Minor enhancements
|
56
|
-
------------------
|
57
|
-
* relevant summary values are identified using separate CSS classes
|
58
|
-
(microformat-style)
|
59
|
-
|
60
|
-
Since 0.6.0 (2006-06-12)
|
61
|
-
========================
|
62
|
-
Features
|
63
|
-
--------
|
64
|
-
* coverage/callsite data from multiple runs can be aggregated (--aggregate)
|
65
|
-
|
66
|
-
Bugfixes
|
67
|
-
--------
|
68
|
-
* the SCRIPT_LINES__ workaround works better
|
69
|
-
* fixed silly bug in coverage data acquisition (line after the correct one
|
70
|
-
marked in some situations)
|
71
|
-
* avoid problems with repeated path separators in default ignore list, based
|
72
|
-
on rbconfig's data
|
73
|
-
|
74
|
-
|
75
|
-
Minor enhancements
|
76
|
-
------------------
|
77
|
-
|
78
|
-
Since 0.5.0 (2006-05-30)
|
79
|
-
========================
|
80
|
-
Features
|
81
|
-
--------
|
82
|
-
* differential coverage report: --text-coverage-diff (-D) and --save
|
83
|
-
Tells you when you've added new code that was not covered by the tests and
|
84
|
-
when code that used to be covered isn't anymore. Integration with vim
|
85
|
-
(contributions for other editors/IDEs welcome).
|
86
|
-
* fully cross-referenced reports, indicating where methods are called from
|
87
|
-
and which methods were called for each line (--xrefs)
|
88
|
-
* cross-referenced report generation is now over 4 times faster for
|
89
|
-
applications with deep call stacks (such as Rails apps)
|
90
|
-
|
91
|
-
Bugfixes
|
92
|
-
--------
|
93
|
-
* comments at EOF are marked now
|
94
|
-
* better handling of multiline hashes/arrays
|
95
|
-
* better handling of end/}: support chained method calls and more expressions
|
96
|
-
on the same line
|
97
|
-
* better handling of heredocs with interpolation
|
98
|
-
|
99
|
-
Minor enhancements
|
100
|
-
------------------
|
101
|
-
* more readable --text-coverage
|
102
|
-
* set whether comments are "run" by default instead of attaching them to
|
103
|
-
the following block of code (--[no-]comments)
|
104
|
-
* --report-cov-bug can be used to report bugs in the coverage analysis
|
105
|
-
|
106
|
-
Since 0.4.0 (2006-05-22)
|
107
|
-
========================
|
108
|
-
Features
|
109
|
-
--------
|
110
|
-
* ability to create cross-referenced reports, indicating where methods are
|
111
|
-
called from (--callsites)
|
112
|
-
* more refinements in the heuristics: now several kinds of multi-line quoted
|
113
|
-
strings are handled properly
|
114
|
-
* --include-file to specify files not to be ignored in the report(s)
|
115
|
-
* implemented a task generator for Rant
|
116
|
-
|
117
|
-
Bugfixes
|
118
|
-
--------
|
119
|
-
* corrected the LOC counts in the XHTML summaries
|
120
|
-
* pure-Ruby tracing module works again; was broken in 0.4.0
|
121
|
-
* RcovTask#ruby_opts fixed; they were being passed to rcov instead of ruby
|
122
|
-
* solved the DOCTYPE issue (it'd get put at the end of the file under some
|
123
|
-
Ruby versions)
|
124
|
-
|
125
|
-
Minor enhancements
|
126
|
-
------------------
|
127
|
-
* slightly more readable XHTML reports, esp. for IE
|
128
|
-
* text reports fit in 79 columns so they look OK with cmd.exe
|
129
|
-
* try to guide the user when all files were considered "uninteresting" by rcov
|
130
|
-
* the output_dir is preserved in RcovTasks when the user specifies --profile
|
131
|
-
via the RCOVOPTS env. var.
|
132
|
-
|
133
|
-
Since 0.3.0 (2006-05-05)
|
134
|
-
========================
|
135
|
-
|
136
|
-
Features
|
137
|
-
--------
|
138
|
-
* easy automation via Rake using the bundled Rcov::RcovTask
|
139
|
-
* better heuristics: supports heredocs at last, including variants your editor
|
140
|
-
is probably unable to handle, and =begin/=end comments
|
141
|
-
* --rails option to ignore files under vendor/, enviroment/ and config/
|
142
|
-
* parts of the runtime exposed and documented for external use
|
143
|
-
* new color scheme, with alternating shades of the base colors
|
144
|
-
* -w to set $VERBOSE=true (turns on warnings)
|
145
|
-
* --text-report and --text-summary
|
146
|
-
* --sort and --sort-reverse for the summaries and reports
|
147
|
-
* --threshold and --only-uncovered
|
148
|
-
* --replace-progname
|
149
|
-
|
150
|
-
Backwards incompatible changes
|
151
|
-
------------------------------
|
152
|
-
* renamed --text to --text-counts and --rich-text to --text-coverage: they
|
153
|
-
were misnamed to begin with
|
154
|
-
* changed the meaning of -t and -T (--text-summary and --text-report)
|
155
|
-
* $0 is not changed by default for each loaded file anymore; the old
|
156
|
-
behavior (modulo a small bugfix) can be reproduced with --replace-progname
|
157
|
-
|
158
|
-
Since 0.2.0 (2006-02-25)
|
159
|
-
========================
|
160
|
-
|
161
|
-
Features
|
162
|
-
--------
|
163
|
-
* --exclude-only
|
164
|
-
* consolidate multiple references to the same underlying .rb file
|
165
|
-
(much needed for Rails)
|
166
|
-
* --test-unit-only
|
167
|
-
|
168
|
-
Fixes
|
169
|
-
-----
|
170
|
-
* consider and/op operators
|
171
|
-
* honor --no-color in (rich) text mode
|
172
|
-
* output valid XHTML indices
|
173
|
-
|
174
|
-
Since 0.1.0
|
175
|
-
===========
|
176
|
-
Tons. Better output, MUCH faster (two orders of magnitude), better command
|
177
|
-
line...
|
data/LEGAL
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
|
2
|
-
LEGAL NOTICE
|
3
|
-
------------
|
4
|
-
|
5
|
-
rcov itself is subject to the terms specified in LICENSE.
|
6
|
-
|
7
|
-
rcov includes (in the DATA area) xx-0.1.0, which can be redistributed
|
8
|
-
and used under the following conditions:
|
9
|
-
|
10
|
-
|
11
|
-
ePark Labs Public License version 1
|
12
|
-
Copyright (c) 2005, ePark Labs, Inc. and contributors
|
13
|
-
All rights reserved.
|
14
|
-
|
15
|
-
Redistribution and use in source and binary forms, with or without modification,
|
16
|
-
are permitted provided that the following conditions are met:
|
17
|
-
|
18
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
19
|
-
list of conditions and the following disclaimer.
|
20
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
21
|
-
this list of conditions and the following disclaimer in the documentation
|
22
|
-
and/or other materials provided with the distribution.
|
23
|
-
3. Neither the name of ePark Labs nor the names of its contributors may be
|
24
|
-
used to endorse or promote products derived from this software without
|
25
|
-
specific prior written permission.
|
26
|
-
|
27
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
28
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
29
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
30
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
31
|
-
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
32
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
33
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
34
|
-
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
35
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
36
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.API
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
|
2
|
-
= +rcov+
|
3
|
-
|
4
|
-
+rcov+ is a:
|
5
|
-
1. tool for code coverage analysis for Ruby
|
6
|
-
2. library for collecting code coverage and execution count information
|
7
|
-
introspectively
|
8
|
-
|
9
|
-
If you want to use the command line tool, the output from
|
10
|
-
rcov -h
|
11
|
-
is self-explicative.
|
12
|
-
|
13
|
-
If you want to automate the execution of +rcov+ via Rake or Rant, take a look at
|
14
|
-
README.rake[link:files/README_rake.html] or
|
15
|
-
README.rant[link:files/README_rant.html], respectively.
|
16
|
-
|
17
|
-
If you want to use the associated library, read on.
|
18
|
-
|
19
|
-
== Usage of the +rcov+ runtime/library
|
20
|
-
|
21
|
-
+rcov+ is primarily a tool for code coverage analysis, but since 0.4.0 it
|
22
|
-
exposes some of its code so that you can build on top of its heuristics for
|
23
|
-
code analysis and its capabilities for coverage information and execution
|
24
|
-
count gathering.
|
25
|
-
|
26
|
-
The main classes of interest are Rcov::FileStatistics,
|
27
|
-
Rcov::CodeCoverageAnalyzer and Rcov::CallSiteAnalyzer.
|
28
|
-
|
29
|
-
Rcov::FileStatistics can use some heuristics to determine
|
30
|
-
which parts of the file are executable and which are mere comments.
|
31
|
-
|
32
|
-
Rcov::CodeCoverageAnalyzer is used to gather code coverage and execution
|
33
|
-
count information inside a running Ruby program.
|
34
|
-
|
35
|
-
Rcov::CallSiteAnalyzer is used to obtain information about where methods are
|
36
|
-
defined and who calls them.
|
37
|
-
|
38
|
-
The parts of +rcov+'s runtime meant to be reused (i.e. the external API) are
|
39
|
-
documented with RDoc. Those not meant to be used are clearly marked as so or
|
40
|
-
were deliberately removed from the present documentation.
|
41
|
-
|
42
|
-
|
data/README.emacs
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
|
2
|
-
<tt>rcov.el</tt> allows you to use rcov from Emacs conveniently.
|
3
|
-
* Run unit tests and jump to uncovered code by <tt>C-x `</tt>.
|
4
|
-
* Run unit tests and save the current coverage status.
|
5
|
-
* Run unit tests and jump to uncovered code introduced since the last run.
|
6
|
-
* View cross-reference annotated code.
|
7
|
-
|
8
|
-
== Installation
|
9
|
-
|
10
|
-
Copy <tt>rcov.el</tt> to the appropriate directory, which is in load-path.
|
11
|
-
Then require it.
|
12
|
-
(require 'rcov)
|
13
|
-
|
14
|
-
|
15
|
-
== Usage
|
16
|
-
|
17
|
-
There are some commands to run rcov in Emacs.
|
18
|
-
All of them displays +rcov+ window, whose major-mode is compilation-mode.
|
19
|
-
Therefore you can jump to uncovered code by <tt>C-x `</tt>.
|
20
|
-
|
21
|
-
+rcov-command-line+, +rcovsave-command-line+, and +rcovdiff-command-line+ define
|
22
|
-
command line to run rcov.
|
23
|
-
If you do not use +rcov+ from Rake, you must modify them.
|
24
|
-
|
25
|
-
=== Finding uncovered code
|
26
|
-
|
27
|
-
Type the following while editing your program:
|
28
|
-
M-x rcov
|
29
|
-
|
30
|
-
=== Setting the reference point
|
31
|
-
|
32
|
-
+rcov+'s <tt>--text-coverage-diff</tt> mode compares the current coverage status against
|
33
|
-
the saved one. It therefore needs that information to be recorded
|
34
|
-
before you write new code (typically right after you perform a commit) in
|
35
|
-
order to have something to compare against.
|
36
|
-
|
37
|
-
You can save the current status with the <tt>--save</tt> option.
|
38
|
-
|
39
|
-
Type the following to save the current status in Emacs:
|
40
|
-
M-x rcovsave
|
41
|
-
If you do not use +rcov+ from Rake, you must modify +rcovsave-command-line+ variable.
|
42
|
-
|
43
|
-
=== Finding new uncovered code
|
44
|
-
|
45
|
-
Type the following to save the current status in Emacs:
|
46
|
-
M-x rcovdiff
|
47
|
-
|
48
|
-
=== Viewing cross-reference annotated code
|
49
|
-
|
50
|
-
If you read cross-reference annotated code, issue
|
51
|
-
rake rcov RCOVOPTS='-a'
|
52
|
-
at the beginning.
|
53
|
-
This command creates +coverage+ directory and many *.rb files in it.
|
54
|
-
Filenames of these Ruby scripts are converted from original path.
|
55
|
-
You can browse them by normally <tt>C-x C-f</tt>.
|
56
|
-
You can think of <tt>-a</tt> option as <tt>--xrefs</tt> option and output format is Ruby script.
|
57
|
-
|
58
|
-
After find-file-ed annotated script, the major-mode is rcov-xref-mode,
|
59
|
-
which is derived from ruby-mode and specializes navigation.
|
60
|
-
|
61
|
-
<tt>Tab</tt> and <tt>M-Tab</tt> goes forward/backward links.
|
62
|
-
<tt>Ret</tt> follows selected link.
|
63
|
-
|
64
|
-
This feature is useful to read third-party code or to follow control flow.
|
data/README.en
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
rcov copyright (c) 2004-2006 Mauricio Fernandez <mfp@acm.org>
|
2
|
-
rcov includes xx 0.1.0, copyright (c) 2005, ePark Labs, Inc. and contributors
|
3
|
-
|
4
|
-
rcov README
|
5
|
-
============
|
6
|
-
|
7
|
-
rcov is a code coverage tool for Ruby. It is commonly used for viewing
|
8
|
-
overall test coverage of target code. It features:
|
9
|
-
* fast execution: 20-300 times faster than previous tools
|
10
|
-
* multiple analysis modes: standard, bogo-profile, "intentional testing",
|
11
|
-
dependency analysis...
|
12
|
-
* detection of uncovered code introduced since the last run ("differential
|
13
|
-
code coverage")
|
14
|
-
* fairly accurate coverage information through code linkage inference using
|
15
|
-
simple heuristics
|
16
|
-
* cross-referenced XHTML and several kinds of text reports
|
17
|
-
* support for easy automation with Rake and Rant
|
18
|
-
* colorblind-friendliness
|
19
|
-
|
20
|
-
Requirements
|
21
|
-
------------
|
22
|
-
|
23
|
-
* Ruby 1.8
|
24
|
-
* (recommended) C compiler: you can also use rcov without the rcovrt
|
25
|
-
extension but rcov will be two orders of magnitude slower. The extension
|
26
|
-
requires Ruby 1.8.3 or later.
|
27
|
-
If you're on win32, you can find a pre-built rcovrt extension at
|
28
|
-
http://eigenclass.org/hiki.rb?rcov
|
29
|
-
|
30
|
-
|
31
|
-
Normal install
|
32
|
-
--------------
|
33
|
-
|
34
|
-
De-compress the archive and enter its top directory.
|
35
|
-
Then type:
|
36
|
-
|
37
|
-
($ su)
|
38
|
-
# ruby setup.rb
|
39
|
-
|
40
|
-
This simple step installs rcov under the default location for Ruby
|
41
|
-
libraries. You can also customize the installation by supplying some
|
42
|
-
options to setup.rb.
|
43
|
-
Try "ruby setup.rb --help".
|
44
|
-
|
45
|
-
A normal (rcovrt-enabled) install requires Ruby >= 1.8.3 and a working C
|
46
|
-
toolchain; if you cannot compile Ruby extensions proceed as described below.
|
47
|
-
|
48
|
-
If you're on win32, you can find a pre-built rcovrt extension at
|
49
|
-
http://eigenclass.org/hiki.rb?rcov
|
50
|
-
|
51
|
-
You might have to install a "development package" (often named ruby-dev or
|
52
|
-
ruby1.8-dev), or alternatively build ruby from the sources, if the compiler
|
53
|
-
cannot find the headers (ruby.h and friends).
|
54
|
-
|
55
|
-
Install without the rcovrt extension
|
56
|
-
------------------------------------
|
57
|
-
|
58
|
-
($su )
|
59
|
-
# ruby setup.rb all --without-ext
|
60
|
-
|
61
|
-
will install rcov without building the rcovrt extension.
|
62
|
-
|
63
|
-
Usage
|
64
|
-
-----
|
65
|
-
|
66
|
-
In the common scenario, your tests are under test/ and the target code
|
67
|
-
(whose coverage you want) is in lib/. In that case, all you have to do is
|
68
|
-
use rcov to run the tests (instead of testrb), and a number of XHTML files
|
69
|
-
with the code coverage information will be generated, e.g.
|
70
|
-
|
71
|
-
rcov -Ilib test/*.rb
|
72
|
-
|
73
|
-
will execute all the .rb files under test/ and generate the code coverage
|
74
|
-
report for the target code (i.e. for the files in lib/) under coverage/. The
|
75
|
-
target code needs not be under lib/; rcov will detect is as long as it is
|
76
|
-
require()d by the tests. rcov is smart enough to ignore "uninteresting"
|
77
|
-
files: the tests themselves, files installed in Ruby's standard locations,
|
78
|
-
etc. See rcov --help for the list of regexps rcov matches filenames
|
79
|
-
against.
|
80
|
-
|
81
|
-
rcov can also be used from Rake; see README.rake or the RDoc documentation
|
82
|
-
for more information. The Rakefile included in rcov's sources holds a few
|
83
|
-
tasks that run rcov on itself, producing a number of reports. You can try
|
84
|
-
rake rcov
|
85
|
-
preferably after a full install or
|
86
|
-
ruby setup.rb config
|
87
|
-
ruby setup.rb setup
|
88
|
-
so that the rcovrt extension can be used to speed up the process.
|
89
|
-
This will generate a cross-referenced XHTML report under coverage/.
|
90
|
-
|
91
|
-
rcov can output information in several formats, and perform different kinds
|
92
|
-
of analyses in addition to plain code coverage. See rcov --help for a
|
93
|
-
description of the available options.
|
94
|
-
|
95
|
-
License
|
96
|
-
-------
|
97
|
-
|
98
|
-
rcov is licensed under the same terms as Ruby. See LICENSE.
|
99
|
-
rcov includes a copy of the xx library, which carries the following
|
100
|
-
copyright notice:
|
101
|
-
|
102
|
-
ePark Labs Public License version 1
|
103
|
-
Copyright (c) 2005, ePark Labs, Inc. and contributors
|
104
|
-
All rights reserved.
|
105
|
-
|
106
|
-
Redistribution and use in source and binary forms, with or without modification,
|
107
|
-
are permitted provided that the following conditions are met:
|
108
|
-
|
109
|
-
1. Redistributions of source code must retain the above copyright notice, this
|
110
|
-
list of conditions and the following disclaimer.
|
111
|
-
2. Redistributions in binary form must reproduce the above copyright notice,
|
112
|
-
this list of conditions and the following disclaimer in the documentation
|
113
|
-
and/or other materials provided with the distribution.
|
114
|
-
3. Neither the name of ePark Labs nor the names of its contributors may be
|
115
|
-
used to endorse or promote products derived from this software without
|
116
|
-
specific prior written permission.
|
117
|
-
|
118
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
119
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
120
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
121
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
122
|
-
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
123
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
124
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
125
|
-
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
126
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
127
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
128
|
-
|
129
|
-
|
130
|
-
Mauricio Fernandez <mfp@acm.org>
|