coveralls 0.6.9 → 0.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 751680a4a00bd9050a1fd32c10d1ae1fb16c9575
4
- data.tar.gz: e01c5f98d05aadbee38bf723d9b986fed8e4a48a
3
+ metadata.gz: 37fb125236b8084bb66698ff83b734e7c50019c7
4
+ data.tar.gz: 5c14c65f7b7a093ab62b7b3219c8a18d9102b84a
5
5
  SHA512:
6
- metadata.gz: 3ad45611e81128afdc44feec71d0d041d1c12230fd3fb35992163259ac2003ce809778af7cdcd5f2de5e2535d258723c94dee19b9963c5ca3623dffae7dbf8a4
7
- data.tar.gz: 1d7456169096246cbcc3f818aedb764305fe840a33c94a03752aa5512e5cd8debaa4175468804cf342859fceda9b44b9a3b5820c6228422f7e344c8d33e60211
6
+ metadata.gz: d1e17590b229ed02769fc5004ad45ad2469f647913af1259049b7ff59c9f2d6130b450a28472e707306fb143171a7c6f007e047584fcc48cd52a1103325cc755
7
+ data.tar.gz: 9e3f728924b192cddbb5b608f7f5f596a250a716f27c1acf39fc8b227b7ac4c7164062caf11435271afe6114138167b402fbe0df90f9c5f25bfcb95400eb7091
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
 
19
19
  .DS_Store
20
+ /vendor/
@@ -1,3 +1,11 @@
1
+ ## 0.7.0 (September 18, 2013)
2
+
3
+ [Full Changelog](https://github.com/lemurheavy/coveralls-ruby/compare/v0.6.4...v0.7.0)
4
+
5
+ Added:
6
+ * output silencing (Thanks @elizabrock)
7
+ * ruby warning fixes (Thanks @steveklabnik and @Nucc)
8
+
1
9
  ## 0.6.4 (April 2, 2013)
2
10
 
3
11
  [Full Changelog](https://github.com/lemurheavy/coveralls-ruby/compare/v0.6.3...v0.6.4)
@@ -66,9 +66,9 @@ module Coveralls
66
66
  else
67
67
  ::SimpleCov.start(simplecov_setting)
68
68
  end
69
- elsif block_given?
69
+ elsif block
70
70
  Coveralls::Output.puts("[Coveralls] Using SimpleCov settings defined in block.", :color => "green")
71
- ::SimpleCov.start { instance_eval(&block)}
71
+ ::SimpleCov.start { instance_eval(&block) }
72
72
  else
73
73
  Coveralls::Output.puts("[Coveralls] Using SimpleCov's default settings.", :color => "green")
74
74
  ::SimpleCov.start
@@ -78,20 +78,24 @@ module Coveralls
78
78
 
79
79
  def should_run?
80
80
  # Fail early if we're not on a CI
81
- unless ENV["CI"] || ENV["JENKINS_URL"] ||
82
- ENV["COVERALLS_RUN_LOCALLY"] || testing
81
+ unless will_run?
83
82
  Coveralls::Output.puts("[Coveralls] Outside the Travis environment, not sending data.", :color => "yellow")
84
83
  return false
85
84
  end
86
85
 
87
- if ENV["COVERALLS_RUN_LOCALLY"] || run_locally
86
+ if ENV["COVERALLS_RUN_LOCALLY"] || (defined?(@run_locally) && @run_locally)
88
87
  Coveralls::Output.puts("[Coveralls] Creating a new job on Coveralls from local coverage results.", :color => "cyan")
89
88
  end
90
89
 
91
90
  true
92
91
  end
93
92
 
93
+ def will_run?
94
+ ENV["CI"] || ENV["JENKINS_URL"] || ENV["COVERALLS_RUN_LOCALLY"] ||
95
+ (defined?(@testing) && @testing)
96
+ end
97
+
94
98
  def noisy?
95
- ENV["COVERALLS_NOISY"] || noisy
99
+ ENV["COVERALLS_NOISY"] || (defined?(@noisy) && @noisy)
96
100
  end
97
101
  end
@@ -14,17 +14,17 @@ module Coveralls
14
14
  url = endpoint_to_url(endpoint)
15
15
  Coveralls::Output.puts("#{ MultiJson.dump(hash, :pretty => true) }", :color => "green") if ENV['COVERALLS_DEBUG']
16
16
  hash = apified_hash hash
17
- Coveralls::Output.puts "[Coveralls] Submitting to #{API_BASE}", :color => "cyan"
17
+ Coveralls::Output.puts("[Coveralls] Submitting to #{API_BASE}", :color => "cyan")
18
18
  response = RestClient.post(url, :json_file => hash_to_file(hash))
19
19
  response_hash = MultiJson.load(response.to_str)
20
- Coveralls::Output.puts "[Coveralls] #{ response_hash['message'] }", :color => "cyan"
20
+ Coveralls::Output.puts("[Coveralls] #{ response_hash['message'] }", :color => "cyan")
21
21
  if response_hash['message']
22
22
  Coveralls::Output.puts("[Coveralls] #{ Coveralls::Output.format(response_hash['url'], :color => "underline") }", :color => "cyan")
23
23
  end
24
24
  rescue RestClient::ServiceUnavailable
25
- Coveralls::Output.puts "[Coveralls] API timeout occured, but data should still be processed", :color => "red"
25
+ Coveralls::Output.puts("[Coveralls] API timeout occured, but data should still be processed", :color => "red")
26
26
  rescue RestClient::InternalServerError
27
- Coveralls::Output.puts "[Coveralls] API internal error occured, we're on it!", :color => "red"
27
+ Coveralls::Output.puts("[Coveralls] API internal error occured, we're on it!", :color => "red")
28
28
  end
29
29
 
30
30
  private
@@ -58,7 +58,7 @@ module Coveralls
58
58
  def self.apified_hash hash
59
59
  config = Coveralls::Configuration.configuration
60
60
  if ENV['CI'] || ENV['COVERALLS_DEBUG'] || Coveralls.testing
61
- Coveralls::Output.puts "[Coveralls] Submiting with config:", :color => "yellow"
61
+ Coveralls::Output.puts "[Coveralls] Submitting with config:", :color => "yellow"
62
62
  output = MultiJson.dump(config, :pretty => true).gsub(/"repo_token": "(.*?)"/,'"repo_token": "[secure]"')
63
63
  Coveralls::Output.puts output, :color => "yellow"
64
64
  end
@@ -39,7 +39,7 @@ module Coveralls
39
39
 
40
40
  desc "version", "See version"
41
41
  def version
42
- puts Coveralls::VERSION
42
+ Coveralls::Output.puts Coveralls::VERSION
43
43
  end
44
44
 
45
45
  private
@@ -50,7 +50,7 @@ module Coveralls
50
50
  url = url.gsub("%@", config[:repo_token])
51
51
  `open #{url}`
52
52
  else
53
- puts "No repo_token configured."
53
+ Coveralls::Output.puts "No repo_token configured."
54
54
  end
55
55
  end
56
56
 
@@ -18,10 +18,25 @@ module Coveralls
18
18
  # Coveralls::Output.puts("Hello World", :color => "underline")
19
19
  # # Hello World
20
20
  # # => nil
21
+ #
22
+ # To silence output completely:
23
+ #
24
+ # Coveralls::Output.silent = true
25
+ #
26
+ # or set this environment variable:
27
+ #
28
+ # COVERALLS_SILENT
29
+
21
30
  module Output
22
31
  require 'term/ansicolor'
32
+ attr_accessor :silent
33
+ attr_writer :output
23
34
  extend self
24
35
 
36
+ def output
37
+ (defined?(@output) && @output) || $stdout
38
+ end
39
+
25
40
  # Public: Formats the given string with the specified color
26
41
  # through Term::ANSIColor
27
42
  #
@@ -37,11 +52,14 @@ module Coveralls
37
52
  #
38
53
  # Returns the formatted string.
39
54
  def format(string, options = {})
40
- if options[:color] && Term::ANSIColor.respond_to?(options[:color].to_sym)
41
- Term::ANSIColor.send(options[:color].to_sym, string)
42
- else
43
- string
55
+ if options[:color]
56
+ options[:color].split(/\s/).reverse_each do |color|
57
+ if Term::ANSIColor.respond_to?(color.to_sym)
58
+ string = Term::ANSIColor.send(color.to_sym, string)
59
+ end
60
+ end
44
61
  end
62
+ string
45
63
  end
46
64
 
47
65
  # Public: Passes .format to Kernel#puts
@@ -58,7 +76,8 @@ module Coveralls
58
76
  #
59
77
  # Returns nil.
60
78
  def puts(string, options = {})
61
- Kernel.puts self.format(string, options)
79
+ return if silent?
80
+ (options[:output] || output).puts self.format(string, options)
62
81
  end
63
82
 
64
83
  # Public: Passes .format to Kernel#print
@@ -74,7 +93,12 @@ module Coveralls
74
93
  #
75
94
  # Returns nil.
76
95
  def print(string, options = {})
77
- Kernel.print self.format(string, options)
96
+ return if silent?
97
+ (options[:output] || output).print self.format(string, options)
98
+ end
99
+
100
+ def silent?
101
+ ENV["COVERALLS_SILENT"] || (defined?(@silent) && @silent)
78
102
  end
79
103
  end
80
104
  end
@@ -1,6 +1,5 @@
1
1
  require 'rake'
2
2
  require 'rake/tasklib'
3
- require 'json'
4
3
 
5
4
  module Coveralls
6
5
  class RakeTask < ::Rake::TaskLib
@@ -17,4 +16,4 @@ module Coveralls
17
16
  end # initialize
18
17
 
19
18
  end # class
20
- end # module
19
+ end # module
@@ -5,12 +5,12 @@ module Coveralls
5
5
  def display_result(result)
6
6
  # Log which files would be submitted.
7
7
  if result.files.length > 0
8
- puts "[Coveralls] Some handy coverage stats:"
8
+ Coveralls::Output.puts "[Coveralls] Some handy coverage stats:"
9
9
  else
10
10
  Coveralls::Output.puts "[Coveralls] There are no covered files.", :color => "yellow"
11
11
  end
12
12
  result.files.each do |f|
13
- print " * "
13
+ Coveralls::Output.print " * "
14
14
  Coveralls::Output.print short_filename(f.filename).to_s, :color => "cyan"
15
15
  Coveralls::Output.print " => ", :color => "white"
16
16
  cov = "#{f.covered_percent.round}%"
@@ -21,7 +21,7 @@ module Coveralls
21
21
  else
22
22
  Coveralls::Output.print cov, :color => "red"
23
23
  end
24
- puts ""
24
+ Coveralls::Output.puts ""
25
25
  end
26
26
  true
27
27
  end
@@ -70,7 +70,7 @@ module Coveralls
70
70
 
71
71
  # Post to Coveralls.
72
72
  API.post_json "jobs", {:source_files => source_files, :test_framework => result.command_name.downcase, :run_at => result.created_at}
73
- puts output_message result
73
+ Coveralls::Output.puts output_message result
74
74
 
75
75
  true
76
76
 
@@ -1,3 +1,3 @@
1
1
  module Coveralls
2
- VERSION = "0.6.9"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -7,6 +7,32 @@ describe Coveralls do
7
7
  Coveralls.testing = true
8
8
  end
9
9
 
10
+ describe "#will_run?" do
11
+ it "checks CI environemnt variables" do
12
+ Coveralls.will_run?.should be_true
13
+ end
14
+
15
+ context "with CI disabled" do
16
+ before do
17
+ @ci = ENV['CI']
18
+ ENV['CI'] = nil
19
+ @coveralls_run_locally = ENV['COVERALLS_RUN_LOCALLY']
20
+ ENV['COVERALLS_RUN_LOCALLY'] = nil
21
+
22
+ Coveralls.testing = false
23
+ end
24
+
25
+ after do
26
+ ENV['CI'] = @ci
27
+ ENV['COVERALLS_RUN_LOCALLY'] = @coveralls_run_locally
28
+ end
29
+
30
+ it "indicates no run" do
31
+ Coveralls.will_run?.should be_false
32
+ end
33
+ end
34
+ end
35
+
10
36
  describe "#should_run?" do
11
37
  it "outputs to stdout when running locally" do
12
38
  Coveralls.testing = false
@@ -1,6 +1,60 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Coveralls::Output do
4
+ it "defaults the IO to $stdout" do
5
+ old_stdout = $stdout
6
+ out = StringIO.new
7
+ $stdout = out
8
+ Coveralls::Output.puts "this is a test"
9
+ expect(out.string).to eq "this is a test\n"
10
+ $stdout = old_stdout
11
+ end
12
+
13
+ it "accepts an IO injection" do
14
+ out = StringIO.new
15
+ Coveralls::Output.output = out
16
+ Coveralls::Output.puts "this is a test"
17
+ expect(out.string).to eq "this is a test\n"
18
+ end
19
+
20
+ describe ".puts" do
21
+ it "accepts an IO injection" do
22
+ out = StringIO.new
23
+ Coveralls::Output.puts "this is a test", :output => out
24
+ expect(out.string).to eq "this is a test\n"
25
+ end
26
+ end
27
+
28
+ describe ".print" do
29
+ it "accepts an IO injection" do
30
+ out = StringIO.new
31
+ Coveralls::Output.print "this is a test", :output => out
32
+ expect(out.string).to eq "this is a test"
33
+ end
34
+ end
35
+
36
+ describe 'when silenced' do
37
+ before do
38
+ @original_stdout = $stdout
39
+ @output = StringIO.new
40
+ Coveralls::Output.silent = true
41
+ $stdout = @output
42
+ end
43
+ it "should not puts" do
44
+ Coveralls::Output.puts "foo"
45
+ @output.rewind
46
+ @output.read.should == ""
47
+ end
48
+ it "should not print" do
49
+ Coveralls::Output.print "foo"
50
+ @output.rewind
51
+ @output.read.should == ""
52
+ end
53
+ after do
54
+ $stdout = @original_stdout
55
+ end
56
+ end
57
+
4
58
  describe '.format' do
5
59
  it "accepts a color argument" do
6
60
  string = 'Hello'
@@ -19,8 +73,6 @@ describe Coveralls::Output do
19
73
  end
20
74
 
21
75
  it "accepts more than 1 color argument" do
22
- pending "Not implemented"
23
-
24
76
  string = 'Hi dog!'
25
77
  multi_formatted_string = Term::ANSIColor.red{ Term::ANSIColor.underline(string) }
26
78
  Coveralls::Output.format(string, :color => 'red underline').should eq(multi_formatted_string)
@@ -6,10 +6,11 @@ describe Coveralls::SimpleCov::Formatter do
6
6
  stub_api_post
7
7
  end
8
8
 
9
+ def source_fixture(filename)
10
+ File.expand_path( File.join( File.dirname( __FILE__ ), 'fixtures', filename ) )
11
+ end
12
+
9
13
  let(:result) {
10
- def source_fixture(filename)
11
- File.expand_path( File.join( File.dirname( __FILE__ ), 'fixtures', filename ) )
12
- end
13
14
 
14
15
  SimpleCov::Result.new({
15
16
  source_fixture( 'sample.rb' ) => [nil, 1, 1, 1, nil, 0, 1, 1, nil, nil],
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coveralls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Merwin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-12 00:00:00.000000000 Z
12
+ date: 2013-09-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client