aruba 2.4.0 → 3.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 +97 -7
- data/CONTRIBUTING.md +55 -33
- data/README.md +11 -9
- data/lib/aruba/api/bundler.rb +1 -5
- data/lib/aruba/api/commands.rb +29 -40
- data/lib/aruba/api/core.rb +2 -13
- data/lib/aruba/api/filesystem.rb +24 -44
- data/lib/aruba/api/text.rb +5 -2
- data/lib/aruba/aruba_logger.rb +3 -6
- data/lib/aruba/basic_configuration/option.rb +1 -7
- data/lib/aruba/basic_configuration.rb +7 -13
- data/lib/aruba/cli.rb +0 -6
- data/lib/aruba/command.rb +16 -16
- data/lib/aruba/command_monitor.rb +2 -4
- data/lib/aruba/configuration.rb +32 -20
- data/lib/aruba/cucumber/command.rb +32 -119
- data/lib/aruba/cucumber/environment.rb +0 -4
- data/lib/aruba/cucumber/file.rb +10 -10
- data/lib/aruba/cucumber/hooks.rb +12 -15
- data/lib/aruba/cucumber.rb +0 -1
- data/lib/aruba/events.rb +50 -14
- data/lib/aruba/generators/script_file.rb +5 -5
- data/lib/aruba/initializer.rb +7 -2
- data/lib/aruba/matchers/base/message_indenter.rb +0 -1
- data/lib/aruba/matchers/command/have_output.rb +1 -1
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +1 -1
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +1 -1
- data/lib/aruba/matchers/command/have_output_size.rb +7 -20
- data/lib/aruba/matchers/string/match_output_string.rb +0 -2
- data/lib/aruba/platforms/unix_platform.rb +3 -3
- data/lib/aruba/platforms/unix_which.rb +2 -4
- data/lib/aruba/platforms/windows_which.rb +2 -4
- data/lib/aruba/processes/basic_process.rb +4 -4
- data/lib/aruba/processes/debug_process.rb +2 -1
- data/lib/aruba/processes/in_process.rb +3 -1
- data/lib/aruba/processes/spawn_process.rb +32 -21
- data/lib/aruba/rspec.rb +18 -25
- data/lib/aruba/runtime.rb +39 -21
- data/lib/aruba/setup.rb +20 -21
- data/lib/aruba/version.rb +1 -1
- metadata +79 -69
- data/lib/aruba/console/help.rb +0 -34
- data/lib/aruba/console.rb +0 -67
- data/lib/aruba/contracts/absolute_path.rb +0 -22
- data/lib/aruba/contracts/enum.rb +0 -29
- data/lib/aruba/contracts/is_power_of_two.rb +0 -24
- data/lib/aruba/contracts/relative_path.rb +0 -22
- data/lib/aruba/cucumber/testing_frameworks.rb +0 -219
- data/lib/aruba/matchers/string/include_output_string.rb +0 -36
- data/lib/aruba/matchers/string/output_string_eq.rb +0 -35
data/lib/aruba/runtime.rb
CHANGED
|
@@ -17,9 +17,15 @@ module Aruba
|
|
|
17
17
|
# @!attribute [r] current_directory
|
|
18
18
|
# Returns the current working directory
|
|
19
19
|
#
|
|
20
|
+
# @!attribute [r] working_directory
|
|
21
|
+
# Returns the working directory
|
|
22
|
+
#
|
|
20
23
|
# @!attribute [r] root_directory
|
|
21
24
|
# Returns the root directory of aruba
|
|
22
|
-
|
|
25
|
+
#
|
|
26
|
+
# @!attribute [r] home_directory
|
|
27
|
+
# Returns the home directory used to mock HOME by aruba
|
|
28
|
+
attr_reader :current_directory, :working_directory, :root_directory, :home_directory
|
|
23
29
|
|
|
24
30
|
# @!attribute [r] config
|
|
25
31
|
# Access configuration of aruba
|
|
@@ -39,40 +45,46 @@ module Aruba
|
|
|
39
45
|
# @!attribute [r] event_bus
|
|
40
46
|
# Handle events (private)
|
|
41
47
|
#
|
|
42
|
-
|
|
48
|
+
attr_reader :config, :environment, :logger, :command_monitor, :announcer, :event_bus
|
|
43
49
|
|
|
44
|
-
def initialize(
|
|
50
|
+
def initialize(config: Aruba.config)
|
|
45
51
|
@event_bus = EventBus.new(Aruba::Events.registry)
|
|
46
|
-
@announcer =
|
|
47
|
-
@config =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@
|
|
51
|
-
@root_directory = ArubaPath.new(@config.root_directory)
|
|
52
|
+
@announcer = Aruba.platform.announcer.new
|
|
53
|
+
@config = ConfigWrapper.new(config.make_copy, @event_bus)
|
|
54
|
+
@environment = Aruba.platform.environment_variables.new
|
|
55
|
+
|
|
56
|
+
@root_directory = ArubaPath.new(@config.root_directory)
|
|
52
57
|
|
|
53
58
|
@environment.update(@config.command_runtime_environment)
|
|
54
59
|
|
|
55
|
-
@command_monitor =
|
|
56
|
-
Aruba.platform.command_monitor.new(announcer: @announcer))
|
|
60
|
+
@command_monitor = Aruba.platform.command_monitor.new(announcer: @announcer)
|
|
57
61
|
|
|
58
|
-
@logger =
|
|
62
|
+
@logger = Aruba.platform.logger.new
|
|
59
63
|
@logger.mode = @config.log_level
|
|
60
64
|
|
|
65
|
+
@setup = Aruba::Setup.new(self)
|
|
61
66
|
@setup_done = false
|
|
62
67
|
end
|
|
63
68
|
|
|
64
|
-
#
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
# Set up Aruba's workspace and event bus. Cleans out the workspace as well.
|
|
70
|
+
def setup
|
|
71
|
+
return if @setup_done
|
|
72
|
+
|
|
73
|
+
@setup.setup
|
|
74
|
+
|
|
75
|
+
@home_directory = @setup.workspace_directory
|
|
76
|
+
@working_directory = Pathname.new(@home_directory)
|
|
77
|
+
.relative_path_from(@config.root_directory).to_s
|
|
78
|
+
@current_directory = ArubaPath.new(@working_directory)
|
|
79
|
+
|
|
68
80
|
@setup_done = true
|
|
69
81
|
end
|
|
70
82
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
@setup_done
|
|
83
|
+
def teardown
|
|
84
|
+
return unless @setup_done
|
|
85
|
+
|
|
86
|
+
@setup.teardown
|
|
87
|
+
@setup_done = false
|
|
76
88
|
end
|
|
77
89
|
|
|
78
90
|
# The path to the directory which contains fixtures
|
|
@@ -99,5 +111,11 @@ module Aruba
|
|
|
99
111
|
|
|
100
112
|
ArubaPath.new(@fixtures_directory)
|
|
101
113
|
end
|
|
114
|
+
|
|
115
|
+
private
|
|
116
|
+
|
|
117
|
+
def setup_already_done?
|
|
118
|
+
@setup_done == true
|
|
119
|
+
end
|
|
102
120
|
end
|
|
103
121
|
end
|
data/lib/aruba/setup.rb
CHANGED
|
@@ -2,40 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
module Aruba
|
|
4
4
|
class Setup
|
|
5
|
-
private
|
|
6
|
-
|
|
7
|
-
attr_reader :runtime
|
|
8
|
-
|
|
9
|
-
public
|
|
10
|
-
|
|
11
5
|
def initialize(runtime)
|
|
12
6
|
@runtime = runtime
|
|
13
7
|
end
|
|
14
8
|
|
|
15
|
-
def
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
working_directory(clobber)
|
|
9
|
+
def setup
|
|
10
|
+
create_workspace
|
|
19
11
|
register_event_handlers
|
|
12
|
+
end
|
|
20
13
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
self
|
|
14
|
+
def teardown
|
|
15
|
+
destroy_workspace
|
|
24
16
|
end
|
|
25
17
|
|
|
18
|
+
attr_reader :workspace_directory
|
|
19
|
+
|
|
26
20
|
private
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Aruba.platform.mkdir
|
|
35
|
-
|
|
22
|
+
attr_reader :runtime
|
|
23
|
+
|
|
24
|
+
def create_workspace
|
|
25
|
+
workspace_base = File.join(runtime.config.root_directory, 'tmp')
|
|
26
|
+
prefix = "#{runtime.config.working_directory_suffix}-"
|
|
27
|
+
|
|
28
|
+
Aruba.platform.mkdir workspace_base
|
|
29
|
+
@workspace_directory = Dir.mktmpdir(prefix, workspace_base)
|
|
30
|
+
|
|
36
31
|
Aruba.platform.chdir runtime.config.root_directory
|
|
37
32
|
end
|
|
38
33
|
|
|
34
|
+
def destroy_workspace
|
|
35
|
+
Aruba.platform.rm workspace_directory, force: true
|
|
36
|
+
end
|
|
37
|
+
|
|
39
38
|
def handle_command_started(event)
|
|
40
39
|
runtime.announcer.announce(:command) { event.entity.commandline }
|
|
41
40
|
runtime.announcer.announce(:timeout, 'exit') { event.entity.exit_timeout }
|
data/lib/aruba/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aruba
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aslak Hellesøy, Matt Wynne and other Aruba Contributors
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: bundler
|
|
@@ -16,14 +15,14 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">="
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
18
|
+
version: 2.20.0
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - ">="
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
25
|
+
version: 2.20.0
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: contracts
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -45,39 +44,45 @@ dependencies:
|
|
|
45
44
|
- !ruby/object:Gem::Version
|
|
46
45
|
version: 0.18.0
|
|
47
46
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: cucumber
|
|
47
|
+
name: cucumber-core
|
|
49
48
|
requirement: !ruby/object:Gem::Requirement
|
|
50
49
|
requirements:
|
|
51
50
|
- - ">="
|
|
52
51
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '
|
|
52
|
+
version: '16.0'
|
|
54
53
|
- - "<"
|
|
55
54
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: '
|
|
55
|
+
version: '21.0'
|
|
57
56
|
type: :runtime
|
|
58
57
|
prerelease: false
|
|
59
58
|
version_requirements: !ruby/object:Gem::Requirement
|
|
60
59
|
requirements:
|
|
61
60
|
- - ">="
|
|
62
61
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: '
|
|
62
|
+
version: '16.0'
|
|
64
63
|
- - "<"
|
|
65
64
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: '
|
|
65
|
+
version: '21.0'
|
|
67
66
|
- !ruby/object:Gem::Dependency
|
|
68
|
-
name:
|
|
67
|
+
name: marcel
|
|
69
68
|
requirement: !ruby/object:Gem::Requirement
|
|
70
69
|
requirements:
|
|
71
|
-
- - "
|
|
70
|
+
- - ">="
|
|
72
71
|
- !ruby/object:Gem::Version
|
|
73
|
-
version: '1.
|
|
72
|
+
version: '1.2'
|
|
73
|
+
- - "<"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '3.0'
|
|
74
76
|
type: :runtime
|
|
75
77
|
prerelease: false
|
|
76
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
77
79
|
requirements:
|
|
78
|
-
- - "
|
|
80
|
+
- - ">="
|
|
79
81
|
- !ruby/object:Gem::Version
|
|
80
|
-
version: '1.
|
|
82
|
+
version: '1.2'
|
|
83
|
+
- - "<"
|
|
84
|
+
- !ruby/object:Gem::Version
|
|
85
|
+
version: '3.0'
|
|
81
86
|
- !ruby/object:Gem::Dependency
|
|
82
87
|
name: rspec-expectations
|
|
83
88
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -98,6 +103,20 @@ dependencies:
|
|
|
98
103
|
- - "<"
|
|
99
104
|
- !ruby/object:Gem::Version
|
|
100
105
|
version: '5.0'
|
|
106
|
+
- !ruby/object:Gem::Dependency
|
|
107
|
+
name: tempfile
|
|
108
|
+
requirement: !ruby/object:Gem::Requirement
|
|
109
|
+
requirements:
|
|
110
|
+
- - "~>"
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: 0.3.1
|
|
113
|
+
type: :runtime
|
|
114
|
+
prerelease: false
|
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - "~>"
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: 0.3.1
|
|
101
120
|
- !ruby/object:Gem::Dependency
|
|
102
121
|
name: thor
|
|
103
122
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -126,6 +145,26 @@ dependencies:
|
|
|
126
145
|
- - "~>"
|
|
127
146
|
- !ruby/object:Gem::Version
|
|
128
147
|
version: '2.4'
|
|
148
|
+
- !ruby/object:Gem::Dependency
|
|
149
|
+
name: cucumber
|
|
150
|
+
requirement: !ruby/object:Gem::Requirement
|
|
151
|
+
requirements:
|
|
152
|
+
- - ">="
|
|
153
|
+
- !ruby/object:Gem::Version
|
|
154
|
+
version: '11.0'
|
|
155
|
+
- - "<"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '13.0'
|
|
158
|
+
type: :development
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - ">="
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '11.0'
|
|
165
|
+
- - "<"
|
|
166
|
+
- !ruby/object:Gem::Version
|
|
167
|
+
version: '13.0'
|
|
129
168
|
- !ruby/object:Gem::Dependency
|
|
130
169
|
name: diff-lcs
|
|
131
170
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -141,19 +180,19 @@ dependencies:
|
|
|
141
180
|
- !ruby/object:Gem::Version
|
|
142
181
|
version: '1.6'
|
|
143
182
|
- !ruby/object:Gem::Dependency
|
|
144
|
-
name:
|
|
183
|
+
name: irb
|
|
145
184
|
requirement: !ruby/object:Gem::Requirement
|
|
146
185
|
requirements:
|
|
147
186
|
- - "~>"
|
|
148
187
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: '
|
|
188
|
+
version: '1.16'
|
|
150
189
|
type: :development
|
|
151
190
|
prerelease: false
|
|
152
191
|
version_requirements: !ruby/object:Gem::Requirement
|
|
153
192
|
requirements:
|
|
154
193
|
- - "~>"
|
|
155
194
|
- !ruby/object:Gem::Version
|
|
156
|
-
version: '
|
|
195
|
+
version: '1.16'
|
|
157
196
|
- !ruby/object:Gem::Dependency
|
|
158
197
|
name: kramdown
|
|
159
198
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -172,42 +211,30 @@ dependencies:
|
|
|
172
211
|
name: minitest
|
|
173
212
|
requirement: !ruby/object:Gem::Requirement
|
|
174
213
|
requirements:
|
|
175
|
-
- - "
|
|
176
|
-
- !ruby/object:Gem::Version
|
|
177
|
-
version: '5.26'
|
|
178
|
-
- - "<"
|
|
214
|
+
- - "~>"
|
|
179
215
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '
|
|
216
|
+
version: '6.0'
|
|
181
217
|
type: :development
|
|
182
218
|
prerelease: false
|
|
183
219
|
version_requirements: !ruby/object:Gem::Requirement
|
|
184
220
|
requirements:
|
|
185
|
-
- - "
|
|
186
|
-
- !ruby/object:Gem::Version
|
|
187
|
-
version: '5.26'
|
|
188
|
-
- - "<"
|
|
221
|
+
- - "~>"
|
|
189
222
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: '
|
|
223
|
+
version: '6.0'
|
|
191
224
|
- !ruby/object:Gem::Dependency
|
|
192
225
|
name: rake
|
|
193
226
|
requirement: !ruby/object:Gem::Requirement
|
|
194
227
|
requirements:
|
|
195
|
-
- - "
|
|
196
|
-
- !ruby/object:Gem::Version
|
|
197
|
-
version: '12.0'
|
|
198
|
-
- - "<"
|
|
228
|
+
- - "~>"
|
|
199
229
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '
|
|
230
|
+
version: '13.0'
|
|
201
231
|
type: :development
|
|
202
232
|
prerelease: false
|
|
203
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
204
234
|
requirements:
|
|
205
|
-
- - "
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
207
|
-
version: '12.0'
|
|
208
|
-
- - "<"
|
|
235
|
+
- - "~>"
|
|
209
236
|
- !ruby/object:Gem::Version
|
|
210
|
-
version: '
|
|
237
|
+
version: '13.0'
|
|
211
238
|
- !ruby/object:Gem::Dependency
|
|
212
239
|
name: rake-manifest
|
|
213
240
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,14 +275,14 @@ dependencies:
|
|
|
248
275
|
requirements:
|
|
249
276
|
- - "~>"
|
|
250
277
|
- !ruby/object:Gem::Version
|
|
251
|
-
version: '1.
|
|
278
|
+
version: '1.92'
|
|
252
279
|
type: :development
|
|
253
280
|
prerelease: false
|
|
254
281
|
version_requirements: !ruby/object:Gem::Requirement
|
|
255
282
|
requirements:
|
|
256
283
|
- - "~>"
|
|
257
284
|
- !ruby/object:Gem::Version
|
|
258
|
-
version: '1.
|
|
285
|
+
version: '1.92'
|
|
259
286
|
- !ruby/object:Gem::Dependency
|
|
260
287
|
name: rubocop-packaging
|
|
261
288
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -276,48 +303,42 @@ dependencies:
|
|
|
276
303
|
requirements:
|
|
277
304
|
- - "~>"
|
|
278
305
|
- !ruby/object:Gem::Version
|
|
279
|
-
version: '1.
|
|
306
|
+
version: '1.27'
|
|
280
307
|
type: :development
|
|
281
308
|
prerelease: false
|
|
282
309
|
version_requirements: !ruby/object:Gem::Requirement
|
|
283
310
|
requirements:
|
|
284
311
|
- - "~>"
|
|
285
312
|
- !ruby/object:Gem::Version
|
|
286
|
-
version: '1.
|
|
313
|
+
version: '1.27'
|
|
287
314
|
- !ruby/object:Gem::Dependency
|
|
288
315
|
name: rubocop-rspec
|
|
289
316
|
requirement: !ruby/object:Gem::Requirement
|
|
290
317
|
requirements:
|
|
291
318
|
- - "~>"
|
|
292
319
|
- !ruby/object:Gem::Version
|
|
293
|
-
version: '3.
|
|
320
|
+
version: '3.10'
|
|
294
321
|
type: :development
|
|
295
322
|
prerelease: false
|
|
296
323
|
version_requirements: !ruby/object:Gem::Requirement
|
|
297
324
|
requirements:
|
|
298
325
|
- - "~>"
|
|
299
326
|
- !ruby/object:Gem::Version
|
|
300
|
-
version: '3.
|
|
327
|
+
version: '3.10'
|
|
301
328
|
- !ruby/object:Gem::Dependency
|
|
302
329
|
name: simplecov
|
|
303
330
|
requirement: !ruby/object:Gem::Requirement
|
|
304
331
|
requirements:
|
|
305
|
-
- - "
|
|
306
|
-
- !ruby/object:Gem::Version
|
|
307
|
-
version: 0.18.0
|
|
308
|
-
- - "<"
|
|
332
|
+
- - "~>"
|
|
309
333
|
- !ruby/object:Gem::Version
|
|
310
|
-
version:
|
|
334
|
+
version: '1.1'
|
|
311
335
|
type: :development
|
|
312
336
|
prerelease: false
|
|
313
337
|
version_requirements: !ruby/object:Gem::Requirement
|
|
314
338
|
requirements:
|
|
315
|
-
- - "
|
|
316
|
-
- !ruby/object:Gem::Version
|
|
317
|
-
version: 0.18.0
|
|
318
|
-
- - "<"
|
|
339
|
+
- - "~>"
|
|
319
340
|
- !ruby/object:Gem::Version
|
|
320
|
-
version:
|
|
341
|
+
version: '1.1'
|
|
321
342
|
description: |
|
|
322
343
|
Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest",
|
|
323
344
|
to make testing command line applications meaningful, easy and fun.
|
|
@@ -328,8 +349,8 @@ extensions: []
|
|
|
328
349
|
extra_rdoc_files:
|
|
329
350
|
- CHANGELOG.md
|
|
330
351
|
- CONTRIBUTING.md
|
|
331
|
-
- README.md
|
|
332
352
|
- LICENSE
|
|
353
|
+
- README.md
|
|
333
354
|
files:
|
|
334
355
|
- CHANGELOG.md
|
|
335
356
|
- CONTRIBUTING.md
|
|
@@ -355,19 +376,12 @@ files:
|
|
|
355
376
|
- lib/aruba/config/jruby.rb
|
|
356
377
|
- lib/aruba/config_wrapper.rb
|
|
357
378
|
- lib/aruba/configuration.rb
|
|
358
|
-
- lib/aruba/console.rb
|
|
359
|
-
- lib/aruba/console/help.rb
|
|
360
|
-
- lib/aruba/contracts/absolute_path.rb
|
|
361
|
-
- lib/aruba/contracts/enum.rb
|
|
362
|
-
- lib/aruba/contracts/is_power_of_two.rb
|
|
363
|
-
- lib/aruba/contracts/relative_path.rb
|
|
364
379
|
- lib/aruba/cucumber.rb
|
|
365
380
|
- lib/aruba/cucumber/command.rb
|
|
366
381
|
- lib/aruba/cucumber/environment.rb
|
|
367
382
|
- lib/aruba/cucumber/file.rb
|
|
368
383
|
- lib/aruba/cucumber/hooks.rb
|
|
369
384
|
- lib/aruba/cucumber/parameter_types.rb
|
|
370
|
-
- lib/aruba/cucumber/testing_frameworks.rb
|
|
371
385
|
- lib/aruba/errors.rb
|
|
372
386
|
- lib/aruba/event_bus.rb
|
|
373
387
|
- lib/aruba/events.rb
|
|
@@ -402,9 +416,7 @@ files:
|
|
|
402
416
|
- lib/aruba/matchers/path/be_an_existing_path.rb
|
|
403
417
|
- lib/aruba/matchers/path/have_permissions.rb
|
|
404
418
|
- lib/aruba/matchers/string.rb
|
|
405
|
-
- lib/aruba/matchers/string/include_output_string.rb
|
|
406
419
|
- lib/aruba/matchers/string/match_output_string.rb
|
|
407
|
-
- lib/aruba/matchers/string/output_string_eq.rb
|
|
408
420
|
- lib/aruba/platform.rb
|
|
409
421
|
- lib/aruba/platforms/announcer.rb
|
|
410
422
|
- lib/aruba/platforms/aruba_file_creator.rb
|
|
@@ -439,7 +451,6 @@ metadata:
|
|
|
439
451
|
documentation_uri: https://www.rubydoc.info/gems/aruba
|
|
440
452
|
homepage_uri: https://github.com/cucumber/aruba
|
|
441
453
|
source_code_uri: https://github.com/cucumber/aruba
|
|
442
|
-
post_install_message:
|
|
443
454
|
rdoc_options:
|
|
444
455
|
- "--charset"
|
|
445
456
|
- UTF-8
|
|
@@ -451,15 +462,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
451
462
|
requirements:
|
|
452
463
|
- - ">="
|
|
453
464
|
- !ruby/object:Gem::Version
|
|
454
|
-
version: 3.
|
|
465
|
+
version: 3.2.0
|
|
455
466
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
456
467
|
requirements:
|
|
457
468
|
- - ">="
|
|
458
469
|
- !ruby/object:Gem::Version
|
|
459
470
|
version: '0'
|
|
460
471
|
requirements: []
|
|
461
|
-
rubygems_version:
|
|
462
|
-
signing_key:
|
|
472
|
+
rubygems_version: 4.0.16
|
|
463
473
|
specification_version: 4
|
|
464
|
-
summary:
|
|
474
|
+
summary: Test command line applications with Cucumber, RSpec or Minitest
|
|
465
475
|
test_files: []
|
data/lib/aruba/console/help.rb
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/api'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Consule
|
|
8
|
-
class Console
|
|
9
|
-
# Helpers for Aruba::Console
|
|
10
|
-
module Help
|
|
11
|
-
# Output help information
|
|
12
|
-
def aruba_help
|
|
13
|
-
puts "Aruba Version: #{Aruba::VERSION}"
|
|
14
|
-
puts 'Issue Tracker: https://github.com/cucumber/aruba/issues'
|
|
15
|
-
puts 'Documentation:'
|
|
16
|
-
puts '* http://www.rubydoc.info/gems/aruba'
|
|
17
|
-
puts
|
|
18
|
-
|
|
19
|
-
nil
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# List available methods in aruba
|
|
23
|
-
def aruba_methods
|
|
24
|
-
ms = (Aruba::Api.instance_methods - Module.instance_methods)
|
|
25
|
-
.each_with_object([]) { |e, a| a << format('* %s', e) }
|
|
26
|
-
.sort
|
|
27
|
-
|
|
28
|
-
puts "Available Methods:\n#{ms.join("\n")}"
|
|
29
|
-
|
|
30
|
-
nil
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
data/lib/aruba/console.rb
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'irb'
|
|
4
|
-
|
|
5
|
-
require 'aruba/api'
|
|
6
|
-
require 'aruba/console/help'
|
|
7
|
-
|
|
8
|
-
# Aruba
|
|
9
|
-
module Aruba
|
|
10
|
-
# Consule
|
|
11
|
-
class Console
|
|
12
|
-
# Start the aruba console
|
|
13
|
-
#
|
|
14
|
-
def start
|
|
15
|
-
# Start IRB with current context:
|
|
16
|
-
# http://stackoverflow.com/questions/4189818/how-to-run-irb-start-in-context-of-current-class
|
|
17
|
-
ARGV.clear
|
|
18
|
-
IRB.setup nil
|
|
19
|
-
|
|
20
|
-
IRB.conf[:IRB_NAME] = 'aruba'
|
|
21
|
-
|
|
22
|
-
IRB.conf[:PROMPT] = {}
|
|
23
|
-
IRB.conf[:PROMPT][:ARUBA] = {
|
|
24
|
-
PROMPT_I: '%N:%03n:%i> ',
|
|
25
|
-
PROMPT_S: '%N:%03n:%i%l ',
|
|
26
|
-
PROMPT_C: '%N:%03n:%i* ',
|
|
27
|
-
RETURN: "# => %s\n"
|
|
28
|
-
}
|
|
29
|
-
IRB.conf[:PROMPT_MODE] = :ARUBA
|
|
30
|
-
|
|
31
|
-
IRB.conf[:RC] = false
|
|
32
|
-
|
|
33
|
-
require 'irb/completion'
|
|
34
|
-
IRB.conf[:READLINE] = true
|
|
35
|
-
IRB.conf[:SAVE_HISTORY] = 1000
|
|
36
|
-
IRB.conf[:HISTORY_FILE] = Aruba.config.console_history_file
|
|
37
|
-
|
|
38
|
-
context = Class.new do
|
|
39
|
-
include Aruba::Api
|
|
40
|
-
include Aruba::Console::Help
|
|
41
|
-
|
|
42
|
-
def initialize
|
|
43
|
-
setup_aruba
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def inspect
|
|
47
|
-
'aruba console'
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
irb = IRB::Irb.new(IRB::WorkSpace.new(context.new))
|
|
52
|
-
IRB.conf[:MAIN_CONTEXT] = irb.context
|
|
53
|
-
|
|
54
|
-
trap('SIGINT') do
|
|
55
|
-
irb.signal_handle
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
begin
|
|
59
|
-
catch(:IRB_EXIT) do
|
|
60
|
-
irb.eval_input
|
|
61
|
-
end
|
|
62
|
-
ensure
|
|
63
|
-
IRB.irb_at_exit
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/platform'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Check if path is absolute
|
|
10
|
-
class AbsolutePath
|
|
11
|
-
# Check
|
|
12
|
-
#
|
|
13
|
-
# @param [Object] value
|
|
14
|
-
# The value to be checked
|
|
15
|
-
def self.valid?(value)
|
|
16
|
-
Aruba.platform.absolute_path? value
|
|
17
|
-
rescue StandardError
|
|
18
|
-
false
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
data/lib/aruba/contracts/enum.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'contracts'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Enum
|
|
10
|
-
class Enum < ::Contracts::CallableClass
|
|
11
|
-
private
|
|
12
|
-
|
|
13
|
-
attr_reader :vals
|
|
14
|
-
|
|
15
|
-
public
|
|
16
|
-
|
|
17
|
-
# Create contract
|
|
18
|
-
def initialize(*vals)
|
|
19
|
-
super()
|
|
20
|
-
@vals = vals
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# Check if value is part of array
|
|
24
|
-
def valid?(val)
|
|
25
|
-
vals.include? val
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'aruba/aruba_path'
|
|
4
|
-
|
|
5
|
-
# Aruba
|
|
6
|
-
module Aruba
|
|
7
|
-
# Contracts
|
|
8
|
-
module Contracts
|
|
9
|
-
# Is value power of two
|
|
10
|
-
class IsPowerOfTwo
|
|
11
|
-
# Check value
|
|
12
|
-
#
|
|
13
|
-
# @param [Integer] value
|
|
14
|
-
# The value to be checked
|
|
15
|
-
def self.valid?(value)
|
|
16
|
-
# explanation for algorithm can be found here:
|
|
17
|
-
# http://www.exploringbinary.com/ten-ways-to-check-if-an-integer-is-a-power-of-two-in-c/
|
|
18
|
-
value.positive? && value.nobits?(value - 1)
|
|
19
|
-
rescue StandardError
|
|
20
|
-
false
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|