geordi 9.5.0 → 9.5.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 +7 -0
- data/Gemfile.lock +1 -1
- data/geordi.gemspec +0 -4
- data/lib/geordi/commands/cucumber.rb +5 -6
- data/lib/geordi/commands/migrate.rb +4 -4
- data/lib/geordi/cucumber.rb +27 -6
- data/lib/geordi/settings.rb +1 -1
- data/lib/geordi/version.rb +1 -1
- metadata +4 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 506036483e1c31f8fab13388d6f92168227df95506f56ce5e28241f9ef867fc1
|
|
4
|
+
data.tar.gz: 85ef8a779e3e699865d0eb3f589fd252dd345771946daaed057e3615fcca1ca5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fb8e5d65caf516ff4a4a5da1655ba5cf8001d8d0c875b68908e39e993dfbde7a3cdb4b887318192cb5bf22f5e2555a5d7796061c72fb2cf745c23c87a71c2ade
|
|
7
|
+
data.tar.gz: 9ddb734143d4162be8e6cf053f7b9aa35f7c72c69558caedcdb4ed9021b6c16b1bfd3ee84d6c13ad089b4af154d0bd0a197873355ab0dafaebc26710150f38d4
|
data/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,13 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
|
|
|
10
10
|
### Breaking changes
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
# 9.5.1 - 2023-04-26
|
|
14
|
+
|
|
15
|
+
### Compatible changes
|
|
16
|
+
|
|
17
|
+
* `cucumber` command: Support the passing of options without "="
|
|
18
|
+
|
|
19
|
+
|
|
13
20
|
# 9.5.0 2023-03-22
|
|
14
21
|
|
|
15
22
|
### Compatible changes
|
data/Gemfile.lock
CHANGED
data/geordi.gemspec
CHANGED
|
@@ -31,8 +31,4 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
|
|
32
32
|
spec.add_runtime_dependency 'thor', '~> 1'
|
|
33
33
|
# Development dependencies are defined in the Gemfile (therefore no `spec.add_development_dependency` directives)
|
|
34
|
-
|
|
35
|
-
spec.post_install_message = <<-ATTENTION
|
|
36
|
-
Support for sequential running of integration tests tagged with @solo has been dropped.
|
|
37
|
-
ATTENTION
|
|
38
34
|
end
|
|
@@ -52,22 +52,21 @@ def cucumber(*args)
|
|
|
52
52
|
invoke_geordi 'chromedriver_update', quiet_if_matching: true
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
arguments = args
|
|
56
|
+
arguments << '--format' << 'pretty' << '--backtrace' if options.debug
|
|
57
57
|
|
|
58
58
|
# Parallel run of all given features + reruns ##############################
|
|
59
59
|
Interaction.announce 'Running features'
|
|
60
|
-
normal_run_successful = Geordi::Cucumber.new.run(
|
|
60
|
+
normal_run_successful = Geordi::Cucumber.new.run(arguments, verbose: options.verbose)
|
|
61
61
|
|
|
62
62
|
unless normal_run_successful
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
arguments << '--profile' << 'rerun'
|
|
65
64
|
# Reruns
|
|
66
65
|
(options.rerun + 1).times do |i|
|
|
67
66
|
Interaction.fail 'Features failed.' if i == options.rerun # All reruns done?
|
|
68
67
|
|
|
69
68
|
Interaction.announce "Rerun ##{i + 1} of #{options.rerun}"
|
|
70
|
-
break if Geordi::Cucumber.new.run(
|
|
69
|
+
break if Geordi::Cucumber.new.run(arguments, verbose: options.verbose, parallel: false)
|
|
71
70
|
end
|
|
72
71
|
end
|
|
73
72
|
|
|
@@ -8,11 +8,11 @@ with `db:migrate`.
|
|
|
8
8
|
LONGDESC
|
|
9
9
|
|
|
10
10
|
def migrate
|
|
11
|
-
invoke_geordi 'bundle_install'
|
|
12
|
-
invoke_geordi 'yarn_install'
|
|
13
|
-
Interaction.announce 'Migrating'
|
|
14
|
-
|
|
15
11
|
if File.directory?('db/migrate')
|
|
12
|
+
invoke_geordi 'bundle_install'
|
|
13
|
+
invoke_geordi 'yarn_install'
|
|
14
|
+
Interaction.announce 'Migrating'
|
|
15
|
+
|
|
16
16
|
if Util.file_containing?('Gemfile', /parallel_tests/)
|
|
17
17
|
Interaction.note 'Development and parallel test databases'
|
|
18
18
|
puts
|
data/lib/geordi/cucumber.rb
CHANGED
|
@@ -8,9 +8,14 @@ require File.expand_path('settings', __dir__)
|
|
|
8
8
|
|
|
9
9
|
module Geordi
|
|
10
10
|
class Cucumber
|
|
11
|
+
def run(arguments, options = {})
|
|
12
|
+
split_arguments = arguments.map { |arg| arg.split('=') }.flatten
|
|
13
|
+
|
|
14
|
+
self.argv = split_arguments.map do |arg|
|
|
15
|
+
# Ensure arguments containing white space are kept together
|
|
16
|
+
arg.match?(/\S\s\S/) ? %('#{arg}') : arg
|
|
17
|
+
end
|
|
11
18
|
|
|
12
|
-
def run(files, cucumber_options, options = {})
|
|
13
|
-
self.argv = files + cucumber_options.map { |option| option.split('=') }.flatten
|
|
14
19
|
self.settings = Geordi::Settings.new
|
|
15
20
|
|
|
16
21
|
consolidate_rerun_txt_files
|
|
@@ -32,24 +37,30 @@ module Geordi
|
|
|
32
37
|
unless argv.include?('--format') || argv.include?('-f')
|
|
33
38
|
format_args = spinner_available? ? ['--format', 'CucumberSpinner::CuriousProgressBarFormatter'] : ['--format', 'progress']
|
|
34
39
|
end
|
|
40
|
+
if argv.include?('rerun')
|
|
41
|
+
drop_command_line_features!
|
|
42
|
+
end
|
|
35
43
|
[ Util.binstub_or_fallback('cucumber'), format_args, escape_shell_args(argv)].flatten.compact.join(' ')
|
|
36
44
|
end
|
|
37
45
|
|
|
38
46
|
def parallel_execution_command
|
|
39
47
|
Interaction.note 'Using parallel_tests'
|
|
40
|
-
|
|
48
|
+
drop_command_line_features!
|
|
41
49
|
|
|
42
50
|
type_arg = Util.gem_version('parallel_tests') > Gem::Version.new('0.7.0') ? 'cucumber' : 'features'
|
|
43
51
|
features = features_to_run
|
|
44
52
|
features = find_all_features_recursively('features') if features.empty?
|
|
45
|
-
|
|
46
53
|
[
|
|
47
54
|
'bundle exec parallel_test -t ' + type_arg,
|
|
48
|
-
%(-o
|
|
55
|
+
%(-o "#{command_line_options.join(' ')}"),
|
|
49
56
|
"-- #{features.join(' ')}",
|
|
50
57
|
].compact.join(' ')
|
|
51
58
|
end
|
|
52
59
|
|
|
60
|
+
def drop_command_line_features!
|
|
61
|
+
self.argv = argv - command_line_features
|
|
62
|
+
end
|
|
63
|
+
|
|
53
64
|
def escape_shell_args(*args)
|
|
54
65
|
args.flatten.collect do |arg|
|
|
55
66
|
arg.gsub(/([\\ "])/) { |_match| "\\#{Regexp.last_match(1)}" }
|
|
@@ -57,8 +68,10 @@ module Geordi
|
|
|
57
68
|
end
|
|
58
69
|
|
|
59
70
|
def show_features_to_run
|
|
60
|
-
if command_line_options.include?
|
|
71
|
+
if command_line_options.include?('rerun')
|
|
61
72
|
Interaction.note 'Rerunning failed scenarios'
|
|
73
|
+
elsif command_line_tag_options.any?
|
|
74
|
+
Interaction.note "Only features matching tag option #{command_line_tag_options.join(',')}"
|
|
62
75
|
elsif features_to_run.empty?
|
|
63
76
|
Interaction.note 'All features in features/'
|
|
64
77
|
else
|
|
@@ -111,6 +124,14 @@ module Geordi
|
|
|
111
124
|
end
|
|
112
125
|
end
|
|
113
126
|
|
|
127
|
+
def command_line_tag_options
|
|
128
|
+
[].tap do |tag_options|
|
|
129
|
+
command_line_options.each_cons(2) do |option, tags|
|
|
130
|
+
tag_options << tags if option =~ /--tags|-t/
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
114
135
|
def consolidate_rerun_txt_files
|
|
115
136
|
parallel_rerun_files = Dir.glob('parallel_rerun*.txt')
|
|
116
137
|
unless parallel_rerun_files.empty?
|
data/lib/geordi/settings.rb
CHANGED
|
@@ -103,7 +103,7 @@ module Geordi
|
|
|
103
103
|
invalid_keys = settings.keys - allowed_keys
|
|
104
104
|
unless invalid_keys.empty?
|
|
105
105
|
Interaction.warn "Unknown settings in #{file}: #{invalid_keys.join(", ")}"
|
|
106
|
-
|
|
106
|
+
puts "Supported settings in #{file} are: #{allowed_keys.join(", ")}"
|
|
107
107
|
end
|
|
108
108
|
end
|
|
109
109
|
|
data/lib/geordi/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: geordi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 9.5.
|
|
4
|
+
version: 9.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Henning Koch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-04-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -101,10 +101,7 @@ metadata:
|
|
|
101
101
|
bug_tracker_uri: https://github.com/makandra/geordi/issues
|
|
102
102
|
changelog_uri: https://github.com/makandra/geordi/blob/master/CHANGELOG.md
|
|
103
103
|
rubygems_mfa_required: 'true'
|
|
104
|
-
post_install_message:
|
|
105
|
-
with @solo has been dropped.
|
|
106
|
-
|
|
107
|
-
'
|
|
104
|
+
post_install_message:
|
|
108
105
|
rdoc_options: []
|
|
109
106
|
require_paths:
|
|
110
107
|
- lib
|
|
@@ -119,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
119
116
|
- !ruby/object:Gem::Version
|
|
120
117
|
version: '0'
|
|
121
118
|
requirements: []
|
|
122
|
-
rubygems_version: 3.
|
|
119
|
+
rubygems_version: 3.2.32
|
|
123
120
|
signing_key:
|
|
124
121
|
specification_version: 4
|
|
125
122
|
summary: Collection of command line tools we use in our daily work with Ruby, Rails
|