aruba 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +29 -8
  3. data/.rubocop_todo.yml +100 -146
  4. data/CHANGELOG.md +23 -1
  5. data/CONTRIBUTING.md +0 -8
  6. data/Gemfile +3 -1
  7. data/Rakefile +6 -4
  8. data/appveyor.yml +0 -1
  9. data/aruba.gemspec +7 -4
  10. data/fixtures/cli-app/cli-app.gemspec +3 -2
  11. data/fixtures/cli-app/spec/spec_helper.rb +2 -1
  12. data/fixtures/empty-app/cli-app.gemspec +3 -2
  13. data/lib/aruba/api/bundler.rb +1 -1
  14. data/lib/aruba/api/commands.rb +8 -11
  15. data/lib/aruba/api/core.rb +48 -33
  16. data/lib/aruba/api/environment.rb +12 -4
  17. data/lib/aruba/api/filesystem.rb +27 -23
  18. data/lib/aruba/api/text.rb +15 -3
  19. data/lib/aruba/basic_configuration.rb +5 -6
  20. data/lib/aruba/basic_configuration/option.rb +2 -2
  21. data/lib/aruba/cli.rb +4 -1
  22. data/lib/aruba/config_wrapper.rb +17 -2
  23. data/lib/aruba/configuration.rb +27 -12
  24. data/lib/aruba/console.rb +0 -2
  25. data/lib/aruba/console/help.rb +5 -2
  26. data/lib/aruba/contracts/absolute_path.rb +1 -1
  27. data/lib/aruba/contracts/is_power_of_two.rb +2 -2
  28. data/lib/aruba/contracts/relative_path.rb +1 -1
  29. data/lib/aruba/cucumber/command.rb +83 -64
  30. data/lib/aruba/cucumber/file.rb +42 -22
  31. data/lib/aruba/cucumber/hooks.rb +4 -1
  32. data/lib/aruba/cucumber/testing_frameworks.rb +14 -12
  33. data/lib/aruba/event_bus.rb +4 -2
  34. data/lib/aruba/event_bus/name_resolver.rb +9 -8
  35. data/lib/aruba/events.rb +2 -1
  36. data/lib/aruba/hooks.rb +2 -4
  37. data/lib/aruba/in_config_wrapper.rb +8 -5
  38. data/lib/aruba/initializer.rb +5 -3
  39. data/lib/aruba/matchers/base/base_matcher.rb +2 -11
  40. data/lib/aruba/matchers/base/object_formatter.rb +0 -3
  41. data/lib/aruba/matchers/collection/include_an_object.rb +4 -4
  42. data/lib/aruba/matchers/command/be_successfully_executed.rb +3 -1
  43. data/lib/aruba/matchers/command/have_exit_status.rb +3 -1
  44. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -1
  45. data/lib/aruba/matchers/command/have_output.rb +3 -1
  46. data/lib/aruba/matchers/command/have_output_on_stderr.rb +3 -1
  47. data/lib/aruba/matchers/command/have_output_on_stdout.rb +3 -1
  48. data/lib/aruba/matchers/directory/have_sub_directory.rb +8 -3
  49. data/lib/aruba/matchers/file/have_file_size.rb +4 -2
  50. data/lib/aruba/matchers/path/have_permissions.rb +4 -2
  51. data/lib/aruba/platforms/announcer.rb +18 -6
  52. data/lib/aruba/platforms/aruba_file_creator.rb +3 -1
  53. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +7 -2
  54. data/lib/aruba/platforms/command_monitor.rb +3 -3
  55. data/lib/aruba/platforms/unix_environment_variables.rb +2 -4
  56. data/lib/aruba/platforms/unix_which.rb +1 -1
  57. data/lib/aruba/platforms/windows_environment_variables.rb +2 -1
  58. data/lib/aruba/platforms/windows_which.rb +6 -2
  59. data/lib/aruba/processes/debug_process.rb +4 -2
  60. data/lib/aruba/processes/in_process.rb +4 -2
  61. data/lib/aruba/processes/spawn_process.rb +18 -10
  62. data/lib/aruba/rspec.rb +25 -15
  63. data/lib/aruba/runtime.rb +11 -4
  64. data/lib/aruba/setup.rb +23 -10
  65. data/lib/aruba/tasks/docker_helpers.rb +3 -1
  66. data/lib/aruba/version.rb +1 -1
  67. metadata +22 -8
@@ -42,14 +42,16 @@ module Aruba
42
42
  def initialize(opts = {})
43
43
  @event_bus = EventBus.new(EventBus::NameResolver.new(Aruba::Events))
44
44
  @announcer = opts.fetch(:announcer, Aruba.platform.announcer.new)
45
- @config = opts.fetch(:config, ConfigWrapper.new(Aruba.config.make_copy, @event_bus))
45
+ @config = opts.fetch(:config,
46
+ ConfigWrapper.new(Aruba.config.make_copy, @event_bus))
46
47
  @environment = opts.fetch(:environment, Aruba.platform.environment_variables.new)
47
48
  @current_directory = ArubaPath.new(@config.working_directory)
48
49
  @root_directory = ArubaPath.new(@config.root_directory)
49
50
 
50
51
  @environment.update(@config.command_runtime_environment)
51
52
 
52
- @command_monitor = opts.fetch(:command_monitor, Aruba.platform.command_monitor.new(announcer: @announcer))
53
+ @command_monitor = opts.fetch(:command_monitor,
54
+ Aruba.platform.command_monitor.new(announcer: @announcer))
53
55
 
54
56
  @logger = opts.fetch(:logger, Aruba.platform.logger.new)
55
57
  @logger.mode = @config.log_level
@@ -81,12 +83,17 @@ module Aruba
81
83
  candidates = config.fixtures_directories.map { |dir| File.join(root_directory, dir) }
82
84
  directory = candidates.find { |d| Aruba.platform.directory? d }
83
85
 
84
- fail "No existing fixtures directory found in #{candidates.map { |d| format('"%s"', d) }.join(', ')}." unless directory
86
+ unless directory
87
+ canditates_display = candidates.map { |d| format('"%s"', d) }.join(', ')
88
+ raise "No existing fixtures directory found in #{canditates_display}."
89
+ end
85
90
 
86
91
  directory
87
92
  end
88
93
 
89
- fail %(Fixtures directory "#{@fixtures_directory}" is not a directory) unless Aruba.platform.directory?(@fixtures_directory)
94
+ unless Aruba.platform.directory?(@fixtures_directory)
95
+ raise %(Fixtures directory "#{@fixtures_directory}" is not a directory)
96
+ end
90
97
 
91
98
  ArubaPath.new(@fixtures_directory)
92
99
  end
@@ -25,13 +25,15 @@ module Aruba
25
25
 
26
26
  def working_directory(clobber = true)
27
27
  if clobber
28
- Aruba.platform.rm File.join(runtime.config.root_directory, runtime.config.working_directory), force: true
28
+ Aruba.platform.rm File.join(runtime.config.root_directory,
29
+ runtime.config.working_directory),
30
+ force: true
29
31
  end
30
- Aruba.platform.mkdir File.join(runtime.config.root_directory, runtime.config.working_directory)
32
+ Aruba.platform.mkdir File.join(runtime.config.root_directory,
33
+ runtime.config.working_directory)
31
34
  Aruba.platform.chdir runtime.config.root_directory
32
35
  end
33
36
 
34
- # rubocop:disable Metrics/MethodLength
35
37
  def events
36
38
  runtime.event_bus.register(
37
39
  :command_started,
@@ -39,7 +41,8 @@ module Aruba
39
41
  runtime.announcer.announce(:command) { event.entity.commandline }
40
42
  runtime.announcer.announce(:timeout, 'exit') { event.entity.exit_timeout }
41
43
  runtime.announcer.announce(:timeout, 'io wait') { event.entity.io_wait_timeout }
42
- runtime.announcer.announce(:wait_time, 'startup wait time') { event.entity.startup_wait_time }
44
+ runtime.announcer
45
+ .announce(:wait_time, 'startup wait time') { event.entity.startup_wait_time }
43
46
  runtime.announcer.announce(:full_environment) { event.entity.environment }
44
47
  end
45
48
  )
@@ -58,7 +61,8 @@ module Aruba
58
61
  runtime.announcer.announce(:stdout) { event.entity.stdout }
59
62
  runtime.announcer.announce(:stderr) { event.entity.stderr }
60
63
  runtime.announcer.announce(:command_content) { event.entity.content }
61
- runtime.announcer.announce(:command_filesystem_status) { event.entity.filesystem_status }
64
+ runtime.announcer
65
+ .announce(:command_filesystem_status) { event.entity.filesystem_status }
62
66
  end
63
67
  )
64
68
 
@@ -70,10 +74,16 @@ module Aruba
70
74
  )
71
75
 
72
76
  runtime.event_bus.register(
73
- [:changed_environment_variable, :added_environment_variable, :deleted_environment_variable],
77
+ [:changed_environment_variable,
78
+ :added_environment_variable,
79
+ :deleted_environment_variable],
74
80
  proc do |event|
75
- runtime.announcer.announce :changed_environment, event.entity[:changed][:name], event.entity[:changed][:value]
76
- runtime.announcer.announce :environment, event.entity[:changed][:name], event.entity[:changed][:value]
81
+ runtime.announcer.announce :changed_environment,
82
+ event.entity[:changed][:name],
83
+ event.entity[:changed][:value]
84
+ runtime.announcer.announce :environment,
85
+ event.entity[:changed][:name],
86
+ event.entity[:changed][:value]
77
87
  end
78
88
  )
79
89
 
@@ -84,9 +94,12 @@ module Aruba
84
94
 
85
95
  runtime.event_bus.register(
86
96
  :changed_configuration,
87
- proc { |event| runtime.announcer.announce :configuration, event.entity[:changed][:name], event.entity[:changed][:value] }
97
+ proc { |event|
98
+ runtime.announcer.announce :configuration,
99
+ event.entity[:changed][:name],
100
+ event.entity[:changed][:value]
101
+ }
88
102
  )
89
103
  end
90
- # rubocop:enable Metrics/MethodLength
91
104
  end
92
105
  end
@@ -14,7 +14,9 @@ module Aruba
14
14
  end
15
15
 
16
16
  def method_missing(m, *_args)
17
- @file.public_send m, instance
17
+ return @file.public_send m, instance if @file.respond_to?(m)
18
+
19
+ super
18
20
  end
19
21
 
20
22
  def respond_to_missing?(m)
@@ -1,3 +1,3 @@
1
1
  module Aruba
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '1.0.1'.freeze
3
3
  end
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: 1.0.0
4
+ version: 1.0.1
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: 2020-02-16 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: childprocess
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: '2.4'
48
48
  - - "<"
49
49
  - !ruby/object:Gem::Version
50
- version: '4.0'
50
+ version: '5.0'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: '2.4'
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: '4.0'
60
+ version: '5.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: ffi
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -190,14 +190,14 @@ dependencies:
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: 0.79.0
193
+ version: 0.84.0
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: 0.79.0
200
+ version: 0.84.0
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: rubocop-performance
203
203
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +212,20 @@ dependencies:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
214
  version: '1.5'
215
+ - !ruby/object:Gem::Dependency
216
+ name: rubocop-rspec
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '1.39'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.39'
215
229
  - !ruby/object:Gem::Dependency
216
230
  name: simplecov
217
231
  requirement: !ruby/object:Gem::Requirement
@@ -240,7 +254,7 @@ dependencies:
240
254
  - - "~>"
241
255
  - !ruby/object:Gem::Version
242
256
  version: 0.0.7
243
- description: |-
257
+ description: |
244
258
  Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest",
245
259
  to make testing commandline applications meaningful, easy and fun.
246
260
  email: cukes@googlegroups.com
@@ -439,5 +453,5 @@ requirements: []
439
453
  rubygems_version: 3.1.2
440
454
  signing_key:
441
455
  specification_version: 4
442
- summary: aruba-1.0.0
456
+ summary: aruba-1.0.1
443
457
  test_files: []