katsuya-rcov 0.9.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. data/BLURB +111 -0
  2. data/LICENSE +53 -0
  3. data/Rakefile +103 -0
  4. data/THANKS +110 -0
  5. data/bin/rcov +514 -0
  6. data/doc/readme_for_api.markdown +22 -0
  7. data/doc/readme_for_emacs.markdown +52 -0
  8. data/doc/readme_for_rake.markdown +51 -0
  9. data/doc/readme_for_vim.markdown +34 -0
  10. data/editor-extensions/rcov.el +131 -0
  11. data/editor-extensions/rcov.vim +38 -0
  12. data/ext/rcovrt/1.8/callsite.c +216 -0
  13. data/ext/rcovrt/1.8/rcovrt.c +294 -0
  14. data/ext/rcovrt/1.9/callsite.c +234 -0
  15. data/ext/rcovrt/1.9/rcovrt.c +264 -0
  16. data/ext/rcovrt/extconf.rb +21 -0
  17. data/lib/rcov.rb +33 -0
  18. data/lib/rcov/call_site_analyzer.rb +225 -0
  19. data/lib/rcov/code_coverage_analyzer.rb +271 -0
  20. data/lib/rcov/coverage_info.rb +36 -0
  21. data/lib/rcov/differential_analyzer.rb +116 -0
  22. data/lib/rcov/file_statistics.rb +355 -0
  23. data/lib/rcov/formatters.rb +13 -0
  24. data/lib/rcov/formatters/base_formatter.rb +174 -0
  25. data/lib/rcov/formatters/failure_report.rb +15 -0
  26. data/lib/rcov/formatters/full_text_report.rb +48 -0
  27. data/lib/rcov/formatters/html_coverage.rb +274 -0
  28. data/lib/rcov/formatters/html_erb_template.rb +62 -0
  29. data/lib/rcov/formatters/text_coverage_diff.rb +193 -0
  30. data/lib/rcov/formatters/text_report.rb +32 -0
  31. data/lib/rcov/formatters/text_summary.rb +11 -0
  32. data/lib/rcov/lowlevel.rb +146 -0
  33. data/lib/rcov/rcovtask.rb +155 -0
  34. data/lib/rcov/templates/detail.html.erb +64 -0
  35. data/lib/rcov/templates/index.html.erb +93 -0
  36. data/lib/rcov/templates/jquery-1.3.2.min.js +19 -0
  37. data/lib/rcov/templates/jquery.tablesorter.min.js +15 -0
  38. data/lib/rcov/templates/print.css +12 -0
  39. data/lib/rcov/templates/rcov.js +42 -0
  40. data/lib/rcov/templates/screen.css +270 -0
  41. data/lib/rcov/version.rb +10 -0
  42. data/setup.rb +1588 -0
  43. data/test/assets/sample_01.rb +7 -0
  44. data/test/assets/sample_02.rb +5 -0
  45. data/test/assets/sample_03.rb +20 -0
  46. data/test/assets/sample_04.rb +10 -0
  47. data/test/assets/sample_05-new.rb +17 -0
  48. data/test/assets/sample_05-old.rb +13 -0
  49. data/test/assets/sample_05.rb +17 -0
  50. data/test/assets/sample_06.rb +8 -0
  51. data/test/call_site_analyzer_test.rb +171 -0
  52. data/test/code_coverage_analyzer_test.rb +219 -0
  53. data/test/expected_coverage/diff-gcc-all.out +7 -0
  54. data/test/expected_coverage/diff-gcc-diff.out +11 -0
  55. data/test/expected_coverage/diff-gcc-original.out +5 -0
  56. data/test/expected_coverage/diff-no-color.out +12 -0
  57. data/test/expected_coverage/diff.out +12 -0
  58. data/test/expected_coverage/gcc-text.out +10 -0
  59. data/test/expected_coverage/sample_03_rb.html +651 -0
  60. data/test/expected_coverage/sample_03_rb.rb +28 -0
  61. data/test/expected_coverage/sample_04_rb.html +641 -0
  62. data/test/file_statistics_test.rb +471 -0
  63. data/test/functional_test.rb +91 -0
  64. data/test/test_helper.rb +4 -0
  65. data/test/turn_off_rcovrt.rb +4 -0
  66. metadata +126 -0
@@ -0,0 +1,91 @@
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
+ ruby = "ruby"
45
+ ruby = "jruby" if RUBY_PLATFORM =~ /java/
46
+ with_testdir do
47
+ `cd #{@@dir}; #{ruby} #{ruby_opts} #{rcov} #{opts} -o actual_coverage #{script} #{opts_tail}`
48
+ yield if block_given?
49
+ end
50
+ end
51
+
52
+ def test_annotation
53
+ run_rcov("-a") do
54
+ cmp "../assets/sample_04.rb"
55
+ cmp "../assets/sample_03.rb"
56
+ end
57
+ end
58
+
59
+ @@selection = "--include-file=sample --exclude=rcov"
60
+ def test_text_gcc
61
+ run_rcov("--gcc #{@@selection}", "assets/sample_04.rb", "> actual_coverage/gcc-text.out") do
62
+ cmp "gcc-text.out"
63
+ end
64
+ end
65
+
66
+ def test_diff
67
+ with_testdir { FileUtils.cp "assets/sample_05-old.rb", "assets/sample_05.rb" }
68
+
69
+ run_rcov("--no-html --gcc #{@@selection} --save=coverage.info", "assets/sample_05.rb", "> actual_coverage/diff-gcc-original.out") do
70
+ cmp "diff-gcc-original.out"
71
+ end
72
+
73
+ with_testdir { FileUtils.cp "assets/sample_05-new.rb", "assets/sample_05.rb" }
74
+ run_rcov("--no-html -D --gcc #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-gcc-diff.out") do
75
+ cmp "diff-gcc-diff.out"
76
+ end
77
+
78
+ run_rcov("--no-html -D #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff.out") do
79
+ cmp "diff.out"
80
+ end
81
+
82
+ run_rcov("--no-html --no-color -D #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-no-color.out") do
83
+ cmp "diff-no-color.out"
84
+ end
85
+
86
+ run_rcov("--no-html --gcc #{@@selection}", "assets/sample_05.rb", "> actual_coverage/diff-gcc-all.out") do
87
+ cmp "diff-gcc-all.out"
88
+ end
89
+ end
90
+
91
+ end
@@ -0,0 +1,4 @@
1
+ require 'test/unit'
2
+ require 'rcov'
3
+ require 'pathname'
4
+ require 'fileutils'
@@ -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,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: katsuya-rcov
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.7.1
5
+ platform: ruby
6
+ authors:
7
+ - Relevance
8
+ - Chad Humphries (spicycode)
9
+ - Aaron Bedra (abedra)
10
+ - Jay McGaffigan
11
+ - Mauricio Fernandez
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain:
15
+ date: 2009-12-29 00:00:00 +09:00
16
+ default_executable: rcov
17
+ dependencies: []
18
+
19
+ 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...
20
+ email: opensource@thinkrelevance.com
21
+ executables:
22
+ - rcov
23
+ extensions:
24
+ - ext/rcovrt/extconf.rb
25
+ extra_rdoc_files: []
26
+
27
+ files:
28
+ - bin/rcov
29
+ - lib/rcov.rb
30
+ - lib/rcov/lowlevel.rb
31
+ - lib/rcov/version.rb
32
+ - lib/rcov/rcovtask.rb
33
+ - lib/rcov/formatters.rb
34
+ - lib/rcov/call_site_analyzer.rb
35
+ - lib/rcov/code_coverage_analyzer.rb
36
+ - lib/rcov/coverage_info.rb
37
+ - lib/rcov/differential_analyzer.rb
38
+ - lib/rcov/file_statistics.rb
39
+ - lib/rcov/formatters/base_formatter.rb
40
+ - lib/rcov/formatters/full_text_report.rb
41
+ - lib/rcov/formatters/html_erb_template.rb
42
+ - lib/rcov/formatters/html_coverage.rb
43
+ - lib/rcov/formatters/text_coverage_diff.rb
44
+ - lib/rcov/formatters/text_report.rb
45
+ - lib/rcov/formatters/text_summary.rb
46
+ - lib/rcov/formatters/failure_report.rb
47
+ - lib/rcov/templates/index.html.erb
48
+ - lib/rcov/templates/detail.html.erb
49
+ - lib/rcov/templates/screen.css
50
+ - lib/rcov/templates/print.css
51
+ - lib/rcov/templates/rcov.js
52
+ - lib/rcov/templates/jquery-1.3.2.min.js
53
+ - lib/rcov/templates/jquery.tablesorter.min.js
54
+ - ext/rcovrt/extconf.rb
55
+ - ext/rcovrt/1.8/rcovrt.c
56
+ - ext/rcovrt/1.9/rcovrt.c
57
+ - ext/rcovrt/1.8/callsite.c
58
+ - ext/rcovrt/1.9/callsite.c
59
+ - LICENSE
60
+ - Rakefile
61
+ - doc/readme_for_rake.markdown
62
+ - doc/readme_for_vim.markdown
63
+ - doc/readme_for_emacs.markdown
64
+ - doc/readme_for_api.markdown
65
+ - THANKS
66
+ - test/functional_test.rb
67
+ - test/file_statistics_test.rb
68
+ - test/assets/sample_03.rb
69
+ - test/assets/sample_05-new.rb
70
+ - test/code_coverage_analyzer_test.rb
71
+ - test/assets/sample_04.rb
72
+ - test/assets/sample_02.rb
73
+ - test/assets/sample_05-old.rb
74
+ - test/assets/sample_01.rb
75
+ - test/turn_off_rcovrt.rb
76
+ - test/call_site_analyzer_test.rb
77
+ - test/assets/sample_05.rb
78
+ - test/assets/sample_06.rb
79
+ - editor-extensions/rcov.vim
80
+ - test/test_helper.rb
81
+ - test/expected_coverage/diff-gcc-all.out
82
+ - test/expected_coverage/diff-gcc-diff.out
83
+ - test/expected_coverage/diff-gcc-original.out
84
+ - test/expected_coverage/diff-no-color.out
85
+ - test/expected_coverage/diff.out
86
+ - test/expected_coverage/gcc-text.out
87
+ - test/expected_coverage/sample_03_rb.html
88
+ - test/expected_coverage/sample_03_rb.rb
89
+ - test/expected_coverage/sample_04_rb.html
90
+ - editor-extensions/rcov.el
91
+ - setup.rb
92
+ - BLURB
93
+ has_rdoc: true
94
+ homepage: http://github.com/katsuya/rcov
95
+ licenses: []
96
+
97
+ post_install_message:
98
+ rdoc_options:
99
+ - --title
100
+ - rcov code coverage tool
101
+ require_paths:
102
+ - lib
103
+ required_ruby_version: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ">"
106
+ - !ruby/object:Gem::Version
107
+ version: 0.0.0
108
+ version:
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: "0"
114
+ version:
115
+ requirements: []
116
+
117
+ rubyforge_project:
118
+ rubygems_version: 1.3.5
119
+ signing_key:
120
+ specification_version: 1
121
+ summary: Code coverage analysis tool for Ruby
122
+ test_files:
123
+ - test/functional_test.rb
124
+ - test/file_statistics_test.rb
125
+ - test/code_coverage_analyzer_test.rb
126
+ - test/call_site_analyzer_test.rb