slather 2.8.6 → 2.8.7

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
  SHA256:
3
- metadata.gz: 563be2e4074d110c301911497e05aafc0d08d167bcd31c7e5dc071a4f15cc15d
4
- data.tar.gz: a8b335702c8fdc46378eed147e08f29a8a460b223a896b3e5185b1c68c9ee61d
3
+ metadata.gz: ca4e8b83423e7a0670664bc121452d3954b5a50eed6395e9df3b09eff82ea7a0
4
+ data.tar.gz: 4b1663cd54b9dbcc08e32334bd4f994f1934d44c3b290e271a79d15567428719
5
5
  SHA512:
6
- metadata.gz: b261def42ccc80ef74fbf08a84a4cdf907eb1ca3c4dc2f5d7213f88b93e0dfebc8d9d0616d89bac919679e9fc2e6dc92be85e26948483c95e89d0354c2b52ade
7
- data.tar.gz: 87e365c0986fa63a2098db6f77bcd539a10e031e8333b5144c967942e547870b784d770a4d1760d06e7bfad4c44813d9674dea2d917b0ccb98b04ee4bb1035d8
6
+ metadata.gz: d1984c8e3bd02944363e7f84806fd2118c98138fa0f1d017b0dafddf0e4300741f3ae66d0fece7a4f6a585e04646829c50e1e93100236eb032cb7190b4c44eef
7
+ data.tar.gz: 2c3b9d016a6eff481d824df68d7c0f05ecb5d34096829eceee4105d4847a5c02df6d69206458f1f8f54a092a453ea4d38265e6f1d72f6c1a66252f64dce4ad39
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v2.8.7
4
+
5
+ * Restore scheme coverage directory lookup in profdata_coverage_dir
6
+ [MirekNalepa](https://github.com/MirekNalepa)
7
+ [#587](https://github.com/SlatherOrg/slather/pull/587)
8
+
3
9
  ## v2.8.6
4
10
 
5
11
  * Apply dedupe to profdata coverage as well
@@ -231,10 +231,7 @@ module Slather
231
231
  raise StandardError, "The specified build directory (#{self.build_directory}) does not exist" unless File.exist?(self.build_directory)
232
232
  dir = nil
233
233
  if self.scheme
234
- product_name = first_product_name
235
- if !product_name.empty?
236
- dir = Dir[File.join(build_directory,"/**/#{product_name}")].first
237
- end.first
234
+ dir = Dir[File.join(build_directory,"/**/CodeCoverage/#{self.scheme}")].first
238
235
  else
239
236
  dir = Dir[File.join(build_directory,"/**/#{first_product_name}")].first
240
237
  end
@@ -1,3 +1,3 @@
1
1
  module Slather
2
- VERSION = '2.8.6' unless defined?(Slather::VERSION)
2
+ VERSION = '2.8.7' unless defined?(Slather::VERSION)
3
3
  end
@@ -188,6 +188,31 @@ describe Slather::Project do
188
188
  end
189
189
  end
190
190
 
191
+ describe "#profdata_coverage_dir" do
192
+ before(:each) do
193
+ fixtures_project.build_directory = "/some/build"
194
+ fixtures_project.scheme = "fixtures"
195
+ allow(File).to receive(:exist?).and_call_original
196
+ allow(File).to receive(:exist?).with("/some/build").and_return(true)
197
+ allow(Dir).to receive(:[]).and_call_original
198
+ end
199
+
200
+ it "should return the CodeCoverage scheme directory when a scheme is set" do
201
+ allow(Dir).to receive(:[]).with("/some/build/**/CodeCoverage/fixtures").and_return(["/some/build/Build/Intermediates/CodeCoverage/fixtures"])
202
+ expect(fixtures_project.profdata_coverage_dir).to eq("/some/build/Build/Intermediates/CodeCoverage/fixtures")
203
+ end
204
+
205
+ it "should fall back to the ProfileData directory when a scheme is set on Xcode 9 and later" do
206
+ allow(Slather).to receive(:xcode_version).and_return([16, 0])
207
+ allow(Dir).to receive(:[]).with("/some/build/**/CodeCoverage/fixtures").and_return([])
208
+ allow(Dir).to receive(:[]).with("/some/build/**/codecov").and_return([])
209
+ allow(Dir).to receive(:[]).with("/some/build/**/CodeCoverage").and_return([])
210
+ allow(Dir).to receive(:[]).with("/some/build/**/ProfileData/*/Coverage.profdata").and_return(["/some/build/ProfileData/ABC/Coverage.profdata"])
211
+ expect(Dir).not_to receive(:[]).with("/some/build/**/fixtures")
212
+ expect(fixtures_project.profdata_coverage_dir).to eq(Pathname.new("/some/build/ProfileData/ABC"))
213
+ end
214
+ end
215
+
191
216
  describe "#invalid_characters" do
192
217
  it "should correctly encode invalid characters" do
193
218
  allow(fixtures_project).to receive(:input_format).and_return("profdata")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slather
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.6
4
+ version: 2.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Larsen