relevance-rcov 0.8.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,89 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ =begin
4
+ Updating functional testdata automatically is DANGEROUS, so I do manually.
5
+
6
+ == update functional test
7
+ cd ~/src/rcov/test
8
+ rcov="ruby ../bin/rcov -I../lib:../ext/rcovrt -o expected_coverage"
9
+
10
+ $rcov -a sample_04.rb
11
+ $rcov sample_04.rb
12
+ $rcov --gcc --include-file=sample --exclude=rcov sample_04.rb > expected_coverage/gcc-text.out
13
+
14
+ cp sample_05-old.rb sample_05.rb
15
+ $rcov --no-html --gcc --include-file=sample --exclude=rcov --save=coverage.info sample_05.rb > expected_coverage/diff-gcc-original.out
16
+ cp sample_05-new.rb sample_05.rb
17
+ $rcov --no-html --gcc -D --include-file=sample --exclude=rcov sample_05.rb > expected_coverage/diff-gcc-diff.out
18
+ $rcov --no-html -D --include-file=sample --exclude=rcov sample_05.rb > expected_coverage/diff.out
19
+ $rcov --no-html --no-color -D --include-file=sample --exclude=rcov sample_05.rb > expected_coverage/diff-no-color.out
20
+ $rcov --no-html --gcc --include-file=sample --exclude=rcov sample_05.rb > expected_coverage/diff-gcc-all.out
21
+
22
+ =end
23
+
24
+ class TestFunctional < Test::Unit::TestCase
25
+ @@dir = Pathname(__FILE__).expand_path.dirname
26
+
27
+ def strip_variable_sections(str)
28
+ str.sub(/Generated on.+$/, '').sub(/Generated using the.+$/, '').squeeze("\n")
29
+ end
30
+
31
+ def cmp(file)
32
+ content = lambda{|dir| strip_variable_sections(File.read(@@dir+dir+file))}
33
+
34
+ assert_equal(content["expected_coverage"], content["actual_coverage"])
35
+ end
36
+
37
+ def with_testdir(&block)
38
+ Dir.chdir(@@dir, &block)
39
+ end
40
+
41
+ def run_rcov(opts, script="assets/sample_04.rb", opts_tail="")
42
+ rcov = @@dir+"../bin/rcov"
43
+ ruby_opts = "-I../lib:../ext/rcovrt"
44
+ with_testdir do
45
+ `cd #{@@dir}; ruby #{ruby_opts} #{rcov} #{opts} -o actual_coverage #{script} #{opts_tail}`
46
+ yield if block_given?
47
+ end
48
+ end
49
+
50
+ def test_annotation
51
+ run_rcov("-a") do
52
+ cmp "../assets/sample_04.rb"
53
+ cmp "../assets/sample_03.rb"
54
+ end
55
+ end
56
+
57
+ @@selection = "--include-file=sample --exclude=rcov"
58
+ def test_text_gcc
59
+ run_rcov("--gcc #{@@selection}", "assets/sample_04.rb", "> actual_coverage/gcc-text.out") do
60
+ cmp "gcc-text.out"
61
+ end
62
+ end
63
+
64
+ def test_diff
65
+ with_testdir { FileUtils.cp "assets/sample_05-old.rb", "assets/sample_05.rb" }
66
+
67
+ run_rcov("--no-html --gcc #{@@selection} --save=coverage.info", "assets/sample_05.rb", "> actual_coverage/diff-gcc-original.out") do
68
+ cmp "diff-gcc-original.out"
69
+ end
70
+
71
+ with_testdir { FileUtils.cp "assets/sample_05-new.rb", "assets/sample_05.rb" }
72
+ run_rcov("--no-html -D --gcc #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-gcc-diff.out") do
73
+ cmp "diff-gcc-diff.out"
74
+ end
75
+
76
+ run_rcov("--no-html -D #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff.out") do
77
+ cmp "diff.out"
78
+ end
79
+
80
+ run_rcov("--no-html --no-color -D #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-no-color.out") do
81
+ cmp "diff-no-color.out"
82
+ end
83
+
84
+ run_rcov("--no-html --gcc #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-gcc-all.out") do
85
+ cmp "diff-gcc-all.out"
86
+ end
87
+ end
88
+
89
+ end
@@ -0,0 +1,4 @@
1
+ # When loaded, this file forces rcov to run in pure-Ruby mode even if
2
+ # rcovrt.so exists and can be loaded.
3
+
4
+ $rcov_do_not_use_rcovrt = true
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: relevance-rcov
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Mauricio Fernandez
8
+ - Chad Humphries
9
+ - Aaron Bedra
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain:
13
+ date: 2009-03-17 00:00:00 -07:00
14
+ default_executable: rcov
15
+ dependencies: []
16
+
17
+ description: rcov is a code coverage tool for Ruby. It is commonly used for viewing overall test unit coverage of target code. It features fast execution (20-300 times faster than previous tools), multiple analysis modes, XHTML and several kinds of text reports, easy automation with Rake via a RcovTask, fairly accurate coverage information through code linkage inference using simple heuristics, colorblind-friendliness...
18
+ email: mfp@acm.org
19
+ executables:
20
+ - rcov
21
+ extensions:
22
+ - ext/rcovrt/extconf.rb
23
+ extra_rdoc_files:
24
+ - doc/readme_for_api
25
+ - doc/readme_for_rake
26
+ - doc/readme_for_vim
27
+ files:
28
+ - bin/rcov
29
+ - lib/rcov.rb
30
+ - lib/rcov/lowlevel.rb
31
+ - lib/rcov/xx.rb
32
+ - lib/rcov/version.rb
33
+ - lib/rcov/report.rb
34
+ - lib/rcov/rcovtask.rb
35
+ - lib/rcov/rexml_extensions.rb
36
+ - ext/rcovrt/extconf.rb
37
+ - ext/rcovrt/1.8/rcovrt.c
38
+ - ext/rcovrt/1.9/rcovrt.c
39
+ - ext/rcovrt/1.8/callsite.c
40
+ - ext/rcovrt/1.9/callsite.c
41
+ - LEGAL
42
+ - LICENSE
43
+ - Rakefile
44
+ - doc/readme_for_rake
45
+ - doc/readme_for_vim
46
+ - doc/readme_for_emacs
47
+ - doc/readme_for_api
48
+ - THANKS
49
+ - test/functional_test.rb
50
+ - test/file_statistics_test.rb
51
+ - test/assets/sample_03.rb
52
+ - test/assets/sample_05-new.rb
53
+ - test/code_coverage_analyzer_test.rb
54
+ - test/assets/sample_04.rb
55
+ - test/assets/sample_02.rb
56
+ - test/assets/sample_05-old.rb
57
+ - test/assets/sample_01.rb
58
+ - test/turn_off_rcovrt.rb
59
+ - test/call_site_analyzer_test.rb
60
+ - test/assets/sample_05.rb
61
+ - editor-extensions/rcov.vim
62
+ - editor-extensions/rcov.el
63
+ - setup.rb
64
+ - BLURB
65
+ - CHANGES
66
+ has_rdoc: true
67
+ homepage: http://github.com/relevance/rcov
68
+ post_install_message:
69
+ rdoc_options:
70
+ - --main
71
+ - readme_for_api
72
+ - --title
73
+ - rcov code coverage tool
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">"
79
+ - !ruby/object:Gem::Version
80
+ version: 0.0.0
81
+ version:
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: "0"
87
+ version:
88
+ requirements: []
89
+
90
+ rubyforge_project:
91
+ rubygems_version: 1.2.0
92
+ signing_key:
93
+ specification_version: 1
94
+ summary: Code coverage analysis tool for Ruby
95
+ test_files:
96
+ - test/functional_test.rb
97
+ - test/file_statistics_test.rb
98
+ - test/code_coverage_analyzer_test.rb
99
+ - test/call_site_analyzer_test.rb