rcov 0.9.3-java

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 (56) 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/java/src/CallsiteHook.java +137 -0
  13. data/ext/java/src/CoverageHook.java +117 -0
  14. data/ext/java/src/RcovHook.java +9 -0
  15. data/ext/java/src/RcovrtService.java +130 -0
  16. data/lib/rcov.rb +33 -0
  17. data/lib/rcov/call_site_analyzer.rb +225 -0
  18. data/lib/rcov/code_coverage_analyzer.rb +268 -0
  19. data/lib/rcov/coverage_info.rb +36 -0
  20. data/lib/rcov/differential_analyzer.rb +116 -0
  21. data/lib/rcov/file_statistics.rb +334 -0
  22. data/lib/rcov/formatters.rb +13 -0
  23. data/lib/rcov/formatters/base_formatter.rb +173 -0
  24. data/lib/rcov/formatters/failure_report.rb +15 -0
  25. data/lib/rcov/formatters/full_text_report.rb +48 -0
  26. data/lib/rcov/formatters/html_coverage.rb +274 -0
  27. data/lib/rcov/formatters/html_erb_template.rb +62 -0
  28. data/lib/rcov/formatters/text_coverage_diff.rb +193 -0
  29. data/lib/rcov/formatters/text_report.rb +32 -0
  30. data/lib/rcov/formatters/text_summary.rb +11 -0
  31. data/lib/rcov/lowlevel.rb +146 -0
  32. data/lib/rcov/rcovtask.rb +155 -0
  33. data/lib/rcov/templates/detail.html.erb +64 -0
  34. data/lib/rcov/templates/index.html.erb +93 -0
  35. data/lib/rcov/templates/jquery-1.3.2.min.js +19 -0
  36. data/lib/rcov/templates/jquery.tablesorter.min.js +15 -0
  37. data/lib/rcov/templates/print.css +12 -0
  38. data/lib/rcov/templates/rcov.js +42 -0
  39. data/lib/rcov/templates/screen.css +270 -0
  40. data/lib/rcov/version.rb +10 -0
  41. data/lib/rcovrt.jar +0 -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/file_statistics_test.rb +471 -0
  54. data/test/functional_test.rb +91 -0
  55. data/test/turn_off_rcovrt.rb +4 -0
  56. metadata +120 -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
+ # 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,120 @@
1
+ --- !ruby/object:Gem::Specification
2
+ required_ruby_version: !ruby/object:Gem::Requirement
3
+ requirements:
4
+ - - '>'
5
+ - !ruby/object:Gem::Version
6
+ version: 0.0.0
7
+ version:
8
+ email: opensource@thinkrelevance.com
9
+ cert_chain:
10
+ summary: Code coverage analysis tool for Ruby
11
+ post_install_message:
12
+ extra_rdoc_files: []
13
+
14
+ homepage: http://github.com/relevance/rcov
15
+ signing_key:
16
+ name: rcov
17
+ rdoc_options:
18
+ - --title
19
+ - rcov code coverage tool
20
+ rubyforge_project:
21
+ autorequire:
22
+ licenses: []
23
+
24
+ executables:
25
+ - rcov
26
+ description: rcov is a code coverage tool for Ruby. It is commonly used for viewing
27
+ overall test unit coverage of target code. It features fast execution (20-300 times
28
+ faster than previous tools), multiple analysis modes, XHTML and several kinds of
29
+ text reports, easy automation with Rake via a RcovTask, fairly accurate coverage
30
+ information through code linkage inference using simple heuristics, colorblind-friendliness...
31
+ specification_version: 1
32
+ default_executable: rcov
33
+ files:
34
+ - bin/rcov
35
+ - lib/rcov.rb
36
+ - lib/rcov/lowlevel.rb
37
+ - lib/rcov/version.rb
38
+ - lib/rcov/rcovtask.rb
39
+ - lib/rcov/formatters.rb
40
+ - lib/rcov/call_site_analyzer.rb
41
+ - lib/rcov/code_coverage_analyzer.rb
42
+ - lib/rcov/coverage_info.rb
43
+ - lib/rcov/differential_analyzer.rb
44
+ - lib/rcov/file_statistics.rb
45
+ - lib/rcov/formatters/base_formatter.rb
46
+ - lib/rcov/formatters/full_text_report.rb
47
+ - lib/rcov/formatters/html_erb_template.rb
48
+ - lib/rcov/formatters/html_coverage.rb
49
+ - lib/rcov/formatters/text_coverage_diff.rb
50
+ - lib/rcov/formatters/text_report.rb
51
+ - lib/rcov/formatters/text_summary.rb
52
+ - lib/rcov/formatters/failure_report.rb
53
+ - lib/rcov/templates/index.html.erb
54
+ - lib/rcov/templates/detail.html.erb
55
+ - lib/rcov/templates/screen.css
56
+ - lib/rcov/templates/print.css
57
+ - lib/rcov/templates/rcov.js
58
+ - lib/rcov/templates/jquery-1.3.2.min.js
59
+ - lib/rcov/templates/jquery.tablesorter.min.js
60
+ - LICENSE
61
+ - ext/java/src/CallsiteHook.java
62
+ - ext/java/src/CoverageHook.java
63
+ - ext/java/src/RcovHook.java
64
+ - ext/java/src/RcovrtService.java
65
+ - Rakefile
66
+ - doc/readme_for_rake.markdown
67
+ - doc/readme_for_vim.markdown
68
+ - doc/readme_for_emacs.markdown
69
+ - doc/readme_for_api.markdown
70
+ - THANKS
71
+ - test/functional_test.rb
72
+ - test/file_statistics_test.rb
73
+ - test/assets/sample_03.rb
74
+ - test/assets/sample_05-new.rb
75
+ - test/code_coverage_analyzer_test.rb
76
+ - test/assets/sample_04.rb
77
+ - test/assets/sample_02.rb
78
+ - test/assets/sample_05-old.rb
79
+ - test/assets/sample_01.rb
80
+ - test/turn_off_rcovrt.rb
81
+ - test/call_site_analyzer_test.rb
82
+ - test/assets/sample_05.rb
83
+ - test/assets/sample_06.rb
84
+ - editor-extensions/rcov.vim
85
+ - editor-extensions/rcov.el
86
+ - setup.rb
87
+ - BLURB
88
+ - lib/rcovrt.jar
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - '>='
92
+ - !ruby/object:Gem::Version
93
+ version: "0"
94
+ version:
95
+ extensions: []
96
+
97
+ rubygems_version: 1.3.3
98
+ requirements: []
99
+
100
+ authors:
101
+ - Relevance
102
+ - Chad Humphries (spicycode)
103
+ - Aaron Bedra (abedra)
104
+ - Jay McGaffigan
105
+ - Mauricio Fernandez
106
+ date: 2009-05-12 04:00:00 +00:00
107
+ platform: java
108
+ test_files:
109
+ - test/functional_test.rb
110
+ - test/file_statistics_test.rb
111
+ - test/code_coverage_analyzer_test.rb
112
+ - test/call_site_analyzer_test.rb
113
+ version: !ruby/object:Gem::Version
114
+ version: 0.9.3
115
+ require_paths:
116
+ - lib
117
+ dependencies: []
118
+
119
+ bindir: bin
120
+ has_rdoc: true