aruba 1.1.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/cucumber/aruba/main/LICENSE)
|
2
|
-
[![Docs](https://img.shields.io/badge/cucumber.pro-aruba-3d10af.svg)](https://app.cucumber.pro/projects/aruba)
|
3
2
|
[![Gem Version](https://badge.fury.io/rb/aruba.svg)](http://badge.fury.io/rb/aruba)
|
4
|
-
[![Code Climate](https://codeclimate.com/github/cucumber/aruba.svg)](https://codeclimate.com/github/cucumber/aruba)
|
5
3
|
[![Support](https://img.shields.io/badge/cucumber-support-orange.svg)](https://cucumber.io/support)
|
6
|
-
|
7
|
-
[![Travis CI build status](https://travis-ci.org/cucumber/aruba.svg)](https://travis-ci.org/cucumber/aruba)
|
8
|
-
[![Appveyor build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba)
|
4
|
+
[![Build Status](https://github.com/cucumber/aruba/actions/workflows/ruby.yml/badge.svg)](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: []
|