cucumber 7.1.0 → 9.2.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/README.md +17 -27
- data/VERSION +1 -0
- data/lib/cucumber/cli/configuration.rb +4 -1
- data/lib/cucumber/cli/main.rb +5 -4
- data/lib/cucumber/cli/options.rb +73 -67
- data/lib/cucumber/cli/profile_loader.rb +6 -10
- data/lib/cucumber/cli/rerun_file.rb +1 -1
- data/lib/cucumber/configuration.rb +12 -6
- data/lib/cucumber/constantize.rb +1 -1
- data/lib/cucumber/deprecate.rb +6 -46
- data/lib/cucumber/errors.rb +3 -2
- data/lib/cucumber/events/envelope.rb +2 -0
- data/lib/cucumber/events/gherkin_source_parsed.rb +2 -0
- data/lib/cucumber/events/gherkin_source_read.rb +2 -0
- data/lib/cucumber/events/hook_test_step_created.rb +1 -2
- data/lib/cucumber/events/step_activated.rb +0 -6
- data/lib/cucumber/events/step_definition_registered.rb +0 -5
- data/lib/cucumber/events/test_case_created.rb +1 -2
- data/lib/cucumber/events/test_case_finished.rb +2 -0
- data/lib/cucumber/events/test_case_started.rb +2 -0
- data/lib/cucumber/events/test_run_finished.rb +2 -1
- data/lib/cucumber/events/test_step_created.rb +1 -2
- data/lib/cucumber/events/test_step_finished.rb +2 -0
- data/lib/cucumber/events/test_step_started.rb +2 -0
- data/lib/cucumber/events/undefined_parameter_type.rb +3 -2
- data/lib/cucumber/events.rb +1 -1
- data/lib/cucumber/file_specs.rb +2 -1
- data/lib/cucumber/filters/activate_steps.rb +1 -0
- data/lib/cucumber/filters/retry.rb +20 -1
- data/lib/cucumber/filters/tag_limits/verifier.rb +1 -3
- data/lib/cucumber/filters/tag_limits.rb +1 -3
- data/lib/cucumber/formatter/ansicolor.rb +70 -78
- data/lib/cucumber/formatter/ast_lookup.rb +16 -8
- data/lib/cucumber/formatter/backtrace_filter.rb +2 -1
- data/lib/cucumber/formatter/console.rb +26 -16
- data/lib/cucumber/formatter/console_counts.rb +3 -1
- data/lib/cucumber/formatter/console_issues.rb +10 -3
- data/lib/cucumber/formatter/curl_option_parser.rb +49 -0
- data/lib/cucumber/formatter/duration_extractor.rb +1 -0
- data/lib/cucumber/formatter/errors.rb +3 -0
- data/lib/cucumber/formatter/fail_fast.rb +1 -1
- data/lib/cucumber/formatter/fanout.rb +1 -1
- data/lib/cucumber/formatter/html.rb +2 -0
- data/lib/cucumber/formatter/http_io.rb +10 -137
- data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -1
- data/lib/cucumber/formatter/io.rb +5 -3
- data/lib/cucumber/formatter/io_http_buffer.rb +88 -0
- data/lib/cucumber/formatter/json.rb +10 -12
- data/lib/cucumber/formatter/junit.rb +10 -7
- data/lib/cucumber/formatter/message_builder.rb +24 -8
- data/lib/cucumber/formatter/pretty.rb +24 -10
- data/lib/cucumber/formatter/progress.rb +1 -0
- data/lib/cucumber/formatter/publish_banner_printer.rb +0 -2
- data/lib/cucumber/formatter/query/hook_by_test_step.rb +3 -0
- data/lib/cucumber/formatter/query/pickle_by_test.rb +2 -0
- data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +2 -0
- data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +2 -0
- data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +4 -0
- data/lib/cucumber/formatter/rerun.rb +5 -3
- data/lib/cucumber/formatter/summary.rb +1 -0
- data/lib/cucumber/formatter/unicode.rb +7 -7
- data/lib/cucumber/formatter/url_reporter.rb +3 -1
- data/lib/cucumber/formatter/usage.rb +3 -3
- data/lib/cucumber/gherkin/data_table_parser.rb +1 -0
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +25 -27
- data/lib/cucumber/glue/dsl.rb +20 -25
- data/lib/cucumber/glue/hook.rb +6 -3
- data/lib/cucumber/glue/invoke_in_world.rb +5 -5
- data/lib/cucumber/glue/proto_world.rb +30 -34
- data/lib/cucumber/glue/registry_and_more.rb +15 -25
- data/lib/cucumber/glue/snippet.rb +4 -2
- data/lib/cucumber/glue/step_definition.rb +6 -3
- data/lib/cucumber/glue/world_factory.rb +2 -0
- data/lib/cucumber/hooks.rb +1 -0
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +4 -1
- data/lib/cucumber/multiline_argument/data_table.rb +68 -80
- data/lib/cucumber/platform.rb +11 -16
- data/lib/cucumber/rake/task.rb +22 -15
- data/lib/cucumber/rspec/disable_option_parser.rb +6 -3
- data/lib/cucumber/running_test_case.rb +2 -1
- data/lib/cucumber/runtime/for_programming_languages.rb +1 -2
- data/lib/cucumber/runtime/meta_message_builder.rb +108 -0
- data/lib/cucumber/runtime/support_code.rb +3 -0
- data/lib/cucumber/runtime/user_interface.rb +7 -6
- data/lib/cucumber/runtime.rb +22 -38
- data/lib/cucumber/step_match.rb +6 -4
- data/lib/cucumber/step_match_search.rb +3 -2
- data/lib/cucumber/term/ansicolor.rb +74 -50
- data/lib/cucumber/term/banner.rb +3 -0
- data/lib/cucumber.rb +2 -1
- data/lib/simplecov_setup.rb +1 -1
- metadata +95 -244
- data/CHANGELOG.md +0 -3131
- data/CONTRIBUTING.md +0 -250
- data/lib/autotest/cucumber.rb +0 -8
- data/lib/autotest/cucumber_mixin.rb +0 -130
- data/lib/autotest/cucumber_rails.rb +0 -8
- data/lib/autotest/cucumber_rails_rspec.rb +0 -8
- data/lib/autotest/cucumber_rails_rspec2.rb +0 -8
- data/lib/autotest/cucumber_rspec.rb +0 -8
- data/lib/autotest/cucumber_rspec2.rb +0 -8
- data/lib/autotest/discover.rb +0 -13
- data/lib/cucumber/version +0 -1
data/CONTRIBUTING.md
DELETED
@@ -1,250 +0,0 @@
|
|
1
|
-
# Contributing to Cucumber
|
2
|
-
|
3
|
-
Thank you for considering contributing to Cucumber!
|
4
|
-
|
5
|
-
This document will first introduce different ways to get involved before
|
6
|
-
focusing on how to contribute to the code.
|
7
|
-
|
8
|
-
## Code of Conduct
|
9
|
-
|
10
|
-
Everyone interacting in this codebase and issue tracker is expected to follow
|
11
|
-
the Cucumber [code of conduct](https://cucumber.io/conduct).
|
12
|
-
|
13
|
-
## How can I contribute?
|
14
|
-
|
15
|
-
If you're reading this, you are certainly looking to contribute to the code. Cucumber
|
16
|
-
is not this single repository. It is made up of several packages around several
|
17
|
-
repositories. So before going further with the code, you may consider the
|
18
|
-
following first, in order to get your bearings.
|
19
|
-
|
20
|
-
If you just want to know how to contribute to the code, go to
|
21
|
-
[Contribute to the code](#contribute-to-the-code).
|
22
|
-
|
23
|
-
If you want to report an issue, or suggest an enhancement, go to
|
24
|
-
[Report bugs and submit feature requests](#report-bugs-and-submit-feature-requests).
|
25
|
-
|
26
|
-
### Meet the community, the maintainers, and other Cucumber developers
|
27
|
-
|
28
|
-
Smartbear hosts a [community message board].
|
29
|
-
This is a good place to meet users, the community, and to ask questions.
|
30
|
-
|
31
|
-
You can also join the Cucumber Community Slack:
|
32
|
-
[register for an account][register-slack] then head over to [#intro][slack-intro].
|
33
|
-
This is the place to be to meet other contributors and find a mentor to help you
|
34
|
-
get started.
|
35
|
-
|
36
|
-
### Test Cucumber
|
37
|
-
|
38
|
-
Testing Cucumber, especially new features, is a great way to contribute. We
|
39
|
-
cannot put a price on (early) feedback.
|
40
|
-
|
41
|
-
Keep an eye on our CHANGELOGS to discover new features. Test and experiment, and
|
42
|
-
submit your feedback through [issues](#report-bugs-and-submit-feature-requests),
|
43
|
-
the [community message board], or [Slack][community-slack].
|
44
|
-
|
45
|
-
### Contribute to the documentation
|
46
|
-
|
47
|
-
[The documentation][cucumber-docs] is an important part of Cucumber. It is
|
48
|
-
essential that it remains simple and accurate. You can contribute to it via
|
49
|
-
[github.com/cucumber/docs](https://github.com/cucumber/docs).
|
50
|
-
|
51
|
-
### Promote Cucumber
|
52
|
-
|
53
|
-
You don't know how to contribute but would like to help? Telling other people
|
54
|
-
about Cucumber on the Internet - social media, reviews, blogs - but also in real
|
55
|
-
life is already a big help! Join us on [Slack][community-slack] to share your
|
56
|
-
publication and to discover new ones.
|
57
|
-
|
58
|
-
## Report bugs and submit feature requests
|
59
|
-
|
60
|
-
The short version is:
|
61
|
-
|
62
|
-
- Find the appropriate repository
|
63
|
-
- Try to check there is not already an issue or pull request that deals with
|
64
|
-
your bug or request
|
65
|
-
- Explain your issue and include as much details as possible to help other
|
66
|
-
people reproduce your problem or understand your request
|
67
|
-
- Consider submitting a pull request if you feel confident enough
|
68
|
-
|
69
|
-
You can find more details for each of these steps in the following sections.
|
70
|
-
|
71
|
-
### Find the appropriate repository
|
72
|
-
|
73
|
-
The current repository, `cucumber-ruby`, is actually the tip of the iceberg. It
|
74
|
-
provides a user interface through a CLI, some built-in formatters, and the
|
75
|
-
execution environment you may know as the `World` object.
|
76
|
-
|
77
|
-
An important repository is [cucumber/common]. It is a mono-repo
|
78
|
-
with a lot of libraries. You will find there what is related to:
|
79
|
-
|
80
|
-
- parsing Gherkin documents - aka `.feature` files
|
81
|
-
- parsing tag expressions - the options you use to filter an execution with tags
|
82
|
-
- parsing Cucumber expressions - the expressions that link a Gherkin step to a
|
83
|
-
step definition
|
84
|
-
- everyting related to the HTML formatter
|
85
|
-
|
86
|
-
`cucumber-ruby` is also composed of:
|
87
|
-
|
88
|
-
- [cucumber-ruby-core]: this is the engine that will execute the test cases
|
89
|
-
computed from a parsed Gherkin document
|
90
|
-
- [cucumber-ruby-wire]: everything related to the Cucumber's wire protocol
|
91
|
-
|
92
|
-
Last but not least, there is also a repository for [cucumber-rails], the gem
|
93
|
-
that brings Cucumber to Rails 5.x and 6.x.
|
94
|
-
|
95
|
-
In any case, if your are not sure, best places to open an issue are the current
|
96
|
-
repository - `cucumber-ruby` - and the mono-repo at [cucumber/common].
|
97
|
-
|
98
|
-
### Look for existing issues and pull requests
|
99
|
-
|
100
|
-
Search in [the current repository][cucumber-ruby-issues], in the
|
101
|
-
[mono-repo][cucumber/common-issues], but also in the
|
102
|
-
[whole cucumber organization][cucumber-issues] if the problem or feature has already
|
103
|
-
been reported. If you find an issue or pull request which is still open, add
|
104
|
-
comments to it instead of opening a new one.
|
105
|
-
|
106
|
-
If you're not sure, don't hesitate to just open a new issue. We can always merge
|
107
|
-
and de-duplicate later.
|
108
|
-
|
109
|
-
### Submitting a pull request
|
110
|
-
|
111
|
-
When submitting a pull request:
|
112
|
-
|
113
|
-
- create a [draft pull request][how-to-create-a-draft-pr]
|
114
|
-
- try to follow the instructions in the [template](.github/PULL_REQUEST_TEMPLATE.md)
|
115
|
-
- if possible, [sign your commits]
|
116
|
-
- update CHANGELOG.md with your changes
|
117
|
-
- once the PR is ready, request for reviews
|
118
|
-
|
119
|
-
More info on [how to contribute to the code](#contribute-to-the-code) can be
|
120
|
-
found below.
|
121
|
-
|
122
|
-
### Opening a new issue
|
123
|
-
|
124
|
-
To open a good issue, be clear and precise.
|
125
|
-
|
126
|
-
If you report a problem, the reader must be able to reproduce it easily.
|
127
|
-
Please do your best to create a [minimal, reproducible example][minimal-reproducible-example].
|
128
|
-
|
129
|
-
Consider submitting a pull request. Even if you think you cannot fix it by
|
130
|
-
yourself, a pull request with a failing test is always welcome.
|
131
|
-
|
132
|
-
If you request is for an enhancement - a new feature - try to be specific and
|
133
|
-
support your request with referenced facts and include examples to illustrate
|
134
|
-
your proposal.
|
135
|
-
|
136
|
-
## Contribute to the code
|
137
|
-
|
138
|
-
### Development environment
|
139
|
-
|
140
|
-
Development environment for `cucumber-ruby` is a simple Ruby environment with
|
141
|
-
Bundler. Use a [supported Ruby version](./README.md#supported-platforms), make
|
142
|
-
sure [Bundler] is set-up, and voilà!
|
143
|
-
|
144
|
-
You can then [fork][how-to-fork] and clone the repository. If your environment
|
145
|
-
is set-up properly, the following commands should install the dependencies and
|
146
|
-
execute all the tests successfully.
|
147
|
-
|
148
|
-
```shell
|
149
|
-
bundle install
|
150
|
-
bundle exec rake
|
151
|
-
```
|
152
|
-
|
153
|
-
You can now create a branch for your changes and [submit a pull request](#submitting-a-pull-request)!
|
154
|
-
|
155
|
-
If you want to check the code coverage during your development, execute
|
156
|
-
`bundle exec rake cov`.
|
157
|
-
|
158
|
-
### Cucumber-ruby-core
|
159
|
-
|
160
|
-
As seen here: [Find the appropriate repository](#find-the-appropriate-repository),
|
161
|
-
you may need to work with other repositories in order to accomplish your
|
162
|
-
development. Beside the mono-repo in [cucumber/common], [cucumber-ruby-core] is
|
163
|
-
also a big piece of `cucumber-ruby`.
|
164
|
-
|
165
|
-
### Using a local Gemfile
|
166
|
-
|
167
|
-
A local Gemfile allows you to use your prefer set of gems for your own
|
168
|
-
development workflow, like gems dedicated to debugging. Such gems are not part
|
169
|
-
of `cucumber-ruby` standard `Gemfile`.
|
170
|
-
|
171
|
-
`Gemfile.local`, `Gemfile.local.lock` and `.bundle` have been added to
|
172
|
-
`.gitignore` so local changes cannot be accidentaly commited and pushed to the
|
173
|
-
repository.
|
174
|
-
|
175
|
-
A `Gemfile.local` may look like this:
|
176
|
-
|
177
|
-
```ruby
|
178
|
-
# Gemfile.local
|
179
|
-
|
180
|
-
# Include the regular Gemfile
|
181
|
-
eval File.read('Gemfile')
|
182
|
-
|
183
|
-
# Include your favorites development gems
|
184
|
-
group :development do
|
185
|
-
gem 'byebug'
|
186
|
-
gem 'pry'
|
187
|
-
gem 'pry-byebug'
|
188
|
-
|
189
|
-
gem 'debase', require: false
|
190
|
-
gem 'ruby-debug-ide', require: false
|
191
|
-
end
|
192
|
-
```
|
193
|
-
|
194
|
-
Then you can execute bundler with the `--gemfile` flag:
|
195
|
-
`bundle install --gemfile Gemfile.local`, or with an environment variable:
|
196
|
-
`BUNDLE_GEMFILE=Gemfile.local bundle [COMMAND]`.
|
197
|
-
|
198
|
-
To use your local Gemfile per default, you can also execute
|
199
|
-
`bundle config set --local gemfile Gemfile.local`.
|
200
|
-
|
201
|
-
### First timer? Welcome!
|
202
|
-
|
203
|
-
Looking for something simple to begin with? Look at issues with the label
|
204
|
-
'[good first issue](https://github.com/cucumber/cucumber-ruby/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)'.
|
205
|
-
|
206
|
-
Remember: Cucumber is more than `cucumber-ruby`. You can look for good first
|
207
|
-
issues in [other cucumber reporistories](#find-the-appropriate-repository).
|
208
|
-
|
209
|
-
### Having trouble getting started with the code? We're here to help!
|
210
|
-
|
211
|
-
If you have trouble setting-up your development environment, or getting started
|
212
|
-
with the code, you can join us on [Slack][community-slack]. You will find there
|
213
|
-
a lot of contributors.
|
214
|
-
|
215
|
-
Full-time maintainers are also available. We would be please to have 1:1 pairing
|
216
|
-
sessions to help you getting started. Look for
|
217
|
-
[Matt Wynne](https://cucumberbdd.slack.com/team/U590XDLF3) or
|
218
|
-
[Aurélien Reeves](https://cucumberbdd.slack.com/team/U011BB95MC7) on
|
219
|
-
[Slack][community-slack].
|
220
|
-
|
221
|
-
### Additional documentation and notice
|
222
|
-
|
223
|
-
You can find additional documentation in the [docs](./docs) directory such as
|
224
|
-
(non-exhaustive list):
|
225
|
-
|
226
|
-
- [How to release cucumber-ruby](./docs/RELEASE_PROCESS.md) (for maintainers)
|
227
|
-
- [How to set-up a launch.json configuration for Visual Studio Code](./docs/vscode-example-launch-configuration.md)
|
228
|
-
|
229
|
-
|
230
|
-
<!-- Links -->
|
231
|
-
|
232
|
-
[community message board]: https://community.smartbear.com/t5/Cucumber-Open/bd-p/CucumberOS
|
233
|
-
[register-slack]: https://cucumberbdd-slack-invite.herokuapp.com/
|
234
|
-
[slack-intro]: https://cucumberbdd.slack.com/messages/C5WD8SA21/
|
235
|
-
[community-slack]: https://cucumberbdd.slack.com/
|
236
|
-
[cucumber-docs]: https://cucumber.io/docs/cucumber
|
237
|
-
[cucumber/common]: https://github.com/cucumber/common
|
238
|
-
[cucumber-ruby-core]: https://github.com/cucumber/cucumber-ruby-core
|
239
|
-
[cucumber-ruby-wire]: https://github.com/cucumber/cucumber-ruby-wire
|
240
|
-
[cucumber-rails]: https://github.com/cucumber/cucumber-rails
|
241
|
-
[cucumber-ruby-issues]: https://github.com/cucumber/cucumber-ruby/search?q=is%3Aissue
|
242
|
-
[cucumber/common-issues]: https://github.com/cucumber/common/search?q=is%3Aissue
|
243
|
-
[cucumber-issues]: https://github.com/search?q=is%3Aissue+user%3Acucumber
|
244
|
-
[how-to-create-a-draft-pr]: https://docs.github.com/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests
|
245
|
-
[how-to-fork]: https://docs.github.com/github/collaborating-with-pull-requests/working-with-forks/about-forks
|
246
|
-
[sign your commits]: https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification/signing-commits
|
247
|
-
[minimal-reproducible-example]: https://stackoverflow.com/help/minimal-reproducible-example
|
248
|
-
[RVM]: https://rvm.io/
|
249
|
-
[rbenv]: https://github.com/rbenv/rbenv
|
250
|
-
[Bundler]: https://bundler.io/
|
data/lib/autotest/cucumber.rb
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'autotest'
|
4
|
-
require 'tempfile'
|
5
|
-
require 'cucumber'
|
6
|
-
require 'cucumber/cli/profile_loader'
|
7
|
-
|
8
|
-
module Autotest::CucumberMixin
|
9
|
-
def self.included(receiver)
|
10
|
-
receiver::ALL_HOOKS << %i[run_features ran_features]
|
11
|
-
end
|
12
|
-
|
13
|
-
attr_accessor :features_to_run
|
14
|
-
|
15
|
-
def initialize
|
16
|
-
super
|
17
|
-
reset_features
|
18
|
-
end
|
19
|
-
|
20
|
-
def run
|
21
|
-
hook :initialize
|
22
|
-
reset
|
23
|
-
reset_features
|
24
|
-
add_sigint_handler
|
25
|
-
|
26
|
-
loop do # ^c handler
|
27
|
-
get_to_green
|
28
|
-
if tainted
|
29
|
-
rerun_all_tests
|
30
|
-
rerun_all_features if all_good
|
31
|
-
else
|
32
|
-
hook :all_good
|
33
|
-
end
|
34
|
-
wait_for_changes
|
35
|
-
# Once tests and features are green, reset features every
|
36
|
-
# time a file is changed to see if anything breaks.
|
37
|
-
reset_features
|
38
|
-
rescue Interrupt
|
39
|
-
break if wants_to_quit
|
40
|
-
reset
|
41
|
-
reset_features
|
42
|
-
end
|
43
|
-
hook :quit
|
44
|
-
end
|
45
|
-
|
46
|
-
def all_features_good
|
47
|
-
features_to_run == ''
|
48
|
-
end
|
49
|
-
|
50
|
-
def get_to_green # rubocop:disable Naming/AccessorMethodName
|
51
|
-
loop do
|
52
|
-
super
|
53
|
-
run_features
|
54
|
-
wait_for_changes unless all_features_good
|
55
|
-
break if all_features_good
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def rerun_all_features
|
60
|
-
reset_features
|
61
|
-
run_features
|
62
|
-
end
|
63
|
-
|
64
|
-
def reset_features
|
65
|
-
self.features_to_run = :all
|
66
|
-
end
|
67
|
-
|
68
|
-
def run_features
|
69
|
-
hook :run_features
|
70
|
-
Tempfile.open('autotest-cucumber') do |dirty_features_file|
|
71
|
-
cmd = make_cucumber_cmd(features_to_run, dirty_features_file.path)
|
72
|
-
break if cmd.empty?
|
73
|
-
old_sync = $stdout.sync
|
74
|
-
$stdout.sync = true
|
75
|
-
self.results = []
|
76
|
-
line = []
|
77
|
-
begin
|
78
|
-
open("| #{cmd}", 'r') do |f| # rubocop:disable Security/Open
|
79
|
-
until f.eof?
|
80
|
-
c = f.getc || break
|
81
|
-
print(c)
|
82
|
-
line << c
|
83
|
-
next unless c == "\n"
|
84
|
-
results << line.join
|
85
|
-
line.clear
|
86
|
-
end
|
87
|
-
end
|
88
|
-
ensure
|
89
|
-
$stdout.sync = old_sync
|
90
|
-
end
|
91
|
-
self.features_to_run = dirty_features_file.read.strip
|
92
|
-
self.tainted = true unless features_to_run == ''
|
93
|
-
end
|
94
|
-
hook :ran_features
|
95
|
-
end
|
96
|
-
|
97
|
-
def make_cucumber_cmd(features_to_run, _dirty_features_filename)
|
98
|
-
return '' if features_to_run.empty?
|
99
|
-
|
100
|
-
profile_loader = Cucumber::Cli::ProfileLoader.new
|
101
|
-
|
102
|
-
profile = profile(profile_loader)
|
103
|
-
|
104
|
-
args = created_args(features_to_run, profile)
|
105
|
-
|
106
|
-
"#{Cucumber::RUBY_BINARY} #{Cucumber::BINARY} #{args}"
|
107
|
-
end
|
108
|
-
|
109
|
-
def profile(profile_loader)
|
110
|
-
profile ||= 'autotest-all' if profile_loader.profile?('autotest-all') && features_to_run == :all
|
111
|
-
profile ||= 'autotest' if profile_loader.profile?('autotest')
|
112
|
-
profile || nil
|
113
|
-
end
|
114
|
-
|
115
|
-
def created_args(features_to_run, profile)
|
116
|
-
args = if profile
|
117
|
-
['--profile', profile]
|
118
|
-
else
|
119
|
-
%w[--format] << (features_to_run == :all ? 'progress' : 'pretty')
|
120
|
-
end
|
121
|
-
# No --color option as some IDEs (Netbeans) don't output them very well ([31m1 failed step[0m)
|
122
|
-
args += %w[--format rerun --out] << dirty_features_filename
|
123
|
-
args << (features_to_run == :all ? '' : features_to_run)
|
124
|
-
|
125
|
-
# All steps becom undefined during rerun unless the following is run.
|
126
|
-
args << 'features/step_definitions' << 'features/support' unless features_to_run == :all
|
127
|
-
|
128
|
-
args.join(' ')
|
129
|
-
end
|
130
|
-
end
|
data/lib/autotest/discover.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Autotest.add_discovery do
|
4
|
-
if File.directory?('features')
|
5
|
-
if ENV['AUTOFEATURE'] =~ /true/i
|
6
|
-
'cucumber'
|
7
|
-
elsif ENV['AUTOFEATURE'] =~ /false/i
|
8
|
-
# noop
|
9
|
-
else
|
10
|
-
puts '(Not running features. To run features in autotest, set AUTOFEATURE=true.)'
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
data/lib/cucumber/version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
7.1.0
|