knapsack 1.0.0 → 1.0.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +11 -9
- data/lib/knapsack/adapters/cucumber_adapter.rb +10 -2
- data/lib/knapsack/version.rb +1 -1
- data/spec/knapsack/adapters/cucumber_adapter_spec.rb +20 -0
- 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: 5171bf868196514551699fe2604e1ee1844920e2
|
4
|
+
data.tar.gz: 6c1fd98385306d4fdc80a806c325c54ffd470d0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c62afcf1e03a56bdf8abe71b2682b969d30ca1895a4854a8533b3ed314ee188b5e37b9f066c5b9ad626f676fbb7e08a06be6697bb3b621d217f7cda4fb96dbe
|
7
|
+
data.tar.gz: 3946fb08bceb702502ded292da873c4016677aa82ac85ed958186727186ea2476db01fe7b74e6230709f67cadd579ff1a6ff59384c043dfb12cefa95dbcd93e3
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -37,10 +37,12 @@ Please check [changelog](CHANGELOG.md) before update gem. Knapsack follows [sema
|
|
37
37
|
|
38
38
|
## Installation
|
39
39
|
|
40
|
-
Add
|
40
|
+
Add those lines to your application's Gemfile:
|
41
41
|
|
42
42
|
```ruby
|
43
|
-
|
43
|
+
group :test, :development do
|
44
|
+
gem 'knapsack'
|
45
|
+
end
|
44
46
|
```
|
45
47
|
|
46
48
|
And then execute:
|
@@ -96,11 +98,10 @@ Knapsack.logger.level = Logger::INFO
|
|
96
98
|
|
97
99
|
### Common step
|
98
100
|
|
99
|
-
Add
|
101
|
+
Add this line at the bottom of `Rakefile`:
|
100
102
|
|
101
103
|
```ruby
|
102
|
-
|
103
|
-
Knapsack.load_tasks
|
104
|
+
Knapsack.load_tasks if defined?(Knapsack)
|
104
105
|
```
|
105
106
|
|
106
107
|
Generate time execution report for your test files. Run below command on one of your CI nodes.
|
@@ -196,11 +197,11 @@ test:
|
|
196
197
|
override:
|
197
198
|
# Step for RSpec
|
198
199
|
- bundle exec rake knapsack:rspec:
|
199
|
-
parallel: true
|
200
|
+
parallel: true # Caution: there are 8 spaces indentation!
|
200
201
|
|
201
202
|
# Step for Cucumber
|
202
203
|
- bundle exec rake knapsack:cucumber:
|
203
|
-
parallel: true
|
204
|
+
parallel: true # Caution: there are 8 spaces indentation!
|
204
205
|
```
|
205
206
|
|
206
207
|
Now everything should works. You will get warning at the end of rspec/cucumber results if time execution will take too much.
|
@@ -250,9 +251,10 @@ env:
|
|
250
251
|
global:
|
251
252
|
- RAILS_ENV=test
|
252
253
|
- MY_GLOBAL_VAR=123
|
254
|
+
- CI_NODE_TOTAL=2
|
253
255
|
matrix:
|
254
|
-
-
|
255
|
-
-
|
256
|
+
- CI_NODE_INDEX=0
|
257
|
+
- CI_NODE_INDEX=1
|
256
258
|
```
|
257
259
|
|
258
260
|
Such configuration will generate matrix with 2 following ENV rows:
|
@@ -5,8 +5,8 @@ module Knapsack
|
|
5
5
|
REPORT_PATH = 'knapsack_cucumber_report.json'
|
6
6
|
|
7
7
|
def bind_time_tracker
|
8
|
-
Around do |
|
9
|
-
Knapsack.tracker.test_path =
|
8
|
+
Around do |scenario_or_outline_table, block|
|
9
|
+
Knapsack.tracker.test_path = CucumberAdapter.test_path(scenario_or_outline_table)
|
10
10
|
Knapsack.tracker.start_timer
|
11
11
|
block.call
|
12
12
|
Knapsack.tracker.stop_timer
|
@@ -30,6 +30,14 @@ module Knapsack
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
+
def self.test_path(scenario_or_outline_table)
|
34
|
+
if scenario_or_outline_table.respond_to?(:file)
|
35
|
+
scenario_or_outline_table.file
|
36
|
+
else
|
37
|
+
scenario_or_outline_table.scenario_outline.file
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
33
41
|
private
|
34
42
|
|
35
43
|
def Around(*tag_expressions, &proc)
|
data/lib/knapsack/version.rb
CHANGED
@@ -66,4 +66,24 @@ describe Knapsack::Adapters::CucumberAdapter do
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
69
|
+
|
70
|
+
describe '.test_path' do
|
71
|
+
subject { described_class.test_path(scenario_or_outline_table) }
|
72
|
+
|
73
|
+
context 'when scenario' do
|
74
|
+
let(:scenario_file) { 'features/scenario.feature' }
|
75
|
+
let(:scenario_or_outline_table) { double(file: scenario_file) }
|
76
|
+
|
77
|
+
it { should eql scenario_file }
|
78
|
+
end
|
79
|
+
|
80
|
+
context 'when scenario outline' do
|
81
|
+
let(:scenario_outline_file) { 'features/scenario_outline.feature' }
|
82
|
+
let(:scenario_or_outline_table) do
|
83
|
+
double(scenario_outline: double(file: scenario_outline_file))
|
84
|
+
end
|
85
|
+
|
86
|
+
it { should eql scenario_outline_file }
|
87
|
+
end
|
88
|
+
end
|
69
89
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knapsack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ArturT
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|