slather 1.2.0 → 1.2.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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTQzZDA5ZDdiZGE5ODkwZDYyMDg5NjQ1NjQ5ODI1NDI2OGRmZDJjOA==
4
+ ZmQ4NmM0NmNjYWQ3Yjc0NjgzN2Q5ODA0NzVhYmM2M2QxMTMzZGQ1ZA==
5
5
  data.tar.gz: !binary |-
6
- NGRhN2I1Yjk5ZDgzZTgxYWIwNWI1MjQyNjhjNTE3OGYwZjdjMjQyNg==
6
+ OTQwNTNlMTM3MjFhMjBiMzI3ZDQxZjUyODRiYWM4ZDU3MGVjMTBjYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NTE3MWUwOGE0MGQxZGQ4M2VmOTA1YjRhZTY1NDVhMzE5YzE2OGRiYzFhZTZi
10
- ZjYwZDVhODZmNTVkYWE4ZjUwZmZmOWI5ZjEzOWEwYmRkMDI5NTNiNzUyYjU1
11
- MWQzYzAyNTM1ZmU1MWYzZmM5YzE0NzQzNDI1ZDM5OGUyMDI1YWI=
9
+ NjRhYzYyNGVkMDgwMDliYmJhMDVlNWEyNTUyYTg5YWQ0OTFiMTA2OGJiMDQ1
10
+ YzYxYmMyODE1MDEyNGQ0MzY1ZGUzOTdjNWU0NjQ1MTM5OTBiZThmODg2MjVi
11
+ MzU3M2JlZTQ1M2Y4NTFhYmQ5MGI0MGU1NWM0YTg0YjYxMjViN2U=
12
12
  data.tar.gz: !binary |-
13
- ZmFjMTcxZjBkN2ZiMzk5OWMxNWY2OGJkZTZhZmIwZTY5ZGNmMDVhNDIzNzI5
14
- ODc3NjcxOTdkZWE5ODc1NDcxNzcxNWExNTNiYTY2NTc1ODIyNjE5MTI0YWNi
15
- MzM4YzgyODM0OTc5YjgzMjM0MDQzNDllNjdhMTkxYzQxNWQ4ZmI=
13
+ NDRlMGE4ZWM2YjZkNWE3YzBkMGZlZWMxMmE4OTAyN2E4MTE2NTE1YjQyMTVh
14
+ NTRmZmNmMWFiNWRmZmVjMDY3NTQ3NmNjZjc3OTU2NmVhZWY1NThhYjYzMTc4
15
+ NDY2ZDM2MWFiMWFhYTQ0M2E3YzE3ZWU4MzFkMzQzNmZmMzg1ZWI=
data/bin/slather CHANGED
@@ -7,14 +7,14 @@ Clamp do
7
7
 
8
8
  self.default_subcommand = "coverage"
9
9
 
10
- subcommand "coverage", "Computes coverage for the supplised project" do
10
+ subcommand "coverage", "Computes coverage for the supplied project" do
11
11
 
12
12
  parameter "[xcodeproj]", "Path to the xcodeproj", :attribute_name => :xcodeproj_path
13
13
 
14
14
  option ["--travis", "-t"], :flag, "Indicate that the builds are running on Travis CI"
15
15
 
16
16
  option ["--coveralls", "-c"], :flag, "Post coverage results to coveralls"
17
- option ["--simple-output", "-s"], :flag, "Post coverage results to coveralls"
17
+ option ["--simple-output", "-s"], :flag, "Output coverage results to the terminal"
18
18
 
19
19
  option ["--build-directory", "-b"], "BUILD_DIRECTORY", "The directory where gcno files will be written to. Defaults to derived data."
20
20
  option ["--source-directory"], "SOURCE_DIRECTORY", "The directory where your source files are located."
@@ -88,4 +88,4 @@ Clamp do
88
88
  end
89
89
 
90
90
  end
91
- end
91
+ end
@@ -42,8 +42,10 @@ module Slather
42
42
  # Sometimes gcov makes gcov files for Cocoa Touch classes, like NSRange. Ignore and delete later.
43
43
  gcov_files_created = gcov_output.scan(/creating '(.+\..+\.gcov)'/)
44
44
 
45
- gcov_file = File.new("./#{source_file_pathname.basename}.gcov")
46
- gcov_data = gcov_file.read
45
+ gcov_file_name = "./#{source_file_pathname.basename}.gcov"
46
+ if File.exists?(gcov_file_name)
47
+ gcov_data = File.new(gcov_file_name).read
48
+ end
47
49
 
48
50
  gcov_files_created.each { |file| FileUtils.rm(file) }
49
51
 
@@ -52,10 +54,14 @@ module Slather
52
54
  end
53
55
 
54
56
  def coverage_data
55
- first_line_start = gcov_data =~ /^\s+(-|#+|[0-9+]):\s+1:/
57
+ if gcov_data
58
+ first_line_start = gcov_data =~ /^\s+(-|#+|[0-9+]):\s+1:/
56
59
 
57
- gcov_data[first_line_start..-1].split("\n").map do |line|
58
- coverage_for_line(line)
60
+ gcov_data[first_line_start..-1].split("\n").map do |line|
61
+ coverage_for_line(line)
62
+ end
63
+ else
64
+ []
59
65
  end
60
66
  end
61
67
 
@@ -13,22 +13,13 @@ module Slather
13
13
  private :travis_job_id
14
14
 
15
15
  def coveralls_coverage_data
16
- if ci_service == :travis_ci || ci_service == :travis_pro
16
+ if ci_service == :travis_ci
17
17
  if travis_job_id
18
- if ci_service == :travis_ci
19
- {
20
- :service_job_id => travis_job_id,
21
- :service_name => "travis-ci",
22
- :source_files => coverage_files.map(&:as_json)
23
- }.to_json
24
- elsif ci_service == :travis_pro
25
- {
26
- :service_job_id => travis_job_id,
27
- :service_name => "travis-pro",
28
- :repo_token => ci_access_token,
29
- :source_files => coverage_files.map(&:as_json)
30
- }.to_json
31
- end
18
+ {
19
+ :service_job_id => travis_job_id,
20
+ :service_name => "travis-ci",
21
+ :source_files => coverage_files.map(&:as_json)
22
+ }.to_json
32
23
  else
33
24
  raise StandardError, "Environment variable `TRAVIS_JOB_ID` not set. Is this running on a travis build?"
34
25
  end
@@ -19,7 +19,7 @@ end
19
19
  module Slather
20
20
  class Project < Xcodeproj::Project
21
21
 
22
- attr_accessor :build_directory, :ignore_list, :ci_service, :coverage_service, :ci_access_token, :source_directory
22
+ attr_accessor :build_directory, :ignore_list, :ci_service, :coverage_service, :source_directory
23
23
 
24
24
  alias_method :setup_for_coverage, :slather_setup_for_coverage
25
25
 
@@ -70,7 +70,6 @@ module Slather
70
70
  configure_build_directory_from_yml
71
71
  configure_ignore_list_from_yml
72
72
  configure_ci_service_from_yml
73
- configure_ci_access_token_from_yml
74
73
  configure_coverage_service_from_yml
75
74
  configure_source_directory_from_yml
76
75
  end
@@ -99,10 +98,6 @@ module Slather
99
98
  self.coverage_service ||= (self.class.yml["coverage_service"] || :terminal)
100
99
  end
101
100
 
102
- def configure_ci_access_token_from_yml
103
- self.ci_access_token ||= (self.class.yml["ci_access_token"] || "")
104
- end
105
-
106
101
  def coverage_service=(service)
107
102
  service = service && service.to_sym
108
103
  if service == :coveralls
@@ -1,3 +1,3 @@
1
1
  module Slather
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -36,21 +36,6 @@ describe Slather::CoverageService::Coveralls do
36
36
  end
37
37
  end
38
38
 
39
- context "coverage_service is :travis_pro" do
40
- before(:each) { fixtures_project.ci_service = :travis_pro }
41
-
42
- it "should return valid json for coveralls coverage data" do
43
- fixtures_project.stub(:travis_job_id).and_return("9182")
44
- fixtures_project.stub(:ci_access_token).and_return("abc123")
45
- expect(fixtures_project.send(:coveralls_coverage_data)).to eq("{\"service_job_id\":\"9182\",\"service_name\":\"travis-pro\",\"repo_token\":\"abc123\",\"source_files\":[{\"name\":\"spec/fixtures/fixtures/fixtures.m\",\"source\":\"//\\n// fixtures.m\\n// fixtures\\n//\\n// Created by Mark Larsen on 6/24/14.\\n// Copyright (c) 2014 marklarr. All rights reserved.\\n//\\n\\n#import \\\"fixtures.h\\\"\\n\\n@implementation fixtures\\n\\n- (void)testedMethod\\n{\\n NSLog(@\\\"tested\\\");\\n}\\n\\n- (void)untestedMethod\\n{\\n NSLog(@\\\"untested\\\");\\n}\\n\\n@end\\n\",\"coverage\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,1,1,null,null,null,0,0,null,null]},{\"name\":\"spec/fixtures/fixtures/more_files/peekaview.m\",\"source\":\"//\\n// peekaview.m\\n// fixtures\\n//\\n// Created by Mark Larsen on 6/25/14.\\n// Copyright (c) 2014 marklarr. All rights reserved.\\n//\\n\\n#import \\\"peekaview.h\\\"\\n\\n@implementation peekaview\\n\\n- (id)initWithFrame:(CGRect)frame\\n{\\n self = [super initWithFrame:frame];\\n if (self) {\\n // Initialization code\\n }\\n return self;\\n}\\n\\n/*\\n// Only override drawRect: if you perform custom drawing.\\n// An empty implementation adversely affects performance during animation.\\n- (void)drawRect:(CGRect)rect\\n{\\n // Drawing code\\n}\\n*/\\n\\n@end\\n\",\"coverage\":[null,null,null,null,null,null,null,null,null,null,null,null,0,null,0,0,null,0,0,0,null,null,null,null,null,null,null,null,null,null,null]},{\"name\":\"spec/fixtures/fixturesTests/fixturesTests.m\",\"source\":\"//\\n// fixturesTests.m\\n// fixturesTests\\n//\\n// Created by Mark Larsen on 6/24/14.\\n// Copyright (c) 2014 marklarr. All rights reserved.\\n//\\n\\n#import <XCTest/XCTest.h>\\n#import \\\"fixtures.h\\\"\\n\\n@interface fixturesTests : XCTestCase\\n\\n@end\\n\\n@implementation fixturesTests\\n\\n- (void)setUp\\n{\\n [super setUp];\\n // Put setup code here. This method is called before the invocation of each test method in the class.\\n}\\n\\n- (void)tearDown\\n{\\n // Put teardown code here. This method is called after the invocation of each test method in the class.\\n [super tearDown];\\n}\\n\\n- (void)testExample\\n{\\n fixtures *f = [[fixtures alloc] init];\\n [f testedMethod];\\n}\\n\\n@end\\n\",\"coverage\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1,null,1,null,null,null,null,1,1,null,null,null,1,1,1,null,null]},{\"name\":\"spec/fixtures/fixturesTests/peekaviewTests.m\",\"source\":\"//\\n// peekaviewTests.m\\n// fixtures\\n//\\n// Created by Mark Larsen on 6/25/14.\\n// Copyright (c) 2014 marklarr. All rights reserved.\\n//\\n\\n#import <XCTest/XCTest.h>\\n\\n@interface peekaviewTests : XCTestCase\\n\\n@end\\n\\n@implementation peekaviewTests\\n\\n- (void)setUp\\n{\\n [super setUp];\\n // Put setup code here. This method is called before the invocation of each test method in the class.\\n}\\n\\n- (void)tearDown\\n{\\n // Put teardown code here. This method is called after the invocation of each test method in the class.\\n [super tearDown];\\n}\\n\\n- (void)testExample\\n{\\n XCTAssert(YES, @\\\"woot\\\");\\n}\\n\\n@end\\n\",\"coverage\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1,null,1,null,null,null,null,1,1,null,null,null,2,1,null,null]}]}")
46
- end
47
-
48
- it "should raise an error if there is no TRAVIS_JOB_ID" do
49
- fixtures_project.stub(:travis_job_id).and_return(nil)
50
- expect { fixtures_project.send(:coveralls_coverage_data) }.to raise_error(StandardError)
51
- end
52
- end
53
-
54
39
  it "should raise an error if it does not recognize the ci_service" do
55
40
  fixtures_project.ci_service = :jenkins_ci
56
41
  expect { fixtures_project.send(:coveralls_coverage_data) }.to raise_error(StandardError)
@@ -228,14 +228,6 @@ describe Slather::Project do
228
228
  end
229
229
  end
230
230
 
231
- describe "#configure_ci_access_token_from_yml" do
232
- it "should set the ci_access_token if it has been provided by the yml" do
233
- Slather::Project.stub(:yml).and_return({"ci_access_token" => "abc123"})
234
- expect(fixtures_project).to receive(:ci_access_token=).with("abc123")
235
- fixtures_project.configure_ci_access_token_from_yml
236
- end
237
- end
238
-
239
231
  describe "#coverage_service=" do
240
232
  it "should extend Slather::CoverageService::Coveralls and set coverage_service = :coveralls if given coveralls" do
241
233
  expect(fixtures_project).to receive(:extend).with(Slather::CoverageService::Coveralls)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slather
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Larsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-29 00:00:00.000000000 Z
11
+ date: 2014-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -196,4 +196,3 @@ test_files:
196
196
  - spec/slather/project_spec.rb
197
197
  - spec/slather/slather_spec.rb
198
198
  - spec/spec_helper.rb
199
- has_rdoc: