aruba 0.14.14 → 1.0.0.pre.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.cucumberproignore +3 -0
- data/.github/ISSUE_TEMPLATE.md +48 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- data/.gitignore +1 -0
- data/.rspec +1 -0
- data/.rubocop.yml +1 -5
- data/.travis.yml +35 -27
- data/CONTRIBUTING.md +131 -29
- data/Dockerfile +67 -0
- data/Gemfile +33 -80
- data/History.md +602 -0
- data/README.md +24 -196
- data/Rakefile +87 -27
- data/appveyor.yml +0 -1
- data/aruba.gemspec +30 -40
- data/bin/bootstrap +34 -0
- data/bin/build +3 -0
- data/{script → bin}/console +0 -0
- data/bin/release +3 -0
- data/bin/test +9 -0
- data/cucumber.yml +1 -3
- data/docker-compose.yml +26 -0
- data/{bin → exec}/aruba +0 -0
- data/fixtures/cli-app/README.md +1 -1
- data/fixtures/cli-app/features/support/aruba.rb +1 -0
- data/fixtures/cli-app/features/support/env.rb +1 -1
- data/fixtures/cli-app/lib/cli/app.rb +1 -5
- data/fixtures/cli-app/spec/spec_helper.rb +1 -6
- data/fixtures/empty-app/lib/cli/app.rb +2 -0
- data/lib/aruba/api.rb +3 -3
- data/lib/aruba/api/{commands.rb → command.rb} +4 -30
- data/lib/aruba/api/core.rb +8 -25
- data/lib/aruba/api/deprecated.rb +150 -408
- data/lib/aruba/api/filesystem.rb +17 -2
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/aruba_path.rb +56 -32
- data/lib/aruba/basic_configuration.rb +3 -5
- data/lib/aruba/colorizer.rb +99 -10
- data/lib/aruba/command.rb +0 -2
- data/lib/aruba/config.rb +5 -5
- data/lib/aruba/config/jruby.rb +5 -15
- data/lib/aruba/console.rb +2 -0
- data/lib/aruba/console/help.rb +1 -7
- data/lib/aruba/cucumber.rb +0 -2
- data/lib/aruba/cucumber/command.rb +98 -72
- data/lib/aruba/cucumber/file.rb +15 -3
- data/lib/aruba/cucumber/hooks.rb +71 -10
- data/lib/aruba/event_bus/name_resolver.rb +2 -10
- data/lib/aruba/generators/script_file.rb +1 -1
- data/lib/aruba/in_process.rb +0 -2
- data/lib/aruba/initializer.rb +4 -14
- data/lib/aruba/matchers/base/object_formatter.rb +0 -5
- data/lib/aruba/matchers/file/have_same_file_content.rb +5 -5
- data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
- data/lib/aruba/platforms/announcer.rb +11 -16
- data/lib/aruba/platforms/aruba_file_creator.rb +1 -5
- data/lib/aruba/platforms/aruba_logger.rb +1 -5
- data/lib/aruba/platforms/command_monitor.rb +10 -14
- data/lib/aruba/platforms/determine_disk_usage.rb +8 -3
- data/lib/aruba/platforms/filesystem_status.rb +1 -5
- data/lib/aruba/platforms/unix_command_string.rb +1 -8
- data/lib/aruba/platforms/unix_environment_variables.rb +6 -8
- data/lib/aruba/platforms/unix_platform.rb +9 -22
- data/lib/aruba/platforms/unix_which.rb +4 -0
- data/lib/aruba/platforms/windows_command_string.rb +6 -14
- data/lib/aruba/platforms/windows_environment_variables.rb +4 -16
- data/lib/aruba/platforms/windows_which.rb +4 -0
- data/lib/aruba/processes/basic_process.rb +22 -18
- data/lib/aruba/processes/spawn_process.rb +12 -35
- data/lib/aruba/rspec.rb +1 -0
- data/lib/aruba/runtime.rb +3 -4
- data/lib/aruba/setup.rb +9 -11
- data/lib/aruba/spawn_process.rb +1 -4
- data/lib/aruba/tasks/docker_helpers.rb +158 -0
- data/lib/aruba/version.rb +1 -1
- metadata +62 -230
- data/CHANGELOG.md +0 -991
- data/features/.nav +0 -72
- data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
- data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
- data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
- data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
- data/features/02_configure_aruba/basics.feature +0 -151
- data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
- data/features/02_configure_aruba/console_history_file.feature +0 -38
- data/features/02_configure_aruba/exit_timeout.feature +0 -60
- data/features/02_configure_aruba/fixtures_directories.feature +0 -38
- data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
- data/features/02_configure_aruba/home_directory.feature +0 -80
- data/features/02_configure_aruba/io_timeout.feature +0 -30
- data/features/02_configure_aruba/keep_ansi.feature +0 -30
- data/features/02_configure_aruba/log_level.feature +0 -38
- data/features/02_configure_aruba/physical_block_size.feature +0 -53
- data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
- data/features/02_configure_aruba/root_directory.feature +0 -30
- data/features/02_configure_aruba/startup_wait_time.feature +0 -48
- data/features/02_configure_aruba/working_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
- data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
- data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
- data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
- data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
- data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
- data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
- data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
- data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
- data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
- data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
- data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
- data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
- data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
- data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
- data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
- data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
- data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
- data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
- data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
- data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
- data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
- data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
- data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
- data/features/04_aruba_api/command/run_command.feature +0 -423
- data/features/04_aruba_api/command/run_simple.feature +0 -254
- data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
- data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
- data/features/04_aruba_api/command/stop_single_command.feature +0 -132
- data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
- data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
- data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
- data/features/04_aruba_api/core/expand_path.feature +0 -88
- data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
- data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
- data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
- data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
- data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
- data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
- data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
- data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
- data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
- data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
- data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
- data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
- data/features/04_aruba_api/text/extract_text.feature +0 -87
- data/features/04_aruba_api/text/replace_variables.feature +0 -45
- data/features/04_aruba_api/text/sanitize_text.feature +0 -228
- data/features/04_aruba_api/text/unescape_text.feature +0 -127
- data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
- data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
- data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
- data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
- data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
- data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
- data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
- data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
- data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
- data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
- data/features/06_use_aruba_cli/open_console.feature +0 -55
- data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
- data/features/step_definitions/hooks.rb +0 -146
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/simplecov_setup.rb +0 -11
- data/lib/aruba/api/bundler.rb +0 -16
- data/lib/aruba/cucumber/deprecated.rb +0 -93
- data/lib/aruba/matchers/deprecated.rb +0 -1
- data/lib/aruba/matchers/deprecated/file.rb +0 -17
- data/lib/aruba/reporting.rb +0 -126
- data/script/bootstrap +0 -24
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/commands_spec.rb +0 -30
- data/spec/aruba/api/core_spec.rb +0 -184
- data/spec/aruba/api/deprecated_spec.rb +0 -421
- data/spec/aruba/api/filesystem_spec.rb +0 -746
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -73
- data/spec/aruba/aruba_path_spec.rb +0 -103
- data/spec/aruba/basic_configuration_spec.rb +0 -5
- data/spec/aruba/configuration_spec.rb +0 -5
- data/spec/aruba/hooks_spec.rb +0 -17
- data/spec/aruba/in_config_wrapper_spec.rb +0 -25
- data/spec/aruba/jruby_spec.rb +0 -73
- data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
- data/spec/aruba/matchers/command_spec.rb +0 -174
- data/spec/aruba/matchers/deprecated_spec.rb +0 -120
- data/spec/aruba/matchers/directory_spec.rb +0 -57
- data/spec/aruba/matchers/file_spec.rb +0 -208
- data/spec/aruba/matchers/path_spec.rb +0 -58
- data/spec/aruba/platform/simple_table_spec.rb +0 -23
- data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
- data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
- data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
- data/spec/aruba/processes/spawn_process_spec.rb +0 -112
- data/spec/aruba/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -22
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +0 -5
- data/spec/support/configs/pry.rb +0 -3
- data/spec/support/configs/rspec.rb +0 -15
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +0 -44
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +0 -35
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +0 -49
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +0 -116
- data/spec/support/shared_examples/directory.rb +0 -7
- data/spec/support/shared_examples/file.rb +0 -7
- data/templates/css/console.css +0 -24
- data/templates/css/filesystem.css +0 -42
- data/templates/css/pygments-autumn.css +0 -59
- data/templates/files.erb +0 -14
- data/templates/images/LICENSE +0 -22
- data/templates/images/folder.png +0 -0
- data/templates/images/page_white.png +0 -0
- data/templates/images/page_white_gherkin.png +0 -0
- data/templates/images/page_white_ruby.png +0 -0
- data/templates/index.erb +0 -20
- data/templates/js/filesystem.js +0 -5
- data/templates/js/jquery-1.11.3.min.js +0 -5
- data/templates/main.erb +0 -34
data/lib/aruba/in_process.rb
CHANGED
data/lib/aruba/initializer.rb
CHANGED
@@ -83,13 +83,8 @@ module Aruba
|
|
83
83
|
send creator, file, <<-EOS
|
84
84
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
|
89
|
-
else
|
90
|
-
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
91
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
92
|
-
end
|
86
|
+
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
87
|
+
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
93
88
|
EOS
|
94
89
|
end
|
95
90
|
|
@@ -154,13 +149,8 @@ module Aruba
|
|
154
149
|
send creator, file, <<-EOS
|
155
150
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
156
151
|
|
157
|
-
|
158
|
-
|
159
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
|
160
|
-
else
|
161
|
-
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
162
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
163
|
-
end
|
152
|
+
::Dir.glob(::File.expand_path('../support/*.rb', __FILE__)).each { |f| require_relative f }
|
153
|
+
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
164
154
|
EOS
|
165
155
|
end
|
166
156
|
|
@@ -64,11 +64,6 @@ module Aruba
|
|
64
64
|
def self.format_time(time)
|
65
65
|
time.strftime("#{TIME_FORMAT}.#{format('%09d', time.nsec)} %z")
|
66
66
|
end
|
67
|
-
else # for 1.8.7
|
68
|
-
# @private
|
69
|
-
def self.format_time(time)
|
70
|
-
time.strftime("#{TIME_FORMAT}.#{format('%06d', time.usec)} %z")
|
71
|
-
end
|
72
67
|
end
|
73
68
|
|
74
69
|
DATE_TIME_FORMAT = "%a, %d %b %Y %H:%M:%S.%N %z".freeze
|
@@ -2,7 +2,7 @@ require 'rspec/expectations/version'
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
# @!method
|
5
|
+
# @!method have_same_file_content_like(file_name)
|
6
6
|
# This matchers checks if <file1> has the same content like <file2>
|
7
7
|
#
|
8
8
|
# @param [String] file_name
|
@@ -19,10 +19,10 @@ require 'fileutils'
|
|
19
19
|
# @example Use matcher
|
20
20
|
#
|
21
21
|
# RSpec.describe do
|
22
|
-
# it { expect(file1).to
|
23
|
-
# it { expect(files).to include
|
22
|
+
# it { expect(file1).to have_same_file_content_like(file2) }
|
23
|
+
# it { expect(files).to include a_file_with_same_content_like(file2) }
|
24
24
|
# end
|
25
|
-
RSpec::Matchers.define :
|
25
|
+
RSpec::Matchers.define :have_same_file_content_like do |expected|
|
26
26
|
match do |actual|
|
27
27
|
stop_all_commands
|
28
28
|
|
@@ -44,5 +44,5 @@ RSpec::Matchers.define :have_same_file_content_as do |expected|
|
|
44
44
|
end
|
45
45
|
|
46
46
|
if RSpec::Expectations::Version::STRING >= '3.0'
|
47
|
-
RSpec::Matchers.alias_matcher :
|
47
|
+
RSpec::Matchers.alias_matcher :a_file_with_same_content_like, :have_same_file_content_like
|
48
48
|
end
|
@@ -15,7 +15,7 @@
|
|
15
15
|
#
|
16
16
|
# RSpec.describe do
|
17
17
|
# it { expect(last_command_started).to have_output output_string_eq string) }
|
18
|
-
# it { expect(last_command_started).to have_output
|
18
|
+
# it { expect(last_command_started).to have_output an_output_string_begin_eq string) }
|
19
19
|
# end
|
20
20
|
RSpec::Matchers.define :output_string_eq do |expected|
|
21
21
|
match do |actual|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'shellwords'
|
2
2
|
require 'aruba/colorizer'
|
3
3
|
|
4
|
-
Aruba::
|
4
|
+
Aruba::AnsiColor.coloring = false if !STDOUT.tty? && !ENV.key?("AUTOTEST")
|
5
5
|
|
6
6
|
# Aruba
|
7
7
|
module Aruba
|
@@ -88,9 +88,9 @@ module Aruba
|
|
88
88
|
output_format :stop_signal, proc { |p, s| format('Command will be stopped with `kill -%s %s`', s, p) }
|
89
89
|
output_format :timeout, '# %s-timeout: %s seconds'
|
90
90
|
output_format :wait_time, '# %s: %s seconds'
|
91
|
-
|
92
|
-
|
93
|
-
|
91
|
+
# rubocop:disable Metrics/LineLength
|
92
|
+
output_format :command_filesystem_status, proc { |status| format("<<-COMMAND FILESYSTEM STATUS\n%s\nCOMMAND FILESYSTEM STATUS", Aruba.platform.simple_table(status.to_h, :sort => false)) }
|
93
|
+
# rubocop:enable Metrics/LineLength
|
94
94
|
|
95
95
|
# rubocop:disable Metrics/LineLength
|
96
96
|
if @options[:stdout]
|
@@ -184,18 +184,13 @@ module Aruba
|
|
184
184
|
|
185
185
|
return unless activated?(channel)
|
186
186
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
message += "\n"
|
195
|
-
message = colorizer.cyan(message)
|
196
|
-
rescue NotImplementedError => e
|
197
|
-
message = "Error fetching announced value for #{channel}: #{e.message}"
|
198
|
-
end
|
187
|
+
message = if block_given?
|
188
|
+
the_output_format.call(yield)
|
189
|
+
else
|
190
|
+
the_output_format.call(*args)
|
191
|
+
end
|
192
|
+
message += "\n"
|
193
|
+
message = colorizer.cyan(message)
|
199
194
|
|
200
195
|
announcer.announce(message)
|
201
196
|
|
@@ -34,6 +34,7 @@ module Aruba
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
# rubocop:disable Metrics/MethodLength
|
37
38
|
def initialize(opts = {})
|
38
39
|
@registered_commands = []
|
39
40
|
@announcer = opts.fetch(:announcer)
|
@@ -66,7 +67,7 @@ module Aruba
|
|
66
67
|
@last_command_started = find(cmd)
|
67
68
|
end
|
68
69
|
|
69
|
-
# Set last command
|
70
|
+
# Set last command started
|
70
71
|
#
|
71
72
|
# @param [String] cmd
|
72
73
|
# The commandline of the command
|
@@ -101,7 +102,7 @@ module Aruba
|
|
101
102
|
# @param [String] cmd
|
102
103
|
# The command
|
103
104
|
def output_from(cmd)
|
104
|
-
cmd =
|
105
|
+
cmd = Aruba.platform.detect_ruby(cmd)
|
105
106
|
find(cmd).output
|
106
107
|
end
|
107
108
|
|
@@ -111,7 +112,7 @@ module Aruba
|
|
111
112
|
# @param [String] cmd
|
112
113
|
# The command
|
113
114
|
def stdout_from(cmd)
|
114
|
-
cmd =
|
115
|
+
cmd = Aruba.platform.detect_ruby(cmd)
|
115
116
|
find(cmd).stdout
|
116
117
|
end
|
117
118
|
|
@@ -121,10 +122,11 @@ module Aruba
|
|
121
122
|
# @param [String] cmd
|
122
123
|
# The command
|
123
124
|
def stderr_from(cmd)
|
124
|
-
cmd =
|
125
|
+
cmd = Aruba.platform.detect_ruby(cmd)
|
125
126
|
find(cmd).stderr
|
126
127
|
end
|
127
128
|
|
129
|
+
# @deprecated
|
128
130
|
# Get stdout of all commands
|
129
131
|
#
|
130
132
|
# @return [String]
|
@@ -132,13 +134,10 @@ module Aruba
|
|
132
134
|
def all_stdout
|
133
135
|
registered_commands.each(&:stop)
|
134
136
|
|
135
|
-
|
136
|
-
registered_commands.inject("") { |a, e| a << e.stdout; a }
|
137
|
-
else
|
138
|
-
registered_commands.each_with_object("") { |e, a| a << e.stdout }
|
139
|
-
end
|
137
|
+
registered_commands.each_with_object("".dup) { |e, a| a << e.stdout }
|
140
138
|
end
|
141
139
|
|
140
|
+
# @deprecated
|
142
141
|
# Get stderr of all commands
|
143
142
|
#
|
144
143
|
# @return [String]
|
@@ -146,13 +145,10 @@ module Aruba
|
|
146
145
|
def all_stderr
|
147
146
|
registered_commands.each(&:stop)
|
148
147
|
|
149
|
-
|
150
|
-
registered_commands.inject("") { |a, e| a << e.stderr; a }
|
151
|
-
else
|
152
|
-
registered_commands.each_with_object("") { |e, a| a << e.stderr }
|
153
|
-
end
|
148
|
+
registered_commands.each_with_object("".dup) { |e, a| a << e.stderr }
|
154
149
|
end
|
155
150
|
|
151
|
+
# @deprecated
|
156
152
|
# Get stderr and stdout of all commands
|
157
153
|
#
|
158
154
|
# @return [String]
|
@@ -11,13 +11,18 @@ module Aruba
|
|
11
11
|
def call(*args)
|
12
12
|
args = args.flatten
|
13
13
|
|
14
|
-
|
14
|
+
deprecated_block_size = args.pop
|
15
15
|
paths = args
|
16
16
|
|
17
17
|
size = paths.flatten.map do |p|
|
18
|
+
# TODO: replace the `call` methods signature so that you can use just
|
19
|
+
# p.minimum_disk_space_used
|
20
|
+
#
|
21
|
+
# (Same result, since the values are multiplied, so
|
22
|
+
# deprecated_block_size is canceled out
|
18
23
|
DiskUsageCalculator.new.call(
|
19
|
-
p.
|
20
|
-
|
24
|
+
(p.minimum_disk_space_used / deprecated_block_size),
|
25
|
+
deprecated_block_size
|
21
26
|
)
|
22
27
|
end.inject(0, &:+)
|
23
28
|
|
@@ -22,11 +22,7 @@ module Aruba
|
|
22
22
|
|
23
23
|
public
|
24
24
|
|
25
|
-
|
26
|
-
def_delegators :@status, *METHODS
|
27
|
-
else
|
28
|
-
def_delegators :@status, :executable?, :ctime, :atime, :mtime, :size
|
29
|
-
end
|
25
|
+
def_delegators :@status, *METHODS
|
30
26
|
|
31
27
|
def initialize(path)
|
32
28
|
@status = File::Stat.new(path)
|
@@ -11,13 +11,9 @@ module Aruba
|
|
11
11
|
def initialize(other_env, &block)
|
12
12
|
@other_env = other_env
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
# rubocop:enable Style/EachWithObject
|
18
|
-
else
|
19
|
-
@other_env.to_h.each_with_object({}) { |(k, v), a| a[k] = v.to_s }
|
20
|
-
end
|
14
|
+
to_hash = RUBY_VERSION >= '2' ? :to_h : :to_hash
|
15
|
+
|
16
|
+
@other_env = @other_env.public_send(to_hash).each_with_object({}) { |(k, v), a| a[k] = v.to_s }
|
21
17
|
|
22
18
|
@block = if block_given?
|
23
19
|
block
|
@@ -207,8 +203,10 @@ module Aruba
|
|
207
203
|
private
|
208
204
|
|
209
205
|
def prepared_environment
|
210
|
-
if RUBY_VERSION
|
206
|
+
if RUBY_VERSION == '1.9.3'
|
207
|
+
# rubocop:disable Style/EachWithObject
|
211
208
|
actions.inject(ENV.to_hash.merge(env)) { |a, e| e.call(a) }
|
209
|
+
# rubocop:enable Style/EachWithObject
|
212
210
|
else
|
213
211
|
actions.each_with_object(ENV.to_hash.merge(env)) { |e, a| a = e.call(a) }
|
214
212
|
end
|
@@ -107,11 +107,7 @@ module Aruba
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def require_matching_files(pattern, base)
|
110
|
-
|
111
|
-
::Dir.glob(::File.expand_path(pattern, base)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
|
112
|
-
else
|
113
|
-
::Dir.glob(::File.expand_path(pattern, base)).each { |f| require_relative f }
|
114
|
-
end
|
110
|
+
::Dir.glob(::File.expand_path(pattern, base)).each { |f| require_relative f }
|
115
111
|
end
|
116
112
|
|
117
113
|
# Create directory and subdirectories
|
@@ -125,8 +121,7 @@ module Aruba
|
|
125
121
|
def rm(paths, options = {})
|
126
122
|
paths = Array(paths).map { |p| ::File.expand_path(p) }
|
127
123
|
|
128
|
-
FileUtils.rm_r(paths,
|
129
|
-
:verbose => options[:verbose], :secure => options[:secure])
|
124
|
+
FileUtils.rm_r(paths, options)
|
130
125
|
end
|
131
126
|
|
132
127
|
# Get current working directory
|
@@ -145,24 +140,22 @@ module Aruba
|
|
145
140
|
|
146
141
|
# Touch file, directory
|
147
142
|
def touch(args, options)
|
148
|
-
FileUtils.touch(args,
|
149
|
-
:mtime => options[:mtime], :nocreate => options[:nocreate])
|
143
|
+
FileUtils.touch(args, options)
|
150
144
|
end
|
151
145
|
|
152
146
|
# Copy file/directory
|
153
|
-
def cp(
|
154
|
-
FileUtils.cp_r(
|
147
|
+
def cp(args, options)
|
148
|
+
FileUtils.cp_r(args, options)
|
155
149
|
end
|
156
150
|
|
157
151
|
# Move file/directory
|
158
|
-
def mv(
|
159
|
-
FileUtils.mv(
|
152
|
+
def mv(args, options)
|
153
|
+
FileUtils.mv(args, options)
|
160
154
|
end
|
161
155
|
|
162
156
|
# Change mode of file/directory
|
163
157
|
def chmod(mode, args, options)
|
164
|
-
FileUtils.chmod_R(mode, args,
|
165
|
-
:verbose => options[:verbose], :force => options[:force])
|
158
|
+
FileUtils.chmod_R(mode, args, options)
|
166
159
|
end
|
167
160
|
|
168
161
|
# Exists and is file
|
@@ -230,13 +223,7 @@ module Aruba
|
|
230
223
|
|
231
224
|
# Write to file
|
232
225
|
def write_file(path, content)
|
233
|
-
|
234
|
-
File.open(path, 'wb') do |f|
|
235
|
-
f.print content
|
236
|
-
end
|
237
|
-
else
|
238
|
-
File.write(path, content)
|
239
|
-
end
|
226
|
+
File.write(path, content)
|
240
227
|
end
|
241
228
|
|
242
229
|
# Unescape string
|
@@ -36,6 +36,8 @@ module Aruba
|
|
36
36
|
Aruba.platform.command?(program)
|
37
37
|
end
|
38
38
|
|
39
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
40
|
+
# rubocop:disable Metrics/MethodLength
|
39
41
|
def call(program, path)
|
40
42
|
# Iterate over each path glob the dir + program.
|
41
43
|
path.split(File::PATH_SEPARATOR).each do |dir|
|
@@ -48,6 +50,8 @@ module Aruba
|
|
48
50
|
|
49
51
|
nil
|
50
52
|
end
|
53
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
54
|
+
# rubocop:enable Metrics/MethodLength
|
51
55
|
end
|
52
56
|
|
53
57
|
private
|
@@ -10,22 +10,14 @@ module Aruba
|
|
10
10
|
#
|
11
11
|
# @private
|
12
12
|
class WindowsCommandString < SimpleDelegator
|
13
|
-
|
14
|
-
|
15
|
-
[cmd_path, '/c', __getobj__]
|
16
|
-
end
|
17
|
-
|
18
|
-
if RUBY_VERSION < '1.9'
|
19
|
-
def to_s
|
20
|
-
__getobj__.to_s
|
21
|
-
end
|
22
|
-
alias inspect to_s
|
13
|
+
def initialize(cmd)
|
14
|
+
__setobj__ format('%s /c "%s"', Aruba.platform.which('cmd.exe'), cmd)
|
23
15
|
end
|
24
16
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
17
|
+
# Convert to array
|
18
|
+
def to_a
|
19
|
+
Shellwords.split( __getobj__.gsub('\\', 'ARUBA_TMP_PATHSEPARATOR') ).
|
20
|
+
map { |w| w.gsub('ARUBA_TMP_PATHSEPARATOR', '\\') }
|
29
21
|
end
|
30
22
|
end
|
31
23
|
end
|