coverband 1.5.4 → 2.0.0.alpha

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +2 -1
  5. data/Rakefile +5 -3
  6. data/coverband.gemspec +27 -23
  7. data/lib/coverband.rb +10 -14
  8. data/lib/coverband/adapters/file_store.rb +6 -7
  9. data/lib/coverband/adapters/memory_cache_store.rb +8 -5
  10. data/lib/coverband/adapters/redis_store.rb +10 -50
  11. data/lib/coverband/baseline.rb +5 -5
  12. data/lib/coverband/collectors/base.rb +140 -0
  13. data/lib/coverband/collectors/coverage.rb +148 -0
  14. data/lib/coverband/collectors/trace.rb +100 -0
  15. data/lib/coverband/configuration.rb +8 -10
  16. data/lib/coverband/middleware.rb +5 -5
  17. data/lib/coverband/reporters/base.rb +26 -31
  18. data/lib/coverband/reporters/console_report.rb +2 -3
  19. data/lib/coverband/reporters/simple_cov_report.rb +5 -6
  20. data/lib/coverband/s3_report_writer.rb +7 -8
  21. data/lib/coverband/s3_web.rb +3 -5
  22. data/lib/coverband/tasks.rb +23 -26
  23. data/lib/coverband/version.rb +3 -1
  24. data/test/benchmarks/benchmark.rake +38 -32
  25. data/test/benchmarks/dog.rb +3 -3
  26. data/test/fake_app/basic_rack.rb +4 -2
  27. data/test/test_helper.rb +17 -11
  28. data/test/unit/adapters_file_store_test.rb +12 -11
  29. data/test/unit/adapters_memory_cache_store_test.rb +3 -4
  30. data/test/unit/adapters_redis_store_test.rb +42 -118
  31. data/test/unit/baseline_test.rb +17 -20
  32. data/test/unit/collectors_base_test.rb +96 -0
  33. data/test/unit/collectors_coverage_test.rb +137 -0
  34. data/test/unit/collectors_trace_test.rb +96 -0
  35. data/test/unit/configuration_test.rb +8 -8
  36. data/test/unit/dog.rb +3 -1
  37. data/test/unit/middleware_test.rb +70 -61
  38. data/test/unit/reports_base_test.rb +62 -62
  39. data/test/unit/reports_console_test.rb +18 -21
  40. data/test/unit/reports_simple_cov_test.rb +23 -26
  41. data/test/unit/s3_report_writer_test.rb +6 -8
  42. data/test/unit/s3_web_test.rb +2 -1
  43. metadata +45 -25
  44. data/lib/coverband/base.rb +0 -210
  45. data/test/unit/base_test.rb +0 -100
@@ -1,100 +0,0 @@
1
- require File.expand_path('../test_helper', File.dirname(__FILE__))
2
- require File.expand_path('./dog', File.dirname(__FILE__))
3
-
4
- class BaseTest < Test::Unit::TestCase
5
-
6
- test 'defaults to a redis store' do
7
- coverband = Coverband::Base.instance.reset_instance
8
- assert_equal Coverband::Adapters::RedisStore, coverband.instance_variable_get('@store').class
9
- end
10
-
11
- test 'configure memory caching' do
12
- Coverband.configuration.memory_caching = true
13
- coverband = Coverband::Base.instance.reset_instance
14
- assert_equal Coverband::Adapters::MemoryCacheStore, coverband.instance_variable_get('@store').class
15
- Coverband.configuration.memory_caching = false
16
- end
17
-
18
- test "start should enable coverage" do
19
- coverband = Coverband::Base.instance.reset_instance
20
- assert_equal false, coverband.instance_variable_get("@enabled")
21
- coverband.expects(:record_coverage).once
22
- coverband.start
23
- assert_equal true, coverband.instance_variable_get("@enabled")
24
- end
25
-
26
- test "extended should default to false" do
27
- coverband = Coverband::Base.instance.reset_instance
28
- assert_equal false, coverband.extended?
29
- end
30
-
31
- test "stop should disable coverage" do
32
- coverband = Coverband::Base.instance.reset_instance
33
- assert_equal false, coverband.instance_variable_get("@enabled")
34
- coverband.expects(:record_coverage).once
35
- coverband.start
36
- assert_equal true, coverband.instance_variable_get("@enabled")
37
- coverband.stop
38
- assert_equal false, coverband.instance_variable_get("@enabled")
39
- assert_equal false, coverband.instance_variable_get("@tracer_set")
40
- end
41
-
42
- test "allow for sampling with a block and enable when 100 percent sample" do
43
- logger = Logger.new(STDOUT)
44
- coverband = Coverband::Base.instance.reset_instance
45
- coverband.instance_variable_set("@sample_percentage", 100.0)
46
- coverband.instance_variable_set("@verbose", true)
47
- coverband.instance_variable_set("@logger", logger)
48
- coverband.instance_variable_set("@store", nil)
49
- assert_equal false, coverband.instance_variable_get("@enabled")
50
- logger.expects(:info).at_least_once
51
- coverband.sample { 1 + 1 }
52
- assert_equal true, coverband.instance_variable_get("@enabled")
53
- end
54
-
55
- test "allow reporting with start stop save" do
56
- logger = Logger.new(STDOUT)
57
- coverband = Coverband::Base.instance.reset_instance
58
- coverband.instance_variable_set("@sample_percentage", 100.0)
59
- coverband.instance_variable_set("@verbose", true)
60
- coverband.instance_variable_set("@logger", logger)
61
- coverband.instance_variable_set("@store", nil)
62
- assert_equal false, coverband.instance_variable_get("@enabled")
63
- logger.expects(:info).at_least_once
64
- coverband.start
65
- 1 + 1
66
- coverband.stop
67
- coverband.save
68
- end
69
-
70
- test "allow reporting to redis start stop save" do
71
- dog_file = File.expand_path('./dog.rb', File.dirname(__FILE__))
72
- coverband = Coverband::Base.instance.reset_instance
73
- coverband.instance_variable_set("@sample_percentage", 100.0)
74
- coverband.instance_variable_set("@verbose", true)
75
- Coverband.configuration.logger.stubs('info')
76
- store = Coverband::Adapters::RedisStore.new(Redis.new)
77
- coverband.instance_variable_set("@store", store)
78
- store.expects(:save_report).once.with(has_entries(dog_file => { 3 => 5 }) )
79
- assert_equal false, coverband.instance_variable_get("@enabled")
80
- coverband.start
81
- 5.times { Dog.new.bark }
82
- coverband.stop
83
- coverband.save
84
- end
85
-
86
- test "tracer should count line numbers" do
87
- dog_file = File.expand_path('./dog.rb', File.dirname(__FILE__))
88
- coverband = Coverband::Base.instance.reset_instance
89
- coverband.start
90
- 100.times { Dog.new.bark }
91
- assert_equal 100, coverband.instance_variable_get("@file_line_usage")[dog_file][3]
92
- coverband.stop
93
- coverband.save
94
- end
95
-
96
- test "sample should return the result of the block" do
97
- coverband = Coverband::Base.instance.reset_instance
98
- assert_equal 2, coverband.sample { 1 + 1 }
99
- end
100
- end