xcknife 0.1.0 → 0.5.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 +4 -4
- data/CONTRIBUTING.md +15 -0
- data/README.md +218 -1
- data/Rakefile +6 -0
- data/bin/xcknife +4 -0
- data/bin/xcknife-min +38 -0
- data/example/README.md +15 -0
- data/example/run_example.rb +34 -0
- data/example/xcknife-exemplar-historical-data.json-stream +14 -0
- data/example/xcknife-exemplar.json-stream +15 -0
- data/lib/xcknife.rb +9 -0
- data/lib/xcknife/events_analyzer.rb +55 -0
- data/lib/xcknife/exceptions.rb +6 -0
- data/lib/xcknife/json_stream_parser_helper.rb +24 -0
- data/lib/xcknife/runner.rb +138 -0
- data/lib/xcknife/stream_parser.rb +222 -0
- data/lib/xcknife/xctool_cmd_helper.rb +14 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/xcknife_spec.rb +344 -0
- data/spec/xctool_cmd_helper_spec.rb +13 -0
- data/xcknife.gemspec +5 -3
- metadata +30 -6
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe XCKnife::XCToolCmdHelper do
|
4
|
+
include XCKnife::XCToolCmdHelper
|
5
|
+
|
6
|
+
it "can compute the -only argument list for a single partition" do
|
7
|
+
result = xctool_only_arguments(
|
8
|
+
{ "TargetOneOnPartition1" => ["TestClass1", "TestClassX"],
|
9
|
+
"TargetTwoOnPartition1" => ["TestClassY"]
|
10
|
+
})
|
11
|
+
expect(result).to eq(%w[-only TargetOneOnPartition1:TestClass1,TestClassX -only TargetTwoOnPartition1:TestClassY])
|
12
|
+
end
|
13
|
+
end
|
data/xcknife.gemspec
CHANGED
@@ -5,15 +5,16 @@ require 'xcknife'
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'xcknife'
|
8
|
-
s.version =
|
8
|
+
s.version = XCKnife::VERSION
|
9
9
|
s.authors = ['Daniel Ribeiro']
|
10
10
|
s.email = %w[danielrb@squareup.com danrbr@gmail.com]
|
11
11
|
s.homepage = 'https://github.com/square/xcknife'
|
12
12
|
s.licenses = ['Apache-2.0']
|
13
13
|
|
14
|
-
s.summary = %q{
|
14
|
+
s.summary = %q{Simple tool for optimizing XCTest runs across machines}
|
15
15
|
s.description = <<-DESCRIPTION
|
16
|
-
|
16
|
+
Simple tool for optimizing XCTest runs across machines.
|
17
|
+
Works by leveraging xctool's json-streams timing and test data.
|
17
18
|
DESCRIPTION
|
18
19
|
|
19
20
|
# Only allow gem to be pushed to https://rubygems.org
|
@@ -21,6 +22,7 @@ Gem::Specification.new do |s|
|
|
21
22
|
|
22
23
|
s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
23
24
|
s.bindir = 'bin'
|
25
|
+
s.executables = ['xcknife', 'xcknife-min']
|
24
26
|
s.require_paths = ['lib']
|
25
27
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
26
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcknife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Ribeiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -25,20 +25,41 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.12'
|
27
27
|
description: |2
|
28
|
-
|
28
|
+
Simple tool for optimizing XCTest runs across machines.
|
29
|
+
Works by leveraging xctool's json-streams timing and test data.
|
29
30
|
email:
|
30
31
|
- danielrb@squareup.com
|
31
32
|
- danrbr@gmail.com
|
32
|
-
executables:
|
33
|
+
executables:
|
34
|
+
- xcknife
|
35
|
+
- xcknife-min
|
33
36
|
extensions: []
|
34
37
|
extra_rdoc_files: []
|
35
38
|
files:
|
36
39
|
- ".gitignore"
|
37
40
|
- ".rspec"
|
38
41
|
- ".ruby-version"
|
42
|
+
- CONTRIBUTING.md
|
39
43
|
- Gemfile
|
40
44
|
- LICENSE
|
41
45
|
- README.md
|
46
|
+
- Rakefile
|
47
|
+
- bin/xcknife
|
48
|
+
- bin/xcknife-min
|
49
|
+
- example/README.md
|
50
|
+
- example/run_example.rb
|
51
|
+
- example/xcknife-exemplar-historical-data.json-stream
|
52
|
+
- example/xcknife-exemplar.json-stream
|
53
|
+
- lib/xcknife.rb
|
54
|
+
- lib/xcknife/events_analyzer.rb
|
55
|
+
- lib/xcknife/exceptions.rb
|
56
|
+
- lib/xcknife/json_stream_parser_helper.rb
|
57
|
+
- lib/xcknife/runner.rb
|
58
|
+
- lib/xcknife/stream_parser.rb
|
59
|
+
- lib/xcknife/xctool_cmd_helper.rb
|
60
|
+
- spec/spec_helper.rb
|
61
|
+
- spec/xcknife_spec.rb
|
62
|
+
- spec/xctool_cmd_helper_spec.rb
|
42
63
|
- xcknife.gemspec
|
43
64
|
homepage: https://github.com/square/xcknife
|
44
65
|
licenses:
|
@@ -64,5 +85,8 @@ rubyforge_project:
|
|
64
85
|
rubygems_version: 2.4.5.1
|
65
86
|
signing_key:
|
66
87
|
specification_version: 4
|
67
|
-
summary:
|
68
|
-
test_files:
|
88
|
+
summary: Simple tool for optimizing XCTest runs across machines
|
89
|
+
test_files:
|
90
|
+
- spec/spec_helper.rb
|
91
|
+
- spec/xcknife_spec.rb
|
92
|
+
- spec/xctool_cmd_helper_spec.rb
|