aruba 1.1.2 → 2.0.0
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 +36 -2
- data/README.md +7 -11
- data/lib/aruba/api/core.rb +15 -11
- data/lib/aruba/api/filesystem.rb +0 -6
- data/lib/aruba/cucumber.rb +1 -0
- data/lib/aruba/cucumber/command.rb +157 -113
- data/lib/aruba/cucumber/parameter_types.rb +1 -0
- data/lib/aruba/event_bus/name_resolver.rb +1 -1
- data/lib/aruba/platforms/unix_platform.rb +1 -1
- data/lib/aruba/platforms/windows_environment_variables.rb +1 -1
- data/lib/aruba/platforms/windows_platform.rb +1 -3
- data/lib/aruba/platforms/windows_which.rb +1 -1
- data/lib/aruba/version.rb +1 -1
- metadata +16 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 274e6609a41e03eb74e7fa94a41c6165f5db84e5cff6787c8793afdde8c56cef
|
4
|
+
data.tar.gz: 1252caf02a2a758f334ce58e8da97c21015e7477cfb8266695ae7b54b2db6e57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: afa76ddef7027ba2e46f5db09114a9430b520f970ef03a8fb4989ffd383abece8629f20e3ea0ca657037b9a68b1a7cb8fff383342fced0ea4841a204c6b4389d
|
7
|
+
data.tar.gz: c3c7ef6f78b7a67e8a8cb44edd7ca7c72ee5fda00601ceee4eceba5663fb782a575933949b89389242454cef176e6ca89579380943c98a363e76db54fde5ba2c
|
data/CHANGELOG.md
CHANGED
@@ -6,7 +6,20 @@ This project adheres to [Semantic Versioning][1].
|
|
6
6
|
|
7
7
|
This document is formatted according to the principles of [Keep A CHANGELOG][2].
|
8
8
|
|
9
|
-
## [
|
9
|
+
## [2.0.0] / 2021-07-26
|
10
|
+
|
11
|
+
Potentially breaking changes:
|
12
|
+
|
13
|
+
* Bump miminum cucumber version to 4 ([#814] by [mvz])
|
14
|
+
* Drop support for Ruby 2.4 ([#820] by [mvz])
|
15
|
+
* Remove deprecated ability to append to non-existent file ([#829] by [mvz])
|
16
|
+
* Make absolute file name warning an error ([#783] by [mvz])
|
17
|
+
|
18
|
+
Other changes
|
19
|
+
|
20
|
+
* Use Ruby's built-in windows platform detection ([#813] by [mvz])
|
21
|
+
* Update some step definitions to use Cucumber Expression syntax ([#822] by [mvz])
|
22
|
+
* Update cucumber dependency to allow use of cucumber 7 ([#828] by [dependabot])
|
10
23
|
|
11
24
|
## [1.1.2] / 2021-06-20
|
12
25
|
|
@@ -981,9 +994,29 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
|
|
981
994
|
|
982
995
|
<!-- issues & pull requests -->
|
983
996
|
|
997
|
+
[#829]: https://github.com/cucumber/aruba/pull/829
|
998
|
+
[#828]: https://github.com/cucumber/aruba/pull/828
|
999
|
+
[#822]: https://github.com/cucumber/aruba/pull/822
|
1000
|
+
[#820]: https://github.com/cucumber/aruba/pull/820
|
1001
|
+
[#814]: https://github.com/cucumber/aruba/pull/814
|
1002
|
+
[#813]: https://github.com/cucumber/aruba/pull/813
|
984
1003
|
[#810]: https://github.com/cucumber/aruba/pull/810
|
985
1004
|
[#804]: https://github.com/cucumber/aruba/pull/804
|
986
1005
|
[#801]: https://github.com/cucumber/aruba/pull/801
|
1006
|
+
[#783]: https://github.com/cucumber/aruba/pull/783
|
1007
|
+
[#781]: https://github.com/cucumber/aruba/pull/781
|
1008
|
+
[#780]: https://github.com/cucumber/aruba/pull/780
|
1009
|
+
[#772]: https://github.com/cucumber/aruba/pull/772
|
1010
|
+
[#771]: https://github.com/cucumber/aruba/pull/771
|
1011
|
+
[#769]: https://github.com/cucumber/aruba/pull/769
|
1012
|
+
[#767]: https://github.com/cucumber/aruba/pull/767
|
1013
|
+
[#766]: https://github.com/cucumber/aruba/pull/766
|
1014
|
+
[#763]: https://github.com/cucumber/aruba/pull/763
|
1015
|
+
[#751]: https://github.com/cucumber/aruba/pull/751
|
1016
|
+
[#750]: https://github.com/cucumber/aruba/pull/750
|
1017
|
+
[#748]: https://github.com/cucumber/aruba/pull/748
|
1018
|
+
[#738]: https://github.com/cucumber/aruba/pull/738
|
1019
|
+
[#737]: https://github.com/cucumber/aruba/pull/737
|
987
1020
|
[#727]: https://github.com/cucumber/aruba/pull/727
|
988
1021
|
[#725]: https://github.com/cucumber/aruba/pull/725
|
989
1022
|
[#724]: https://github.com/cucumber/aruba/pull/724
|
@@ -1262,7 +1295,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
|
|
1262
1295
|
|
1263
1296
|
<!-- Releases -->
|
1264
1297
|
|
1265
|
-
[Unreleased]: https://github.com/cucumber/aruba/compare/
|
1298
|
+
[Unreleased]: https://github.com/cucumber/aruba/compare/v2.0.0...main
|
1299
|
+
[2.0.0]: https://github.com/cucumber/aruba/compare/v1.1.2...v2.0.0
|
1266
1300
|
[1.1.2]: https://github.com/cucumber/aruba/compare/v1.1.1...v1.1.2
|
1267
1301
|
[1.1.1]: https://github.com/cucumber/aruba/compare/v1.1.0...v1.1.1
|
1268
1302
|
[1.1.0]: https://github.com/cucumber/aruba/compare/v1.0.4...v1.1.0
|
data/README.md
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
[](https://raw.githubusercontent.com/cucumber/aruba/main/LICENSE)
|
2
|
-
[](https://app.cucumber.pro/projects/aruba)
|
3
2
|
[](http://badge.fury.io/rb/aruba)
|
4
|
-
[](https://codeclimate.com/github/cucumber/aruba)
|
5
3
|
[](https://cucumber.io/support)
|
6
|
-
|
7
|
-
[](https://travis-ci.org/cucumber/aruba)
|
8
|
-
[](https://ci.appveyor.com/project/cucumberbdd/aruba)
|
4
|
+
[](https://github.com/cucumber/aruba/actions/workflows/ruby.yml)
|
9
5
|
|
10
6
|
## Install
|
11
7
|
|
@@ -77,8 +73,8 @@ We try to comply with [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.
|
|
77
73
|
|
78
74
|
## Supported Ruby versions
|
79
75
|
|
80
|
-
Aruba is supported on Ruby 2.
|
81
|
-
|
76
|
+
Aruba is supported on Ruby 2.5 and up, and tested against CRuby 2.5, 2.6 and
|
77
|
+
2.7, and JRuby 9.2.
|
82
78
|
|
83
79
|
## Supported operating systems
|
84
80
|
|
@@ -91,10 +87,10 @@ Please see the [CONTRIBUTING](CONTRIBUTING.md) file.
|
|
91
87
|
|
92
88
|
## Code branches
|
93
89
|
|
94
|
-
Development takes place in the `main` branch and currently targets the
|
95
|
-
releases. If necessary, maintenance of the old
|
96
|
-
|
97
|
-
necessary.
|
90
|
+
Development takes place in the `main` branch and currently targets the 2.x
|
91
|
+
releases. If necessary, maintenance of the old 1.1.x releases will take place
|
92
|
+
in a `1-1-stable` branch, and of 0.14.x releases in the `0-14-stable` branch.
|
93
|
+
Stable branches will not be created until absolutely necessary.
|
98
94
|
|
99
95
|
## License
|
100
96
|
|
data/lib/aruba/api/core.rb
CHANGED
@@ -117,34 +117,36 @@ module Aruba
|
|
117
117
|
#
|
118
118
|
# @example Single file name
|
119
119
|
#
|
120
|
-
# # => <path>/tmp/aruba/file
|
121
120
|
# expand_path('file')
|
121
|
+
# # => <path>/tmp/aruba/file
|
122
122
|
#
|
123
123
|
# @example Single Dot
|
124
124
|
#
|
125
|
-
# # => <path>/tmp/aruba
|
126
125
|
# expand_path('.')
|
126
|
+
# # => <path>/tmp/aruba
|
127
127
|
#
|
128
128
|
# @example using home directory
|
129
129
|
#
|
130
|
-
# # => <path>/home/<name>/file
|
131
130
|
# expand_path('~/file')
|
131
|
+
# # => <path>/home/<name>/file
|
132
132
|
#
|
133
133
|
# @example using fixtures directory
|
134
134
|
#
|
135
|
-
# # => <path>/test/fixtures/file
|
136
135
|
# expand_path('%/file')
|
136
|
+
# # => <path>/test/fixtures/file
|
137
137
|
#
|
138
|
-
# @example Absolute directory
|
138
|
+
# @example Absolute directory (requires aruba.config.allow_absolute_paths
|
139
|
+
# to be set)
|
139
140
|
#
|
140
|
-
# # => /foo/bar
|
141
141
|
# expand_path('/foo/bar')
|
142
|
+
# # => /foo/bar
|
142
143
|
#
|
143
144
|
def expand_path(file_name, dir_string = nil)
|
144
145
|
unless file_name.is_a?(String) && !file_name.empty?
|
145
146
|
message = "Filename #{file_name} needs to be a string." \
|
146
|
-
|
147
|
-
|
147
|
+
" It cannot be nil or empty either."\
|
148
|
+
" Please use `expand_path('.')` if you want" \
|
149
|
+
" the current directory to be expanded."
|
148
150
|
|
149
151
|
raise ArgumentError, message
|
150
152
|
end
|
@@ -152,12 +154,12 @@ module Aruba
|
|
152
154
|
unless Aruba.platform.directory? File.join(aruba.config.root_directory,
|
153
155
|
aruba.config.working_directory)
|
154
156
|
raise "Aruba's working directory does not exist." \
|
155
|
-
|
157
|
+
" Maybe you forgot to run `setup_aruba` before using its API."
|
156
158
|
end
|
157
159
|
|
158
160
|
prefix = file_name[0]
|
159
161
|
|
160
|
-
if aruba.config.fixtures_path_prefix
|
162
|
+
if prefix == aruba.config.fixtures_path_prefix
|
161
163
|
rest = file_name[2..-1]
|
162
164
|
path = File.join(*[aruba.fixtures_directory, rest].compact)
|
163
165
|
unless Aruba.platform.exist? path
|
@@ -189,11 +191,13 @@ module Aruba
|
|
189
191
|
unless aruba.config.allow_absolute_paths
|
190
192
|
caller_location = caller_locations(1, 1).first
|
191
193
|
caller_file_line = "#{caller_location.path}:#{caller_location.lineno}"
|
192
|
-
|
194
|
+
message =
|
193
195
|
"Aruba's `expand_path` method was called with an absolute path" \
|
194
196
|
" at #{caller_file_line}, which is not recommended." \
|
197
|
+
" The path passed was '#{file_name}'." \
|
195
198
|
" Change the call to pass a relative path or set "\
|
196
199
|
"`config.allow_absolute_paths = true` to silence this warning"
|
200
|
+
raise UserError, message
|
197
201
|
end
|
198
202
|
file_name
|
199
203
|
else
|
data/lib/aruba/api/filesystem.rb
CHANGED
@@ -326,12 +326,6 @@ module Aruba
|
|
326
326
|
def append_to_file(file_name, file_content)
|
327
327
|
file_name = expand_path(file_name)
|
328
328
|
|
329
|
-
unless File.exist? file_name
|
330
|
-
Aruba.platform.deprecated("The ability to call #append_to_file with a file that" \
|
331
|
-
" does not exist is deprecated and will be removed in" \
|
332
|
-
" Aruba 2.0.")
|
333
|
-
Aruba.platform.mkdir(File.dirname(file_name))
|
334
|
-
end
|
335
329
|
File.open(file_name, "a") { |f| f << file_content }
|
336
330
|
end
|
337
331
|
|
data/lib/aruba/cucumber.rb
CHANGED
@@ -32,108 +32,127 @@ When(/^I run `([^`]*)` in background$/) do |cmd|
|
|
32
32
|
run_command(sanitize_text(cmd))
|
33
33
|
end
|
34
34
|
|
35
|
-
When
|
35
|
+
When "I type {string}" do |input|
|
36
36
|
type(unescape_text(input))
|
37
37
|
end
|
38
38
|
|
39
|
-
When
|
39
|
+
When "I close the stdin stream" do
|
40
40
|
close_input
|
41
41
|
end
|
42
42
|
|
43
|
-
When
|
43
|
+
When "I pipe in a/the file( named) {string}" do |file|
|
44
44
|
pipe_in_file(file)
|
45
45
|
|
46
46
|
close_input
|
47
47
|
end
|
48
48
|
|
49
|
-
When
|
50
|
-
|
49
|
+
When "I stop the command started last" do
|
50
|
+
last_command_started.stop
|
51
|
+
end
|
51
52
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
last_command_started
|
56
|
-
end
|
53
|
+
When "I stop the command {string}" do |command|
|
54
|
+
aruba.command_monitor.find(command).stop
|
55
|
+
end
|
57
56
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
57
|
+
When "I terminate the command started last" do
|
58
|
+
last_command_started.terminate
|
59
|
+
end
|
60
|
+
|
61
|
+
When "I terminate the command {string}" do |command|
|
62
|
+
aruba.command_monitor.find(command).terminate
|
63
63
|
end
|
64
64
|
|
65
65
|
When(/^I stop the command(?: started last)? if (output|stdout|stderr) contains:$/) \
|
66
66
|
do |channel, expected|
|
67
|
-
begin
|
68
|
-
Timeout.timeout(aruba.config.exit_timeout) do
|
69
|
-
loop do
|
70
|
-
output = last_command_started.public_send channel.to_sym, wait_for_io: 0
|
71
67
|
|
72
|
-
|
73
|
-
|
68
|
+
Timeout.timeout(aruba.config.exit_timeout) do
|
69
|
+
loop do
|
70
|
+
output = last_command_started.public_send channel.to_sym, wait_for_io: 0
|
74
71
|
|
75
|
-
|
76
|
-
|
72
|
+
output = sanitize_text(output)
|
73
|
+
expected = sanitize_text(expected)
|
77
74
|
|
78
|
-
|
79
|
-
|
75
|
+
if output.include? expected
|
76
|
+
last_command_started.terminate
|
80
77
|
|
81
|
-
|
78
|
+
break
|
82
79
|
end
|
80
|
+
|
81
|
+
sleep 0.1
|
83
82
|
end
|
84
|
-
rescue ChildProcess::TimeoutError, Timeout::Error
|
85
|
-
last_command_started.terminate
|
86
83
|
end
|
84
|
+
rescue ChildProcess::TimeoutError, Timeout::Error
|
85
|
+
last_command_started.terminate
|
87
86
|
end
|
88
87
|
|
89
|
-
When
|
88
|
+
When "I wait for output/stdout to contain" do |expected|
|
90
89
|
Timeout.timeout(aruba.config.exit_timeout) do
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
retry
|
96
|
-
end
|
90
|
+
expect(last_command_started).to have_output an_output_string_including(expected)
|
91
|
+
rescue ExpectationError
|
92
|
+
sleep 0.1
|
93
|
+
retry
|
97
94
|
end
|
98
95
|
end
|
99
96
|
|
100
|
-
When
|
97
|
+
When "I wait for output/stdout to contain {string}" do |expected|
|
101
98
|
Timeout.timeout(aruba.config.exit_timeout) do
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
retry
|
107
|
-
end
|
99
|
+
expect(last_command_started).to have_output an_output_string_including(expected)
|
100
|
+
rescue ExpectationError
|
101
|
+
sleep 0.1
|
102
|
+
retry
|
108
103
|
end
|
109
104
|
end
|
110
105
|
|
111
|
-
Then
|
106
|
+
Then "the output should be {int} bytes long" do |size|
|
112
107
|
expect(last_command_started.output).to have_output_size size.to_i
|
113
108
|
end
|
114
109
|
|
115
110
|
## the stderr should contain "hello"
|
116
|
-
Then(
|
117
|
-
do |channel, negated, exactly, expected|
|
111
|
+
Then "(the ){channel} should contain {string}" do |channel, expected|
|
118
112
|
combined_output = send("all_#{channel}")
|
119
113
|
|
120
|
-
|
121
|
-
|
122
|
-
else
|
123
|
-
:an_output_string_including
|
124
|
-
end
|
114
|
+
expect(combined_output).to include_output_string expected
|
115
|
+
end
|
125
116
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
117
|
+
## the stderr should not contain "hello"
|
118
|
+
Then "(the ){channel} should not contain {string}" do |channel, expected|
|
119
|
+
combined_output = send("all_#{channel}")
|
120
|
+
|
121
|
+
expect(combined_output).not_to include_output_string expected
|
122
|
+
end
|
123
|
+
|
124
|
+
## the stderr should contain exactly "hello"
|
125
|
+
Then "(the ){channel} should contain exactly {string}" do |channel, expected|
|
126
|
+
combined_output = send("all_#{channel}")
|
127
|
+
|
128
|
+
expect(combined_output).to output_string_eq expected
|
129
|
+
end
|
130
|
+
|
131
|
+
## the stderr should not contain exactly "hello"
|
132
|
+
Then "(the ){channel} should not contain exactly {string}" do |channel, expected|
|
133
|
+
combined_output = send("all_#{channel}")
|
134
|
+
|
135
|
+
expect(combined_output).not_to output_string_eq expected
|
131
136
|
end
|
132
137
|
|
133
138
|
## the stderr from "echo -n 'Hello'" should contain "hello"
|
134
|
-
Then(
|
135
|
-
|
136
|
-
|
139
|
+
Then "(the ){channel} from {string} should contain {string}" do |channel, cmd, expected|
|
140
|
+
matcher = case channel
|
141
|
+
when "output"; then :have_output
|
142
|
+
when "stderr"; then :have_output_on_stderr
|
143
|
+
when "stdout"; then :have_output_on_stdout
|
144
|
+
end
|
145
|
+
|
146
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
147
|
+
|
148
|
+
output_string_matcher = :an_output_string_including
|
149
|
+
|
150
|
+
expect(command).to send(matcher, send(output_string_matcher, expected))
|
151
|
+
end
|
152
|
+
|
153
|
+
## the stderr from "echo -n 'Hello'" should contain exactly "hello"
|
154
|
+
Then "(the ){channel} from {string} should contain exactly {string}" \
|
155
|
+
do |channel, cmd, expected|
|
137
156
|
matcher = case channel
|
138
157
|
when "output"; then :have_output
|
139
158
|
when "stderr"; then :have_output_on_stderr
|
@@ -142,19 +161,13 @@ Then(
|
|
142
161
|
|
143
162
|
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
144
163
|
|
145
|
-
output_string_matcher =
|
146
|
-
:an_output_string_being_eq
|
147
|
-
else
|
148
|
-
:an_output_string_including
|
149
|
-
end
|
164
|
+
output_string_matcher = :an_output_string_being_eq
|
150
165
|
|
151
166
|
expect(command).to send(matcher, send(output_string_matcher, expected))
|
152
167
|
end
|
153
168
|
|
154
169
|
## the stderr from "echo -n 'Hello'" should not contain "hello"
|
155
|
-
Then(
|
156
|
-
/^(?:the )?(output|stderr|stdout) from "([^"]*)" should not contain( exactly)? "([^"]*)"$/
|
157
|
-
) do |channel, cmd, exactly, expected|
|
170
|
+
Then "(the ){channel} from {string} should not contain {string}" do |channel, cmd, expected|
|
158
171
|
matcher = case channel
|
159
172
|
when "output"; then :have_output
|
160
173
|
when "stderr"; then :have_output_on_stderr
|
@@ -163,46 +176,72 @@ Then(
|
|
163
176
|
|
164
177
|
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
165
178
|
|
166
|
-
output_string_matcher =
|
167
|
-
:an_output_string_being_eq
|
168
|
-
else
|
169
|
-
:an_output_string_including
|
170
|
-
end
|
179
|
+
output_string_matcher = :an_output_string_including
|
171
180
|
|
172
181
|
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
173
182
|
end
|
174
183
|
|
175
|
-
## the stderr should not contain exactly
|
176
|
-
Then(
|
177
|
-
do |channel,
|
184
|
+
## the stderr from "echo -n 'Hello'" should not contain exactly "hello"
|
185
|
+
Then "(the ){channel} from {string} should not contain exactly {string}" \
|
186
|
+
do |channel, cmd, expected|
|
187
|
+
matcher = case channel
|
188
|
+
when "output"; then :have_output
|
189
|
+
when "stderr"; then :have_output_on_stderr
|
190
|
+
when "stdout"; then :have_output_on_stdout
|
191
|
+
end
|
192
|
+
|
193
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
194
|
+
|
195
|
+
output_string_matcher = :an_output_string_being_eq
|
196
|
+
|
197
|
+
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
198
|
+
end
|
199
|
+
|
200
|
+
## the stderr should contain:
|
201
|
+
Then "(the ){channel} should contain:" do |channel, expected|
|
178
202
|
combined_output = send("all_#{channel}")
|
179
203
|
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
204
|
+
expect(combined_output).to include_output_string(expected)
|
205
|
+
end
|
206
|
+
|
207
|
+
## the stderr should not contain:
|
208
|
+
Then "(the ){channel} should not contain:" do |channel, expected|
|
209
|
+
combined_output = send("all_#{channel}")
|
185
210
|
|
186
|
-
expect(combined_output).not_to
|
211
|
+
expect(combined_output).not_to include_output_string(expected)
|
187
212
|
end
|
188
213
|
|
189
214
|
## the stderr should contain exactly:
|
190
|
-
Then(
|
191
|
-
|
215
|
+
Then "(the ){channel} should contain exactly:" do |channel, expected|
|
216
|
+
combined_output = send("all_#{channel}")
|
217
|
+
|
218
|
+
expect(combined_output).to output_string_eq(expected)
|
219
|
+
end
|
220
|
+
|
221
|
+
## the stderr should not contain exactly:
|
222
|
+
Then "(the ){channel} should not contain exactly:" do |channel, expected|
|
192
223
|
combined_output = send("all_#{channel}")
|
193
224
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
225
|
+
expect(combined_output).not_to output_string_eq(expected)
|
226
|
+
end
|
227
|
+
|
228
|
+
## the stderr from "echo -n 'Hello'" should not contain:
|
229
|
+
Then "(the ){channel} from {string} should not contain:" do |channel, cmd, expected|
|
230
|
+
matcher = case channel
|
231
|
+
when "output"; then :have_output
|
232
|
+
when "stderr"; then :have_output_on_stderr
|
233
|
+
when "stdout"; then :have_output_on_stdout
|
234
|
+
end
|
235
|
+
|
236
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
237
|
+
|
238
|
+
output_string_matcher = :an_output_string_including
|
199
239
|
|
200
|
-
expect(
|
240
|
+
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
201
241
|
end
|
202
242
|
|
203
243
|
## the stderr from "echo -n 'Hello'" should not contain exactly:
|
204
|
-
Then(
|
205
|
-
do |channel, cmd, exactly, expected|
|
244
|
+
Then "(the ){channel} from {string} should not contain exactly:" do |channel, cmd, expected|
|
206
245
|
matcher = case channel
|
207
246
|
when "output"; then :have_output
|
208
247
|
when "stderr"; then :have_output_on_stderr
|
@@ -211,18 +250,28 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should not contain( exactl
|
|
211
250
|
|
212
251
|
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
213
252
|
|
214
|
-
output_string_matcher =
|
215
|
-
:an_output_string_being_eq
|
216
|
-
else
|
217
|
-
:an_output_string_including
|
218
|
-
end
|
253
|
+
output_string_matcher = :an_output_string_being_eq
|
219
254
|
|
220
255
|
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
221
256
|
end
|
222
257
|
|
258
|
+
## the stderr from "echo -n 'Hello'" should contain:
|
259
|
+
Then "(the ){channel} from {string} should contain:" do |channel, cmd, expected|
|
260
|
+
matcher = case channel
|
261
|
+
when "output"; then :have_output
|
262
|
+
when "stderr"; then :have_output_on_stderr
|
263
|
+
when "stdout"; then :have_output_on_stdout
|
264
|
+
end
|
265
|
+
|
266
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
267
|
+
|
268
|
+
output_string_matcher = :an_output_string_including
|
269
|
+
|
270
|
+
expect(command).to send(matcher, send(output_string_matcher, expected))
|
271
|
+
end
|
272
|
+
|
223
273
|
## the stderr from "echo -n 'Hello'" should contain exactly:
|
224
|
-
Then(
|
225
|
-
do |channel, cmd, exactly, expected|
|
274
|
+
Then "(the ){channel} from {string} should contain exactly:" do |channel, cmd, expected|
|
226
275
|
matcher = case channel
|
227
276
|
when "output"; then :have_output
|
228
277
|
when "stderr"; then :have_output_on_stderr
|
@@ -231,11 +280,7 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should contain( exactly)?:
|
|
231
280
|
|
232
281
|
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
233
282
|
|
234
|
-
output_string_matcher =
|
235
|
-
:an_output_string_being_eq
|
236
|
-
else
|
237
|
-
:an_output_string_including
|
238
|
-
end
|
283
|
+
output_string_matcher = :an_output_string_being_eq
|
239
284
|
|
240
285
|
expect(command).to send(matcher, send(output_string_matcher, expected))
|
241
286
|
end
|
@@ -419,7 +464,7 @@ Given(/^the (?:default )?aruba exit timeout is ([\d.]+) seconds?$/) do |seconds|
|
|
419
464
|
aruba.config.exit_timeout = seconds.to_f
|
420
465
|
end
|
421
466
|
|
422
|
-
Given(
|
467
|
+
Given "the( default) aruba stop signal is {string}" do |signal|
|
423
468
|
aruba.config.stop_signal = signal
|
424
469
|
end
|
425
470
|
|
@@ -427,18 +472,17 @@ Given(/^I wait ([\d.]+) seconds? for (?:a|the) command to start up$/) do |second
|
|
427
472
|
aruba.config.startup_wait_time = seconds.to_f
|
428
473
|
end
|
429
474
|
|
430
|
-
When
|
431
|
-
|
432
|
-
if
|
433
|
-
cmd = all_commands.find { |c| c.commandline == command }
|
434
|
-
raise ArgumentError, %(No command "#{command}" found) if cmd.nil?
|
475
|
+
When "I send the signal {string} to the command {string}" do |signal, command|
|
476
|
+
cmd = all_commands.find { |c| c.commandline == command }
|
477
|
+
raise ArgumentError, %(No command "#{command}" found) if cmd.nil?
|
435
478
|
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
479
|
+
cmd.send_signal signal
|
480
|
+
end
|
481
|
+
|
482
|
+
When "I send the signal {string} to the command started last" do |signal|
|
483
|
+
last_command_started.send_signal signal
|
440
484
|
end
|
441
485
|
|
442
|
-
Given
|
486
|
+
Given "I look for executables in {string} within the current directory" do |directory|
|
443
487
|
prepend_environment_variable "PATH", expand_path(directory) + File::PATH_SEPARATOR
|
444
488
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
ParameterType(name: "channel", regexp: "output|stderr|stdout", transformer: ->(name) { name })
|
@@ -150,7 +150,7 @@ module Aruba
|
|
150
150
|
rescue StandardError => e
|
151
151
|
types = @resolvers.map(&:supports).flatten.join(", ")
|
152
152
|
message = "Transforming \"#{event_id}\" into an event class failed." \
|
153
|
-
|
153
|
+
" Supported types are: #{types}. #{e.message}."
|
154
154
|
raise EventNameResolveError, message, cause: e
|
155
155
|
end
|
156
156
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require "cucumber/platform"
|
2
|
-
|
3
1
|
require "aruba/platforms/unix_platform"
|
4
2
|
require "aruba/platforms/windows_command_string"
|
5
3
|
require "aruba/platforms/windows_environment_variables"
|
@@ -20,7 +18,7 @@ module Aruba
|
|
20
18
|
# @private
|
21
19
|
class WindowsPlatform < UnixPlatform
|
22
20
|
def self.match?
|
23
|
-
|
21
|
+
Gem.win_platform?
|
24
22
|
end
|
25
23
|
|
26
24
|
# @see UnixPlatform#command_string
|
@@ -49,7 +49,7 @@ module Aruba
|
|
49
49
|
file = File.join(dir, program)
|
50
50
|
# Dir[] doesn't handle backslashes properly, so convert them. Also, if
|
51
51
|
# the program name doesn't have an extension, try them all.
|
52
|
-
file = file.tr(
|
52
|
+
file = file.tr("\\", "/")
|
53
53
|
|
54
54
|
found = Dir[file].first
|
55
55
|
|
data/lib/aruba/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aruba
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy, Matt Wynne and other Aruba Contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -76,20 +76,20 @@ dependencies:
|
|
76
76
|
requirements:
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
79
|
+
version: '4.0'
|
80
80
|
- - "<"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '8.0'
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '4.0'
|
90
90
|
- - "<"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '8.0'
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rspec-expectations
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,14 +242,14 @@ dependencies:
|
|
242
242
|
requirements:
|
243
243
|
- - "~>"
|
244
244
|
- !ruby/object:Gem::Version
|
245
|
-
version: 1.
|
245
|
+
version: 1.18.0
|
246
246
|
type: :development
|
247
247
|
prerelease: false
|
248
248
|
version_requirements: !ruby/object:Gem::Requirement
|
249
249
|
requirements:
|
250
250
|
- - "~>"
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
version: 1.
|
252
|
+
version: 1.18.0
|
253
253
|
- !ruby/object:Gem::Dependency
|
254
254
|
name: rubocop-packaging
|
255
255
|
requirement: !ruby/object:Gem::Requirement
|
@@ -270,28 +270,28 @@ dependencies:
|
|
270
270
|
requirements:
|
271
271
|
- - "~>"
|
272
272
|
- !ruby/object:Gem::Version
|
273
|
-
version: 1.
|
273
|
+
version: 1.11.3
|
274
274
|
type: :development
|
275
275
|
prerelease: false
|
276
276
|
version_requirements: !ruby/object:Gem::Requirement
|
277
277
|
requirements:
|
278
278
|
- - "~>"
|
279
279
|
- !ruby/object:Gem::Version
|
280
|
-
version: 1.
|
280
|
+
version: 1.11.3
|
281
281
|
- !ruby/object:Gem::Dependency
|
282
282
|
name: rubocop-rspec
|
283
283
|
requirement: !ruby/object:Gem::Requirement
|
284
284
|
requirements:
|
285
285
|
- - "~>"
|
286
286
|
- !ruby/object:Gem::Version
|
287
|
-
version: 2.
|
287
|
+
version: 2.4.0
|
288
288
|
type: :development
|
289
289
|
prerelease: false
|
290
290
|
version_requirements: !ruby/object:Gem::Requirement
|
291
291
|
requirements:
|
292
292
|
- - "~>"
|
293
293
|
- !ruby/object:Gem::Version
|
294
|
-
version: 2.
|
294
|
+
version: 2.4.0
|
295
295
|
- !ruby/object:Gem::Dependency
|
296
296
|
name: simplecov
|
297
297
|
requirement: !ruby/object:Gem::Requirement
|
@@ -372,6 +372,7 @@ files:
|
|
372
372
|
- lib/aruba/cucumber/environment.rb
|
373
373
|
- lib/aruba/cucumber/file.rb
|
374
374
|
- lib/aruba/cucumber/hooks.rb
|
375
|
+
- lib/aruba/cucumber/parameter_types.rb
|
375
376
|
- lib/aruba/cucumber/testing_frameworks.rb
|
376
377
|
- lib/aruba/errors.rb
|
377
378
|
- lib/aruba/event_bus.rb
|
@@ -464,15 +465,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
464
465
|
requirements:
|
465
466
|
- - ">="
|
466
467
|
- !ruby/object:Gem::Version
|
467
|
-
version: '2.
|
468
|
+
version: '2.5'
|
468
469
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
469
470
|
requirements:
|
470
471
|
- - ">="
|
471
472
|
- !ruby/object:Gem::Version
|
472
473
|
version: '0'
|
473
474
|
requirements: []
|
474
|
-
rubygems_version: 3.2.
|
475
|
+
rubygems_version: 3.2.22
|
475
476
|
signing_key:
|
476
477
|
specification_version: 4
|
477
|
-
summary: aruba-
|
478
|
+
summary: aruba-2.0.0
|
478
479
|
test_files: []
|