coverband 1.5.4 → 2.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
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