geordi 1.5.2 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/features/cucumber.feature +10 -0
- data/lib/geordi/commands/cucumber.rb +20 -0
- data/lib/geordi/version.rb +1 -1
- metadata +18 -12
- checksums.yaml +0 -7
data/features/cucumber.feature
CHANGED
@@ -7,6 +7,7 @@ Feature: The cucumber command
|
|
7
7
|
rerun: features
|
8
8
|
"""
|
9
9
|
|
10
|
+
|
10
11
|
Scenario: Run a single feature
|
11
12
|
Given a file named "features/single.feature" with:
|
12
13
|
"""
|
@@ -157,3 +158,12 @@ Feature: The cucumber command
|
|
157
158
|
|
158
159
|
When I run `geordi cucumber --verbose`
|
159
160
|
Then the output should match /^> PATH=.*24.0:\$PATH.* cucumber/
|
161
|
+
|
162
|
+
|
163
|
+
Scenario: Running all cucumber features matching a given string
|
164
|
+
Given a file named "features/given.feature" with "Feature: given"
|
165
|
+
And a file named "features/other.feature" with "Feature: other"
|
166
|
+
|
167
|
+
When I run `geordi cucumber --containing given`
|
168
|
+
Then the output should contain "Only: features/given.feature"
|
169
|
+
But the output should not contain "other.feature"
|
@@ -17,6 +17,10 @@ or `-d`.
|
|
17
17
|
e.g. `--format pretty`.
|
18
18
|
LONGDESC
|
19
19
|
|
20
|
+
option :modified, :aliases => '-m', :type => :boolean,
|
21
|
+
:desc => 'Run all modified features'
|
22
|
+
option :containing, :aliases => '-c', :banner => 'STRING',
|
23
|
+
:desc => 'Run all features that contain STRING'
|
20
24
|
option :verbose, :aliases => '-v', :type => :boolean,
|
21
25
|
:desc => 'Print the testrun command'
|
22
26
|
option :debug, :aliases => '-d', :type => :boolean,
|
@@ -25,6 +29,22 @@ option :rerun, :aliases => '-r', :type => :numeric, :default => 0,
|
|
25
29
|
:desc => 'Rerun features up to N times while failing'
|
26
30
|
|
27
31
|
def cucumber(*args)
|
32
|
+
if args.empty?
|
33
|
+
# This is not testable as there is no way to stub `git` :(
|
34
|
+
if options.modified?
|
35
|
+
modified_features = `git status --short`.split($/).map do |line|
|
36
|
+
indicators = line.slice!(0..2) # Remove leading indicators
|
37
|
+
line if line.include?('.feature') and not indicators.include?('D')
|
38
|
+
end.compact
|
39
|
+
args = modified_features
|
40
|
+
end
|
41
|
+
|
42
|
+
if options.containing
|
43
|
+
matching_features = `grep -lri '#{options.containing}' --include=*.feature features/`.split($/)
|
44
|
+
args = matching_features.uniq
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
28
48
|
if File.directory?('features')
|
29
49
|
require 'geordi/cucumber'
|
30
50
|
|
data/lib/geordi/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,30 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geordi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Henning Koch
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2016-
|
12
|
+
date: 2016-12-01 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: thor
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 0.18.0
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 0.18.0
|
27
30
|
description: Collection of command line tools we use in our daily work with Ruby,
|
@@ -50,8 +53,8 @@ executables:
|
|
50
53
|
extensions: []
|
51
54
|
extra_rdoc_files: []
|
52
55
|
files:
|
53
|
-
-
|
54
|
-
-
|
56
|
+
- .gitignore
|
57
|
+
- .ruby-version
|
55
58
|
- Gemfile
|
56
59
|
- Gemfile.lock
|
57
60
|
- LICENSE
|
@@ -129,26 +132,29 @@ files:
|
|
129
132
|
homepage: http://makandra.com
|
130
133
|
licenses:
|
131
134
|
- MIT
|
132
|
-
|
133
|
-
|
135
|
+
post_install_message: ! '* Binary `geordi` installed
|
136
|
+
|
137
|
+
'
|
134
138
|
rdoc_options: []
|
135
139
|
require_paths:
|
136
140
|
- lib
|
137
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
142
|
+
none: false
|
138
143
|
requirements:
|
139
|
-
- -
|
144
|
+
- - ! '>='
|
140
145
|
- !ruby/object:Gem::Version
|
141
146
|
version: '0'
|
142
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
143
149
|
requirements:
|
144
|
-
- -
|
150
|
+
- - ! '>='
|
145
151
|
- !ruby/object:Gem::Version
|
146
152
|
version: '0'
|
147
153
|
requirements: []
|
148
154
|
rubyforge_project: geordi
|
149
|
-
rubygems_version:
|
155
|
+
rubygems_version: 1.8.23.2
|
150
156
|
signing_key:
|
151
|
-
specification_version:
|
157
|
+
specification_version: 3
|
152
158
|
summary: Collection of command line tools we use in our daily work with Ruby, Rails
|
153
159
|
and Linux at makandra.
|
154
160
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 0d9d613b214f8cc711edd164cf848d2832792237
|
4
|
-
data.tar.gz: e91eb49d7df4be3826ca53d86c44a53aefb5a48e
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 90d6d24374ac2bc356042f3587fe384f8a558725cebaae0d5c03c248cf1e9957bf8a442715abbbcdff76e4768ec2af66f47e59aeea5027b5595d4fd2c0841c69
|
7
|
-
data.tar.gz: d206eb552fde74c2cb2b66a01edcc2b14b8ca9a3ed4e878f05631e57222e29f7b505b398851f0ff56702a485d89ffd2660ad4c998791b243e07309b774df9b8a
|