knapsack_pro 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +24 -19
- data/lib/knapsack_pro/adapters/rspec_adapter.rb +6 -0
- data/lib/knapsack_pro/test_file_finder.rb +1 -1
- data/lib/knapsack_pro/version.rb +1 -1
- data/spec/knapsack_pro/adapters/rspec_adapter_spec.rb +4 -0
- data/spec/knapsack_pro/allocator_builder_spec.rb +1 -1
- data/spec/knapsack_pro/config/env_spec.rb +1 -1
- data/spec/knapsack_pro/test_file_finder_spec.rb +1 -1
- data/spec/knapsack_pro/test_file_pattern_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96ff13037f32a161f5a770ba6636b171a2d317c4
|
4
|
+
data.tar.gz: 11c088648df8c54ee22bd101fce0442ed5af7b85
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06f9467cd5208500e8daf2aa1efa77631fc189e50547f5b70f0a81b2966d6416450535da9637665f990e24f6ca5a21ef67fbea85dc2e793725458e5c93125d72
|
7
|
+
data.tar.gz: a63200ecee7013d6163c0bfe5a330c3416c2bc5151e1d22b0ba25851305a0cc048d43c483020508bfa3b42f57edfb06a5621c2fbe38057779f61a7cc379398a2
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
* TODO
|
4
4
|
|
5
|
+
### 0.2.1
|
6
|
+
|
7
|
+
* TestFileFinder should find unique files without duplicates when using test file pattern supporting symlinks
|
8
|
+
* Update test file pattern to support symlinks in specs and readme examples
|
9
|
+
* Backwards compatibility with knapsack gem old rspec adapter name
|
10
|
+
|
11
|
+
https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v0.2.0...v0.2.1
|
12
|
+
|
5
13
|
### 0.2.0
|
6
14
|
|
7
15
|
* Change file path patterns to support 1-level symlinks by default
|
data/README.md
CHANGED
@@ -46,14 +46,15 @@ For instance when you will run tests with rake knapsack_pro:rspec then:
|
|
46
46
|
|
47
47
|
- [Update gem](#update-gem)
|
48
48
|
- [Installation](#installation)
|
49
|
-
- [
|
50
|
-
- [
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
- [
|
55
|
-
- [
|
56
|
-
|
49
|
+
- [How to set up](#how-to-set-up)
|
50
|
+
- [Usage](#usage)
|
51
|
+
- [Step for RSpec](#step-for-rspec)
|
52
|
+
- [Step for Cucumber](#step-for-cucumber)
|
53
|
+
- [Step for Minitest](#step-for-minitest)
|
54
|
+
- [Custom configuration](#custom-configuration)
|
55
|
+
- [Setup your CI server](#setup-your-ci-server)
|
56
|
+
- [Set API key token](#set-api-key-token)
|
57
|
+
- [Set knapsack_pro command to execute tests](#set-knapsack_pro-command-to-execute-tests)
|
57
58
|
- [Extra configuration for CI server](#extra-configuration-for-ci-server)
|
58
59
|
- [Info about ENV variables](#info-about-env-variables)
|
59
60
|
- [Repository adapter](#repository-adapter)
|
@@ -101,13 +102,15 @@ Add this line at the bottom of `Rakefile` if your project has it:
|
|
101
102
|
KnapsackPro.load_tasks if defined?(KnapsackPro)
|
102
103
|
```
|
103
104
|
|
104
|
-
##
|
105
|
+
## How to set up
|
106
|
+
|
107
|
+
### Usage
|
105
108
|
|
106
109
|
You can find here example of rails app with already configured knapsack_pro.
|
107
110
|
|
108
111
|
https://github.com/KnapsackPro/rails-app-with-knapsack_pro
|
109
112
|
|
110
|
-
|
113
|
+
#### Step for RSpec
|
111
114
|
|
112
115
|
Add at the beginning of your `spec_helper.rb`:
|
113
116
|
|
@@ -119,7 +122,7 @@ require 'knapsack_pro'
|
|
119
122
|
KnapsackPro::Adapters::RSpecAdapter.bind
|
120
123
|
```
|
121
124
|
|
122
|
-
|
125
|
+
#### Step for Cucumber
|
123
126
|
|
124
127
|
Create file `features/support/knapsack_pro.rb` and add there:
|
125
128
|
|
@@ -131,7 +134,7 @@ require 'knapsack_pro'
|
|
131
134
|
KnapsackPro::Adapters::CucumberAdapter.bind
|
132
135
|
```
|
133
136
|
|
134
|
-
|
137
|
+
#### Step for Minitest
|
135
138
|
|
136
139
|
Add at the beginning of your `test_helper.rb`:
|
137
140
|
|
@@ -144,7 +147,7 @@ knapsack_pro_adapter = KnapsackPro::Adapters::MinitestAdapter.bind
|
|
144
147
|
knapsack_pro_adapter.set_test_helper_path(__FILE__)
|
145
148
|
```
|
146
149
|
|
147
|
-
|
150
|
+
#### Custom configuration
|
148
151
|
|
149
152
|
You can change default Knapsack Pro configuration for RSpec, Cucumber or Minitest tests. Here are examples what you can do. Put below configuration instead of `CUSTOM_CONFIG_GOES_HERE`.
|
150
153
|
|
@@ -155,9 +158,9 @@ KnapsackPro.logger = Logger.new(STDOUT)
|
|
155
158
|
KnapsackPro.logger.level = Logger::INFO
|
156
159
|
```
|
157
160
|
|
158
|
-
|
161
|
+
### Setup your CI server
|
159
162
|
|
160
|
-
|
163
|
+
#### Set API key token
|
161
164
|
|
162
165
|
Set one or a few tokens depend on how many test suites you run on CI server.
|
163
166
|
|
@@ -167,7 +170,7 @@ Set one or a few tokens depend on how many test suites you run on CI server.
|
|
167
170
|
|
168
171
|
__Tip:__ In case you have for instance multiple rspec test suites then prepend each of knapsack_pro command which executes tests with `KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC` variable.
|
169
172
|
|
170
|
-
|
173
|
+
#### Set knapsack_pro command to execute tests
|
171
174
|
|
172
175
|
On your CI server run this command for the first CI node. Update `KNAPSACK_PRO_CI_NODE_INDEX` for the next one.
|
173
176
|
|
@@ -183,13 +186,15 @@ On your CI server run this command for the first CI node. Update `KNAPSACK_PRO_C
|
|
183
186
|
You can add `KNAPSACK_PRO_TEST_FILE_PATTERN` if your tests are not in default directory. For instance:
|
184
187
|
|
185
188
|
# Step for RSpec
|
186
|
-
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_specs
|
189
|
+
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_specs/**{,/*/**}/*_spec.rb" KNAPSACK_PRO_CI_NODE_TOTAL=2 KNAPSACK_PRO_CI_NODE_INDEX=0 bundle exec rake knapsack_pro:rspec
|
187
190
|
|
188
191
|
# Step for Cucumber
|
189
|
-
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_features
|
192
|
+
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_features/**{,/*/**}/*.feature" KNAPSACK_PRO_CI_NODE_TOTAL=2 KNAPSACK_PRO_CI_NODE_INDEX=0 bundle exec rake knapsack_pro:cucumber
|
190
193
|
|
191
194
|
# Step for Minitest
|
192
|
-
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_tests
|
195
|
+
$ KNAPSACK_PRO_TEST_FILE_PATTERN="directory_with_tests/**{,/*/**}/*_test.rb" KNAPSACK_PRO_CI_NODE_TOTAL=2 KNAPSACK_PRO_CI_NODE_INDEX=0 bundle exec rake knapsack_pro:minitest
|
196
|
+
|
197
|
+
__Tip:__ If you are using one of supported CI providers then instead of above steps you should [take a look on this](#supported-ci-providers).
|
193
198
|
|
194
199
|
## Extra configuration for CI server
|
195
200
|
|
@@ -44,5 +44,11 @@ module KnapsackPro
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
# This is added to provide backwards compatibility
|
49
|
+
# In case someone is doing switch from knapsack gem to the knapsack_pro gem
|
50
|
+
# and didn't notice the class name changed
|
51
|
+
class RspecAdapter < RSpecAdapter
|
52
|
+
end
|
47
53
|
end
|
48
54
|
end
|
data/lib/knapsack_pro/version.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
describe KnapsackPro::Adapters::RSpecAdapter do
|
2
|
+
it 'backwards compatibility with knapsack gem old rspec adapter name' do
|
3
|
+
expect(KnapsackPro::Adapters::RspecAdapter.new).to be_kind_of(described_class)
|
4
|
+
end
|
5
|
+
|
2
6
|
it do
|
3
7
|
expect(described_class::TEST_DIR_PATTERN).to eq 'spec/**{,/*/**}/*_spec.rb'
|
4
8
|
end
|
@@ -37,7 +37,7 @@ describe KnapsackPro::AllocatorBuilder do
|
|
37
37
|
subject { allocator_builder.test_dir }
|
38
38
|
|
39
39
|
before do
|
40
|
-
expect(KnapsackPro::TestFilePattern).to receive(:call).and_return('spec
|
40
|
+
expect(KnapsackPro::TestFilePattern).to receive(:call).and_return('spec/**{,/*/**}/*_spec.rb')
|
41
41
|
end
|
42
42
|
|
43
43
|
it { should eq 'spec' }
|
@@ -120,7 +120,7 @@ describe KnapsackPro::Config::Env do
|
|
120
120
|
subject { described_class.test_file_pattern }
|
121
121
|
|
122
122
|
context 'when ENV exists' do
|
123
|
-
let(:test_file_pattern) { 'custom_spec
|
123
|
+
let(:test_file_pattern) { 'custom_spec/**{,/*/**}/*_spec.rb' }
|
124
124
|
before { stub_const("ENV", { 'KNAPSACK_PRO_TEST_FILE_PATTERN' => test_file_pattern }) }
|
125
125
|
it { should eq test_file_pattern }
|
126
126
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knapsack_pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ArturT
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|