aruba 0.14.14 → 1.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/.cucumberproignore +3 -0
- data/.github/ISSUE_TEMPLATE.md +48 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
- data/.gitignore +1 -0
- data/.rspec +1 -1
- data/.rubocop.yml +20 -181
- data/.rubocop_todo.yml +262 -0
- data/.simplecov +7 -5
- data/.travis.yml +53 -28
- data/.yardopts +3 -0
- data/CHANGELOG.md +301 -2
- data/CONTRIBUTING.md +247 -45
- data/Dockerfile +67 -0
- data/Gemfile +5 -114
- data/LICENSE +1 -1
- data/README.md +57 -180
- data/Rakefile +63 -32
- data/appveyor.yml +8 -11
- data/aruba.gemspec +47 -41
- data/bin/console +7 -0
- data/bin/test +9 -0
- data/cucumber.yml +4 -24
- data/doc/dependency_decisions.yml +35 -13
- data/docker-compose.yml +26 -0
- data/{bin → exe}/aruba +1 -1
- data/fixtures/cli-app/Rakefile +1 -1
- data/fixtures/cli-app/bin/aruba-test-cli +1 -1
- data/fixtures/cli-app/cli-app.gemspec +1 -2
- 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/suppress_simple_cov_output.rb +3 -3
- data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
- data/fixtures/cli-app/lib/cli/app.rb +1 -5
- data/fixtures/cli-app/spec/spec_helper.rb +4 -7
- data/fixtures/empty-app/Rakefile +1 -1
- data/fixtures/empty-app/cli-app.gemspec +1 -2
- data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
- data/fixtures/getting-started-app/Gemfile +1 -1
- data/lib/aruba/api/commands.rb +85 -143
- data/lib/aruba/api/core.rb +48 -41
- data/lib/aruba/api/environment.rb +16 -7
- data/lib/aruba/api/filesystem.rb +43 -30
- data/lib/aruba/api/text.rb +3 -9
- data/lib/aruba/api.rb +6 -11
- data/lib/aruba/aruba_path.rb +27 -89
- data/lib/aruba/basic_configuration.rb +4 -24
- data/lib/aruba/cli.rb +1 -1
- data/lib/aruba/command.rb +2 -0
- data/lib/aruba/config/jruby.rb +1 -1
- data/lib/aruba/config_wrapper.rb +1 -1
- data/lib/aruba/configuration.rb +92 -0
- data/lib/aruba/console/help.rb +1 -7
- data/lib/aruba/console.rb +5 -5
- data/lib/aruba/contracts/absolute_path.rb +2 -2
- data/lib/aruba/contracts/relative_path.rb +2 -2
- data/lib/aruba/cucumber/command.rb +133 -92
- data/lib/aruba/cucumber/environment.rb +1 -1
- data/lib/aruba/cucumber/file.rb +21 -23
- data/lib/aruba/cucumber/hooks.rb +18 -13
- data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
- data/lib/aruba/cucumber.rb +0 -6
- data/lib/aruba/event_bus/name_resolver.rb +5 -16
- data/lib/aruba/hooks.rb +1 -1
- data/lib/aruba/in_config_wrapper.rb +5 -1
- data/lib/aruba/initializer.rb +36 -42
- data/lib/aruba/matchers/base/base_matcher.rb +2 -2
- data/lib/aruba/matchers/base/message_indenter.rb +19 -0
- data/lib/aruba/matchers/base/object_formatter.rb +2 -9
- data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
- data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
- data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
- data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
- data/lib/aruba/matchers/command/have_output.rb +10 -5
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
- data/lib/aruba/matchers/command/have_output_size.rb +2 -2
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
- data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
- data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
- data/lib/aruba/matchers/file/have_file_content.rb +4 -4
- data/lib/aruba/matchers/file/have_file_size.rb +6 -8
- data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
- data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
- data/lib/aruba/matchers/path/have_permissions.rb +6 -8
- data/lib/aruba/matchers/string/include_output_string.rb +8 -10
- data/lib/aruba/matchers/string/match_output_string.rb +9 -11
- data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
- data/lib/aruba/platform.rb +0 -8
- data/lib/aruba/platforms/announcer.rb +30 -72
- data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
- data/lib/aruba/platforms/aruba_logger.rb +23 -7
- data/lib/aruba/platforms/command_monitor.rb +11 -103
- data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
- data/lib/aruba/platforms/filesystem_status.rb +10 -14
- data/lib/aruba/platforms/local_environment.rb +2 -2
- data/lib/aruba/platforms/simple_table.rb +3 -11
- data/lib/aruba/platforms/unix_command_string.rb +7 -11
- data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
- data/lib/aruba/platforms/unix_platform.rb +16 -50
- data/lib/aruba/platforms/unix_which.rb +2 -1
- data/lib/aruba/platforms/windows_command_string.rb +15 -10
- data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
- data/lib/aruba/platforms/windows_platform.rb +4 -0
- data/lib/aruba/platforms/windows_which.rb +4 -3
- data/lib/aruba/processes/basic_process.rb +18 -20
- data/lib/aruba/processes/debug_process.rb +12 -3
- data/lib/aruba/processes/in_process.rb +17 -8
- data/lib/aruba/processes/spawn_process.rb +36 -39
- data/lib/aruba/rspec.rb +14 -36
- data/lib/aruba/runtime.rb +3 -6
- data/lib/aruba/setup.rb +1 -1
- data/lib/aruba/tasks/docker_helpers.rb +154 -0
- data/lib/aruba/version.rb +1 -1
- metadata +190 -242
- 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/fixtures/spawn_process/stderr.sh +0 -3
- data/lib/aruba/api/deprecated.rb +0 -1155
- data/lib/aruba/config.rb +0 -107
- data/lib/aruba/cucumber/core.rb +0 -5
- data/lib/aruba/cucumber/deprecated.rb +0 -93
- data/lib/aruba/cucumber/rvm.rb +0 -3
- data/lib/aruba/in_process.rb +0 -16
- data/lib/aruba/jruby.rb +0 -4
- data/lib/aruba/matchers/deprecated/file.rb +0 -17
- data/lib/aruba/matchers/deprecated.rb +0 -1
- data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
- data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
- data/lib/aruba/reporting.rb +0 -126
- data/lib/aruba/spawn_process.rb +0 -14
- data/script/bootstrap +0 -24
- data/script/console +0 -16
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @!method have_output_on_stderr
|
|
2
2
|
# This matchers checks if <command> has created output on stderr
|
|
3
3
|
#
|
|
4
|
-
# @return [
|
|
4
|
+
# @return [Boolean] The result
|
|
5
5
|
#
|
|
6
6
|
# false:
|
|
7
7
|
# * if command has not created output on stderr
|
|
@@ -17,7 +17,7 @@ RSpec::Matchers.define :have_output_on_stderr do |expected|
|
|
|
17
17
|
match do |actual|
|
|
18
18
|
@old_actual = actual
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
raise "Expected #{@old_actual} to respond to #stderr" unless @old_actual.respond_to? :stderr
|
|
21
21
|
|
|
22
22
|
@old_actual.stop
|
|
23
23
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @!method have_output_on_stdout
|
|
2
2
|
# This matchers checks if <command> has created output on stdout
|
|
3
3
|
#
|
|
4
|
-
# @return [
|
|
4
|
+
# @return [Boolean] The result
|
|
5
5
|
#
|
|
6
6
|
# false:
|
|
7
7
|
# * if command has not created output on stdout
|
|
@@ -17,7 +17,7 @@ RSpec::Matchers.define :have_output_on_stdout do |expected|
|
|
|
17
17
|
match do |actual|
|
|
18
18
|
@old_actual = actual
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
raise "Expected #{@old_actual} to respond to #stdout" unless @old_actual.respond_to? :stdout
|
|
21
21
|
|
|
22
22
|
@old_actual.stop
|
|
23
23
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# @param [String] output
|
|
5
5
|
# The content which should be checked
|
|
6
6
|
#
|
|
7
|
-
# @return [
|
|
7
|
+
# @return [Boolean] The result
|
|
8
8
|
#
|
|
9
9
|
# false:
|
|
10
10
|
# * if output does not have size
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
# end
|
|
19
19
|
RSpec::Matchers.define :have_output_size do |expected|
|
|
20
20
|
match do |actual|
|
|
21
|
-
|
|
21
|
+
raise "Expected #{actual} to respond to #size" unless actual.respond_to? :size
|
|
22
22
|
|
|
23
23
|
@actual = actual.size
|
|
24
24
|
values_match? expected, @actual
|
|
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
|
|
|
3
3
|
# @!method be_an_existing_directory
|
|
4
4
|
# This matchers checks if <directory> exists in filesystem
|
|
5
5
|
#
|
|
6
|
-
# @return [
|
|
6
|
+
# @return [Boolean] The result
|
|
7
7
|
#
|
|
8
8
|
# false:
|
|
9
9
|
# * if directory does not exist
|
|
@@ -19,20 +19,18 @@ RSpec::Matchers.define :be_an_existing_directory do |_|
|
|
|
19
19
|
match do |actual|
|
|
20
20
|
stop_all_commands
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
raise 'String expected' unless actual.is_a? String
|
|
23
23
|
|
|
24
24
|
directory?(actual)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
failure_message do |actual|
|
|
28
|
-
format(
|
|
28
|
+
format('expected that directory "%s" exists', actual)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
failure_message_when_negated do |actual|
|
|
32
|
-
format(
|
|
32
|
+
format('expected that directory "%s" does not exist', actual)
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
RSpec::Matchers.alias_matcher :an_existing_directory, :be_an_existing_directory
|
|
38
|
-
end
|
|
36
|
+
RSpec::Matchers.alias_matcher :an_existing_directory, :be_an_existing_directory
|
|
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
|
|
|
6
6
|
# @param [Array] sub_directory
|
|
7
7
|
# A list of sub-directory relative to current directory
|
|
8
8
|
#
|
|
9
|
-
# @return [
|
|
9
|
+
# @return [Boolean] The result
|
|
10
10
|
#
|
|
11
11
|
# false:
|
|
12
12
|
# * if directory does not have sub-directory
|
|
@@ -40,14 +40,12 @@ RSpec::Matchers.define :have_sub_directory do |expected|
|
|
|
40
40
|
diffable
|
|
41
41
|
|
|
42
42
|
failure_message do |actual|
|
|
43
|
-
format(
|
|
43
|
+
format('expected that directory "%s" has the following sub-directories: %s.', actual.join(', '), expected)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
failure_message_when_negated do |actual|
|
|
47
|
-
format(
|
|
47
|
+
format('expected that directory "%s" does not have the following sub-directories: %s.', actual.join(', '), expected)
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
RSpec::Matchers.alias_matcher :a_directory_having_sub_directory, :have_sub_directory
|
|
53
|
-
end
|
|
51
|
+
RSpec::Matchers.alias_matcher :a_directory_having_sub_directory, :have_sub_directory
|
|
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
|
|
|
3
3
|
# @!method be_a_command_found_in_path
|
|
4
4
|
# This matchers checks if <command> can be found in path
|
|
5
5
|
#
|
|
6
|
-
# @return [
|
|
6
|
+
# @return [Boolean] The result
|
|
7
7
|
#
|
|
8
8
|
# false:
|
|
9
9
|
# * if command was not found in PATH
|
|
@@ -31,6 +31,4 @@ RSpec::Matchers.define :be_a_command_found_in_path do
|
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
RSpec::Matchers.alias_matcher :a_command_found_in_path, :be_a_command_found_in_path
|
|
36
|
-
end
|
|
34
|
+
RSpec::Matchers.alias_matcher :a_command_found_in_path, :be_a_command_found_in_path
|
|
@@ -4,7 +4,7 @@ require 'shellwords'
|
|
|
4
4
|
# @!method be_an_existing_executable
|
|
5
5
|
# This matchers checks if <file> exists in filesystem
|
|
6
6
|
#
|
|
7
|
-
# @return [
|
|
7
|
+
# @return [Boolean] The result
|
|
8
8
|
#
|
|
9
9
|
# false:
|
|
10
10
|
# * if file does not exist
|
|
@@ -24,14 +24,12 @@ RSpec::Matchers.define :be_an_existing_executable do |_|
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
failure_message do |actual|
|
|
27
|
-
format(
|
|
27
|
+
format('expected that executable "%s" exists', actual)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
failure_message_when_negated do |actual|
|
|
31
|
-
format(
|
|
31
|
+
format('expected that executable "%s" does not exist', actual)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
RSpec::Matchers.alias_matcher :an_existing_executable, :be_an_existing_executable
|
|
37
|
-
end
|
|
35
|
+
RSpec::Matchers.alias_matcher :an_existing_executable, :be_an_existing_executable
|
|
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
|
|
|
3
3
|
# @!method be_an_existing_file
|
|
4
4
|
# This matchers checks if <file> exists in filesystem
|
|
5
5
|
#
|
|
6
|
-
# @return [
|
|
6
|
+
# @return [Boolean] The result
|
|
7
7
|
#
|
|
8
8
|
# false:
|
|
9
9
|
# * if file does not exist
|
|
@@ -19,20 +19,18 @@ RSpec::Matchers.define :be_an_existing_file do |_|
|
|
|
19
19
|
match do |actual|
|
|
20
20
|
stop_all_commands
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
raise 'String expected' unless actual.is_a? String
|
|
23
23
|
|
|
24
24
|
file?(actual)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
failure_message do |actual|
|
|
28
|
-
format(
|
|
28
|
+
format('expected that file "%s" exists', actual)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
failure_message_when_negated do |actual|
|
|
32
|
-
format(
|
|
32
|
+
format('expected that file "%s" does not exist', actual)
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
RSpec::Matchers.alias_matcher :an_existing_file, :be_an_existing_file
|
|
38
|
-
end
|
|
36
|
+
RSpec::Matchers.alias_matcher :an_existing_file, :be_an_existing_file
|
|
@@ -7,7 +7,7 @@ require 'rspec/expectations/version'
|
|
|
7
7
|
# @param [String, Regexp, Matcher] content
|
|
8
8
|
# Specifies the content of the file
|
|
9
9
|
#
|
|
10
|
-
# @return [
|
|
10
|
+
# @return [Boolean] The result
|
|
11
11
|
#
|
|
12
12
|
# false:
|
|
13
13
|
# * if file does not exist
|
|
@@ -54,9 +54,9 @@ RSpec::Matchers.define :have_file_content do |expected|
|
|
|
54
54
|
values_match?(@expected, @actual)
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
+
diffable if expected.is_a? String
|
|
58
|
+
|
|
57
59
|
description { "have file content: #{description_of expected}" }
|
|
58
60
|
end
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
|
|
62
|
-
end
|
|
62
|
+
RSpec::Matchers.alias_matcher :a_file_having_content, :have_file_content
|
|
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
|
|
|
6
6
|
# @param [Fixnum] size
|
|
7
7
|
# The size to check
|
|
8
8
|
#
|
|
9
|
-
# @return [
|
|
9
|
+
# @return [Boolean] The result
|
|
10
10
|
#
|
|
11
11
|
# false:
|
|
12
12
|
# * if path does not have size
|
|
@@ -33,15 +33,13 @@ RSpec::Matchers.define :have_file_size do |expected|
|
|
|
33
33
|
values_match?(@expected, @actual)
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
failure_message do |
|
|
37
|
-
format(
|
|
36
|
+
failure_message do |_actual|
|
|
37
|
+
format('expected that file "%s" has size "%s", but has "%s"', @old_actual, @actual, @expected)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
failure_message_when_negated do |
|
|
41
|
-
format(
|
|
40
|
+
failure_message_when_negated do |_actual|
|
|
41
|
+
format('expected that file "%s" does not have size "%s", but has "%s"', @old_actual, @actual, @expected)
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
RSpec::Matchers.alias_matcher :a_file_of_size, :have_file_size
|
|
47
|
-
end
|
|
45
|
+
RSpec::Matchers.alias_matcher :a_file_of_size, :have_file_size
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
require 'rspec/expectations/version'
|
|
2
|
-
|
|
3
2
|
require 'fileutils'
|
|
4
3
|
|
|
5
4
|
# @!method have_same_file_content_as(file_name)
|
|
@@ -9,7 +8,7 @@ require 'fileutils'
|
|
|
9
8
|
# The name of the file which should be compared with the file in the
|
|
10
9
|
# `expect()`-call.
|
|
11
10
|
#
|
|
12
|
-
# @return [
|
|
11
|
+
# @return [Boolean] The result
|
|
13
12
|
#
|
|
14
13
|
# false:
|
|
15
14
|
# * if file1 is not equal file2
|
|
@@ -31,18 +30,16 @@ RSpec::Matchers.define :have_same_file_content_as do |expected|
|
|
|
31
30
|
@actual = expand_path(actual)
|
|
32
31
|
@expected = expand_path(expected)
|
|
33
32
|
|
|
34
|
-
FileUtils.compare_file(@actual
|
|
33
|
+
FileUtils.compare_file(@actual, @expected)
|
|
35
34
|
end
|
|
36
35
|
|
|
37
36
|
failure_message do |actual|
|
|
38
|
-
format(
|
|
37
|
+
format('expected that file "%s" is the same as file "%s".', actual, expected)
|
|
39
38
|
end
|
|
40
39
|
|
|
41
40
|
failure_message_when_negated do |actual|
|
|
42
|
-
format(
|
|
41
|
+
format('expected that file "%s" differs from file "%s".', actual, expected)
|
|
43
42
|
end
|
|
44
43
|
end
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
RSpec::Matchers.alias_matcher :a_file_with_same_content_as, :have_same_file_content_as
|
|
48
|
-
end
|
|
45
|
+
RSpec::Matchers.alias_matcher :a_file_with_same_content_as, :have_same_file_content_as
|
|
@@ -7,7 +7,7 @@ require 'rspec/expectations/version'
|
|
|
7
7
|
# @param [String, Regexp, Matcher] pattern
|
|
8
8
|
# Specifies the pattern
|
|
9
9
|
#
|
|
10
|
-
# @return [
|
|
10
|
+
# @return [Boolean] The result
|
|
11
11
|
#
|
|
12
12
|
# false:
|
|
13
13
|
# * if pattern does not match
|
|
@@ -20,6 +20,4 @@ require 'rspec/expectations/version'
|
|
|
20
20
|
# RSpec.describe do
|
|
21
21
|
# it { expect(files).to include a_path_matching_pattern /asdf/ }
|
|
22
22
|
# end
|
|
23
|
-
|
|
24
|
-
RSpec::Matchers.alias_matcher :a_path_matching_pattern, :match
|
|
25
|
-
end
|
|
23
|
+
RSpec::Matchers.alias_matcher :a_path_matching_pattern, :match
|
|
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
|
|
|
3
3
|
# @!method be_an_absolute_path
|
|
4
4
|
# This matchers checks if <path> exists in filesystem
|
|
5
5
|
#
|
|
6
|
-
# @return [
|
|
6
|
+
# @return [Boolean] The result
|
|
7
7
|
#
|
|
8
8
|
# false:
|
|
9
9
|
# * if path is not absolute
|
|
@@ -27,10 +27,8 @@ RSpec::Matchers.define :be_an_absolute_path do |_|
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
failure_message_when_negated do |actual|
|
|
30
|
-
format(
|
|
30
|
+
format('expected that path "%s" is not absolute, but it is', actual)
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
RSpec::Matchers.alias_matcher :an_absolute_path, :be_an_absolute_path
|
|
36
|
-
end
|
|
34
|
+
RSpec::Matchers.alias_matcher :an_absolute_path, :be_an_absolute_path
|
|
@@ -3,7 +3,7 @@ require 'rspec/expectations/version'
|
|
|
3
3
|
# @!method be_an_existing_path
|
|
4
4
|
# This matchers checks if <path> exists in filesystem
|
|
5
5
|
#
|
|
6
|
-
# @return [
|
|
6
|
+
# @return [Boolean] The result
|
|
7
7
|
#
|
|
8
8
|
# false:
|
|
9
9
|
# * if path does not exist
|
|
@@ -24,14 +24,12 @@ RSpec::Matchers.define :be_an_existing_path do |_|
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
failure_message do |actual|
|
|
27
|
-
format(
|
|
27
|
+
format('expected that path "%s" exists', actual)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
failure_message_when_negated do |actual|
|
|
31
|
-
format(
|
|
31
|
+
format('expected that path "%s" does not exist', actual)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
RSpec::Matchers.alias_matcher :an_existing_path, :be_an_existing_path
|
|
37
|
-
end
|
|
35
|
+
RSpec::Matchers.alias_matcher :an_existing_path, :be_an_existing_path
|
|
@@ -6,7 +6,7 @@ require 'rspec/expectations/version'
|
|
|
6
6
|
# @param [Fixnum, String] permissions
|
|
7
7
|
# The permissions as octal number, e.g. `0700`, or String, e.g. `'0700'`
|
|
8
8
|
#
|
|
9
|
-
# @return [
|
|
9
|
+
# @return [Boolean] The result
|
|
10
10
|
#
|
|
11
11
|
# false:
|
|
12
12
|
# * if file has permissions
|
|
@@ -50,15 +50,13 @@ RSpec::Matchers.define :have_permissions do |expected|
|
|
|
50
50
|
values_match? @expected, @actual
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
failure_message do |
|
|
54
|
-
format(
|
|
53
|
+
failure_message do |_actual|
|
|
54
|
+
format('expected that path "%s" has permissions "%s", but has "%s".', @old_actual, @expected, @actual)
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
failure_message_when_negated do |
|
|
58
|
-
format(
|
|
57
|
+
failure_message_when_negated do |_actual|
|
|
58
|
+
format('expected that path "%s" does not have permissions "%s", but has "%s".', @old_actual, @expected, @actual)
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
RSpec::Matchers.alias_matcher :a_path_having_permissions, :have_permissions
|
|
64
|
-
end
|
|
62
|
+
RSpec::Matchers.alias_matcher :a_path_having_permissions, :have_permissions
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# @!method include_output_string(string)
|
|
2
2
|
# This matchers checks if the output string of a command includes string.
|
|
3
3
|
#
|
|
4
|
-
# @param [
|
|
5
|
-
# The value of the
|
|
4
|
+
# @param [String] string
|
|
5
|
+
# The value of the output string
|
|
6
6
|
#
|
|
7
|
-
# @return [
|
|
7
|
+
# @return [Boolean] The result
|
|
8
8
|
#
|
|
9
|
-
#
|
|
9
|
+
# False:
|
|
10
10
|
# * if the output string does not include string
|
|
11
|
-
#
|
|
11
|
+
# True:
|
|
12
12
|
# * if the output string includes string
|
|
13
13
|
#
|
|
14
14
|
# @example Use matcher
|
|
15
|
-
#
|
|
16
15
|
# RSpec.describe do
|
|
17
16
|
# it { expect(last_command_started).to have_output an_output_string_including string) }
|
|
18
17
|
# it { expect(last_command_started).to have_output include_output_string string) }
|
|
19
18
|
# end
|
|
20
19
|
RSpec::Matchers.define :include_output_string do |expected|
|
|
21
20
|
match do |actual|
|
|
21
|
+
actual.force_encoding('UTF-8')
|
|
22
22
|
@expected = Regexp.new(Regexp.escape(sanitize_text(expected.to_s)), Regexp::MULTILINE)
|
|
23
23
|
@actual = sanitize_text(actual)
|
|
24
24
|
|
|
@@ -30,7 +30,5 @@ RSpec::Matchers.define :include_output_string do |expected|
|
|
|
30
30
|
description { "string includes: #{description_of expected}" }
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
RSpec::Matchers.alias_matcher :file_content_including, :include_output_string
|
|
36
|
-
end
|
|
33
|
+
RSpec::Matchers.alias_matcher :an_output_string_including, :include_output_string
|
|
34
|
+
RSpec::Matchers.alias_matcher :file_content_including, :include_output_string
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# @!method match_output_string(string)
|
|
2
2
|
# This matchers checks if the output string of a command matches regular expression.
|
|
3
3
|
#
|
|
4
|
-
# @param [
|
|
5
|
-
# The value of the
|
|
4
|
+
# @param [String] string
|
|
5
|
+
# The value of the output string
|
|
6
6
|
#
|
|
7
|
-
# @return [
|
|
7
|
+
# @return [Boolean] The result
|
|
8
8
|
#
|
|
9
|
-
#
|
|
9
|
+
# False:
|
|
10
10
|
# * if the output string does not match regex
|
|
11
|
-
#
|
|
11
|
+
# True:
|
|
12
12
|
# * if the output string matches regex
|
|
13
13
|
#
|
|
14
14
|
# @example Use matcher
|
|
15
|
-
#
|
|
16
15
|
# RSpec.describe do
|
|
17
16
|
# it { expect(last_command_started).to have_output an_output_string_matching regex) }
|
|
18
17
|
# it { expect(last_command_started).to have_output match_output_string regex) }
|
|
19
18
|
# end
|
|
20
19
|
RSpec::Matchers.define :match_output_string do |expected|
|
|
21
20
|
match do |actual|
|
|
21
|
+
actual.force_encoding('UTF-8')
|
|
22
22
|
@expected = Regexp.new(unescape_text(expected), Regexp::MULTILINE)
|
|
23
23
|
@actual = sanitize_text(actual)
|
|
24
24
|
|
|
@@ -30,8 +30,6 @@ RSpec::Matchers.define :match_output_string do |expected|
|
|
|
30
30
|
description { "output string matches: #{description_of expected}" }
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
RSpec::Matchers.alias_matcher :file_content_matching, :match_output_string
|
|
37
|
-
end
|
|
33
|
+
RSpec::Matchers.alias_matcher :an_output_string_matching, :match_output_string
|
|
34
|
+
RSpec::Matchers.alias_matcher :a_file_name_matching, :match_output_string
|
|
35
|
+
RSpec::Matchers.alias_matcher :file_content_matching, :match_output_string
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# @!method output_string_eq(string)
|
|
2
2
|
# This matchers checks if the output string of a command includes string.
|
|
3
3
|
#
|
|
4
|
-
# @param [
|
|
5
|
-
# The value of the
|
|
4
|
+
# @param [String] string
|
|
5
|
+
# The value of the output string
|
|
6
6
|
#
|
|
7
|
-
# @return [
|
|
7
|
+
# @return [Boolean]
|
|
8
8
|
#
|
|
9
|
-
#
|
|
9
|
+
# False:
|
|
10
10
|
# * if the output string does not include string
|
|
11
|
-
#
|
|
11
|
+
# True:
|
|
12
12
|
# * if the output string includes string
|
|
13
13
|
#
|
|
14
14
|
# @example Use matcher
|
|
15
|
-
#
|
|
16
15
|
# RSpec.describe do
|
|
17
16
|
# it { expect(last_command_started).to have_output output_string_eq string) }
|
|
18
|
-
# it { expect(last_command_started).to have_output
|
|
17
|
+
# it { expect(last_command_started).to have_output an_output_string_begin_eq string) }
|
|
19
18
|
# end
|
|
20
19
|
RSpec::Matchers.define :output_string_eq do |expected|
|
|
21
20
|
match do |actual|
|
|
21
|
+
actual.force_encoding('UTF-8')
|
|
22
22
|
@expected = sanitize_text(expected.to_s)
|
|
23
23
|
@actual = sanitize_text(actual.to_s)
|
|
24
24
|
|
|
@@ -30,6 +30,4 @@ RSpec::Matchers.define :output_string_eq do |expected|
|
|
|
30
30
|
description { "output string is eq: #{description_of expected}" }
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
RSpec::Matchers.alias_matcher :an_output_string_being_eq, :output_string_eq
|
|
35
|
-
end
|
|
33
|
+
RSpec::Matchers.alias_matcher :an_output_string_being_eq, :output_string_eq
|
data/lib/aruba/platform.rb
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
require 'thread'
|
|
2
1
|
require 'aruba/platforms/unix_platform'
|
|
3
2
|
require 'aruba/platforms/windows_platform'
|
|
4
3
|
|
|
5
4
|
# Aruba
|
|
6
5
|
module Aruba
|
|
7
6
|
PLATFORM_MUTEX = Mutex.new
|
|
8
|
-
end
|
|
9
7
|
|
|
10
|
-
# Aruba
|
|
11
|
-
module Aruba
|
|
12
|
-
# Platform
|
|
13
8
|
Platform = [Platforms::WindowsPlatform, Platforms::UnixPlatform].find(&:match?)
|
|
14
|
-
end
|
|
15
9
|
|
|
16
|
-
# Aruba
|
|
17
|
-
module Aruba
|
|
18
10
|
PLATFORM_MUTEX.synchronize do
|
|
19
11
|
@platform = Platform.new
|
|
20
12
|
end
|