aruba 0.14.9 → 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 -179
- data/.rubocop_todo.yml +262 -0
- data/.simplecov +7 -5
- data/.travis.yml +54 -46
- data/.yardopts +3 -0
- data/CHANGELOG.md +613 -246
- data/CONTRIBUTING.md +247 -45
- data/Dockerfile +67 -0
- data/Gemfile +5 -96
- 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 +42 -2
- 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 +6 -0
- 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 -6
- 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/empty-app/lib/cli/app.rb +0 -6
- data/fixtures/getting-started-app/Gemfile +1 -1
- data/lib/aruba/api/commands.rb +109 -143
- data/lib/aruba/api/core.rb +57 -43
- data/lib/aruba/api/environment.rb +16 -7
- data/lib/aruba/api/filesystem.rb +42 -29
- 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/colorizer.rb +10 -99
- data/lib/aruba/command.rb +2 -0
- data/lib/aruba/config/jruby.rb +15 -5
- 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 +171 -160
- data/lib/aruba/cucumber/environment.rb +1 -1
- data/lib/aruba/cucumber/file.rb +21 -35
- data/lib/aruba/cucumber/hooks.rb +17 -56
- data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
- data/lib/aruba/cucumber.rb +0 -5
- 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 +7 -9
- data/lib/aruba/platform.rb +0 -8
- data/lib/aruba/platforms/announcer.rb +42 -79
- 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 +12 -107
- 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 +20 -51
- 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 +28 -30
- 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 +57 -46
- data/lib/aruba/rspec.rb +14 -36
- data/lib/aruba/runtime.rb +3 -6
- data/lib/aruba/setup.rb +6 -6
- data/lib/aruba/tasks/docker_helpers.rb +154 -0
- data/lib/aruba/version.rb +1 -1
- metadata +191 -244
- data/features/.nav +0 -72
- data/features/api/command/find_command.feature +0 -83
- data/features/api/command/last_command_started.feature +0 -50
- data/features/api/command/last_command_stopped.feature +0 -89
- data/features/api/command/run.feature +0 -414
- data/features/api/command/run_simple.feature +0 -242
- data/features/api/command/send_signal.feature +0 -53
- data/features/api/command/stderr.feature +0 -46
- data/features/api/command/stdout.feature +0 -46
- data/features/api/command/stop.feature +0 -131
- data/features/api/command/stop_all_commands.feature +0 -53
- data/features/api/command/terminate_all_commands.feature +0 -53
- data/features/api/command/which.feature +0 -37
- data/features/api/core/expand_path.feature +0 -88
- data/features/api/environment/append_environment_variable.feature +0 -128
- data/features/api/environment/delete_environment_variable.feature +0 -63
- data/features/api/environment/prepend_environment_variable.feature +0 -128
- data/features/api/environment/set_environment_variable.feature +0 -376
- data/features/api/filesystem/cd.feature +0 -184
- data/features/api/filesystem/create_directory.feature +0 -57
- data/features/api/filesystem/disk_usage.feature +0 -152
- data/features/api/filesystem/does_exist.feature +0 -62
- data/features/api/filesystem/fixtures.feature +0 -104
- data/features/api/filesystem/is_absolute.feature +0 -48
- data/features/api/filesystem/is_directory.feature +0 -53
- data/features/api/filesystem/is_file.feature +0 -54
- data/features/api/filesystem/is_relative.feature +0 -48
- data/features/api/filesystem/move.feature +0 -119
- data/features/api/text/extract_text.feature +0 -87
- data/features/api/text/replace_variables.feature +0 -45
- data/features/api/text/sanitize_text.feature +0 -228
- data/features/api/text/unescape_text.feature +0 -127
- data/features/cli/console.feature +0 -52
- data/features/cli/init.feature +0 -79
- data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
- data/features/configuration/command_runtime_environment.feature +0 -129
- data/features/configuration/console_history_file.feature +0 -38
- data/features/configuration/exit_timeout.feature +0 -52
- data/features/configuration/fixtures_directories.feature +0 -38
- data/features/configuration/fixtures_path_prefix.feature +0 -23
- data/features/configuration/home_directory.feature +0 -80
- data/features/configuration/io_timeout.feature +0 -30
- data/features/configuration/keep_ansi.feature +0 -30
- data/features/configuration/log_level.feature +0 -38
- data/features/configuration/physical_block_size.feature +0 -53
- data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
- data/features/configuration/root_directory.feature +0 -30
- data/features/configuration/startup_wait_time.feature +0 -48
- data/features/configuration/usage.feature +0 -159
- data/features/configuration/working_directory.feature +0 -33
- data/features/development/build.feature +0 -15
- data/features/getting_started/cleanup.feature +0 -58
- data/features/getting_started/run_commands.feature +0 -187
- data/features/getting_started/supported_testing_frameworks.feature +0 -104
- data/features/getting_started/writing_good_feature_tests.feature +0 -38
- data/features/hooks/after/command.feature +0 -46
- data/features/hooks/before/command.feature +0 -75
- data/features/matchers/collection/include_an_object.feature +0 -72
- data/features/matchers/directory/have_sub_directory.feature +0 -110
- data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/matchers/file/be_existing_executable.feature +0 -88
- data/features/matchers/file/be_existing_file.feature +0 -82
- data/features/matchers/file/have_file_content.feature +0 -123
- data/features/matchers/file/have_file_size.feature +0 -107
- data/features/matchers/path/be_an_absolute_path.feature +0 -74
- data/features/matchers/path/be_an_existing_path.feature +0 -97
- data/features/matchers/path/have_permissions.feature +0 -118
- data/features/matchers/timeouts.feature +0 -48
- data/features/platforms/jruby.feature +0 -14
- data/features/rspec/integration.feature +0 -179
- data/features/step_definitions/aruba_dev_steps.rb +0 -56
- data/features/step_definitions/hooks.rb +0 -156
- data/features/steps/command/debug.feature +0 -92
- data/features/steps/command/exit_statuses.feature +0 -136
- data/features/steps/command/in_process.feature +0 -485
- data/features/steps/command/interactive.feature +0 -90
- data/features/steps/command/output.feature +0 -567
- data/features/steps/command/run.feature +0 -66
- data/features/steps/command/send_signal.feature +0 -104
- data/features/steps/command/shell.feature +0 -155
- data/features/steps/command/stderr.feature +0 -68
- data/features/steps/command/stdout.feature +0 -109
- data/features/steps/command/stop.feature +0 -313
- data/features/steps/core/announce.feature +0 -283
- data/features/steps/environment/append_environment_variable.feature +0 -52
- data/features/steps/environment/disable_bunder.feature +0 -18
- data/features/steps/environment/home_variable.feature +0 -62
- data/features/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/steps/environment/set_environment_variable.feature +0 -49
- data/features/steps/filesystem/append_to_file.feature +0 -45
- data/features/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/steps/filesystem/check_file_content.feature +0 -61
- data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/steps/filesystem/compare_files.feature +0 -42
- data/features/steps/filesystem/copy.feature +0 -45
- data/features/steps/filesystem/create_directory.feature +0 -57
- data/features/steps/filesystem/create_file.feature +0 -76
- data/features/steps/filesystem/existence_of_directory.feature +0 -57
- data/features/steps/filesystem/existence_of_file.feature +0 -43
- data/features/steps/filesystem/file_content.feature +0 -86
- data/features/steps/filesystem/fixtures.feature +0 -64
- data/features/steps/filesystem/move.feature +0 -45
- data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
- data/features/steps/filesystem/non_existence_of_file.feature +0 -80
- data/features/steps/filesystem/overwrite_file.feature +0 -72
- data/features/steps/filesystem/remove_directory.feature +0 -38
- data/features/steps/filesystem/remove_file.feature +0 -38
- data/features/steps/filesystem/use_fixture.feature +0 -77
- data/features/steps/overview.feature +0 -25
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/jruby.rb +0 -5
- data/features/support/simplecov_setup.rb +0 -8
- data/fixtures/cli-app/bin/cli +0 -6
- data/fixtures/spawn_process/stderr.sh +0 -3
- data/lib/aruba/api/deprecated.rb +0 -1234
- data/lib/aruba/config.rb +0 -107
- data/lib/aruba/cucumber/core.rb +0 -5
- data/lib/aruba/cucumber/rvm.rb +0 -3
- data/lib/aruba/in_process.rb +0 -14
- 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 -11
- data/script/bootstrap +0 -28
- data/script/console +0 -16
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/deprecated_spec.rb +0 -308
- data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
- data/spec/aruba/api/environment/set_env_spec.rb +0 -46
- data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -981
- 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 -55
- 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/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/aruba/spawn_process_spec.rb +0 -96
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -20
- 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,58 +1,33 @@
|
|
|
1
|
-
if Aruba::VERSION < '1.0.0'
|
|
2
|
-
require 'aruba/cucumber/core'
|
|
3
|
-
end
|
|
4
1
|
require 'aruba/generators/script_file'
|
|
5
2
|
|
|
6
|
-
When(/^I run
|
|
7
|
-
warn(%{\e[35m The /^I run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
|
|
8
|
-
|
|
9
|
-
cmd = sanitize_text(cmd)
|
|
10
|
-
run_command_and_stop(cmd, false)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
When(/^I run `([^`]*)`$/)do |cmd|
|
|
14
|
-
cmd = sanitize_text(cmd)
|
|
15
|
-
run_command_and_stop(cmd, :fail_on_error => false)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
When(/^I successfully run "(.*)"$/)do |cmd|
|
|
19
|
-
warn(%{\e[35m The /^I successfully run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
|
|
20
|
-
|
|
3
|
+
When(/^I run `([^`]*)`$/) do |cmd|
|
|
21
4
|
cmd = sanitize_text(cmd)
|
|
22
|
-
run_command_and_stop(cmd)
|
|
5
|
+
run_command_and_stop(cmd, fail_on_error: false)
|
|
23
6
|
end
|
|
24
7
|
|
|
25
8
|
## I successfully run `echo -n "Hello"`
|
|
26
9
|
## I successfully run `sleep 29` for up to 30 seconds
|
|
27
|
-
When(/^I successfully run `(.*?)`(?: for up to (\d+) seconds)?$/)do |cmd, secs|
|
|
10
|
+
When(/^I successfully run `(.*?)`(?: for up to ([\d.]+) seconds)?$/) do |cmd, secs|
|
|
28
11
|
cmd = sanitize_text(cmd)
|
|
29
|
-
run_command_and_stop(cmd, :
|
|
12
|
+
run_command_and_stop(cmd, fail_on_error: true, exit_timeout: secs && secs.to_f)
|
|
30
13
|
end
|
|
31
14
|
|
|
32
15
|
When(/^I run the following (?:commands|script)(?: (?:with|in) `([^`]+)`)?:$/) do |shell, commands|
|
|
33
|
-
|
|
16
|
+
full_path = expand_path('bin/myscript')
|
|
34
17
|
|
|
35
18
|
Aruba.platform.mkdir(expand_path('bin'))
|
|
36
19
|
shell ||= Aruba.platform.default_shell
|
|
37
20
|
|
|
38
|
-
Aruba::ScriptFile.new(:
|
|
39
|
-
|
|
40
|
-
step 'I run `myscript`'
|
|
21
|
+
Aruba::ScriptFile.new(interpreter: shell, content: commands, path: full_path).call
|
|
22
|
+
run_command_and_stop(Shellwords.escape(full_path), fail_on_error: false)
|
|
41
23
|
end
|
|
42
24
|
|
|
43
|
-
When(/^I run
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
step %(I run `#{cmd}` interactively)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
When(/^I run `([^`]*)` interactively$/)do |cmd|
|
|
50
|
-
cmd = sanitize_text(cmd)
|
|
51
|
-
@interactive = run_command(cmd)
|
|
25
|
+
When(/^I run `([^`]*)` interactively$/) do |cmd|
|
|
26
|
+
run_command(sanitize_text(cmd))
|
|
52
27
|
end
|
|
53
28
|
|
|
54
29
|
# Merge interactive and background after refactoring with event queue
|
|
55
|
-
When(/^I run `([^`]*)` in background$/)do |cmd|
|
|
30
|
+
When(/^I run `([^`]*)` in background$/) do |cmd|
|
|
56
31
|
run_command(sanitize_text(cmd))
|
|
57
32
|
end
|
|
58
33
|
|
|
@@ -71,39 +46,26 @@ When(/^I pipe in (?:a|the) file(?: named)? "([^"]*)"$/) do |file|
|
|
|
71
46
|
end
|
|
72
47
|
|
|
73
48
|
When(/^I (terminate|stop) the command (?:"([^"]*)"|(?:started last))$/) do |signal, command|
|
|
74
|
-
|
|
75
|
-
cmd = all_commands.find { |c| c.commandline == command }
|
|
76
|
-
fail ArgumentError, %(No command "#{command}" found) if cmd.nil?
|
|
49
|
+
monitor = aruba.command_monitor
|
|
77
50
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
51
|
+
cmd = if command
|
|
52
|
+
monitor.find(command)
|
|
53
|
+
else
|
|
54
|
+
last_command_started
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
if signal == 'terminate'
|
|
58
|
+
cmd.terminate
|
|
85
59
|
else
|
|
86
|
-
|
|
87
|
-
# last_command_started.terminate
|
|
88
|
-
process_monitor.terminate_process!(last_command_started)
|
|
89
|
-
else
|
|
90
|
-
# last_command_started.stop
|
|
91
|
-
process_monitor.stop_process(last_command_started)
|
|
92
|
-
end
|
|
60
|
+
cmd.stop
|
|
93
61
|
end
|
|
94
62
|
end
|
|
95
63
|
|
|
96
64
|
When(/^I stop the command(?: started last)? if (output|stdout|stderr) contains:$/) do |channel, expected|
|
|
97
|
-
fail %(Invalid output channel "#{channel}" chosen. Please choose one of "output, stdout or stderr") unless %w(output stdout stderr).include? channel
|
|
98
|
-
|
|
99
65
|
begin
|
|
100
66
|
Timeout.timeout(aruba.config.exit_timeout) do
|
|
101
67
|
loop do
|
|
102
|
-
output =
|
|
103
|
-
last_command_started.send channel.to_sym, :wait_for_io => 0
|
|
104
|
-
else
|
|
105
|
-
last_command_started.public_send channel.to_sym, :wait_for_io => 0
|
|
106
|
-
end
|
|
68
|
+
output = last_command_started.public_send channel.to_sym, wait_for_io: 0
|
|
107
69
|
|
|
108
70
|
output = sanitize_text(output)
|
|
109
71
|
expected = sanitize_text(expected)
|
|
@@ -117,7 +79,7 @@ When(/^I stop the command(?: started last)? if (output|stdout|stderr) contains:$
|
|
|
117
79
|
sleep 0.1
|
|
118
80
|
end
|
|
119
81
|
end
|
|
120
|
-
rescue ChildProcess::TimeoutError,
|
|
82
|
+
rescue ChildProcess::TimeoutError, Timeout::Error
|
|
121
83
|
last_command_started.terminate
|
|
122
84
|
end
|
|
123
85
|
end
|
|
@@ -156,7 +118,25 @@ Then(/^the output should be (\d+) bytes long$/) do |size|
|
|
|
156
118
|
expect(last_command_started.output).to have_output_size size.to_i
|
|
157
119
|
end
|
|
158
120
|
|
|
159
|
-
|
|
121
|
+
## the stderr should contain "hello"
|
|
122
|
+
Then(/^(?:the )?(output|stderr|stdout) should( not)? contain( exactly)? "([^"]*)"$/) do |channel, negated, exactly, expected|
|
|
123
|
+
combined_output = send("all_#{channel}")
|
|
124
|
+
|
|
125
|
+
output_string_matcher = if exactly
|
|
126
|
+
:an_output_string_being_eq
|
|
127
|
+
else
|
|
128
|
+
:an_output_string_including
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
if negated
|
|
132
|
+
expect(combined_output).not_to send(output_string_matcher, expected)
|
|
133
|
+
else
|
|
134
|
+
expect(combined_output).to send(output_string_matcher, expected)
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
## the stderr from "echo -n 'Hello'" should contain "hello"
|
|
139
|
+
Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exactly)? "([^"]*)"$/) do |channel, cmd, negated, exactly, expected|
|
|
160
140
|
matcher = case channel.to_sym
|
|
161
141
|
when :output
|
|
162
142
|
:have_output
|
|
@@ -166,11 +146,7 @@ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain
|
|
|
166
146
|
:have_output_on_stdout
|
|
167
147
|
end
|
|
168
148
|
|
|
169
|
-
|
|
170
|
-
[aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))]
|
|
171
|
-
else
|
|
172
|
-
all_commands
|
|
173
|
-
end
|
|
149
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
|
174
150
|
|
|
175
151
|
output_string_matcher = if exactly
|
|
176
152
|
:an_output_string_being_eq
|
|
@@ -178,31 +154,41 @@ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain
|
|
|
178
154
|
:an_output_string_including
|
|
179
155
|
end
|
|
180
156
|
|
|
181
|
-
if
|
|
182
|
-
|
|
183
|
-
c.stop
|
|
184
|
-
c.send(channel.to_sym).chomp
|
|
185
|
-
end.join("\n")
|
|
186
|
-
|
|
187
|
-
if negated
|
|
188
|
-
expect(combined_output).not_to send(output_string_matcher, expected)
|
|
189
|
-
else
|
|
190
|
-
expect(combined_output).to send(output_string_matcher, expected)
|
|
191
|
-
end
|
|
157
|
+
if negated
|
|
158
|
+
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
|
192
159
|
else
|
|
193
|
-
|
|
194
|
-
expect(commands).not_to include_an_object send(matcher, send(output_string_matcher, expected))
|
|
195
|
-
else
|
|
196
|
-
expect(commands).to include_an_object send(matcher, send(output_string_matcher, expected))
|
|
197
|
-
end
|
|
160
|
+
expect(command).to send(matcher, send(output_string_matcher, expected))
|
|
198
161
|
end
|
|
199
162
|
end
|
|
200
163
|
|
|
201
|
-
## the stderr should contain
|
|
202
|
-
|
|
164
|
+
## the stderr should not contain exactly:
|
|
165
|
+
Then(/^(?:the )?(output|stderr|stdout) should not contain( exactly)?:$/) do |channel, exactly, expected|
|
|
166
|
+
combined_output = send("all_#{channel}")
|
|
167
|
+
|
|
168
|
+
output_string_matcher = if exactly
|
|
169
|
+
:an_output_string_being_eq
|
|
170
|
+
else
|
|
171
|
+
:an_output_string_including
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
expect(combined_output).not_to send(output_string_matcher, expected)
|
|
175
|
+
end
|
|
176
|
+
|
|
203
177
|
## the stderr should contain exactly:
|
|
204
|
-
|
|
205
|
-
|
|
178
|
+
Then(/^(?:the )?(output|stderr|stdout) should contain( exactly)?:$/) do |channel, exactly, expected|
|
|
179
|
+
combined_output = send("all_#{channel}")
|
|
180
|
+
|
|
181
|
+
output_string_matcher = if exactly
|
|
182
|
+
:an_output_string_being_eq
|
|
183
|
+
else
|
|
184
|
+
:an_output_string_including
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
expect(combined_output).to send(output_string_matcher, expected)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
## the stderr from "echo -n 'Hello'" should not contain exactly:
|
|
191
|
+
Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should not contain( exactly)?:$/) do |channel, cmd, exactly, expected|
|
|
206
192
|
matcher = case channel.to_sym
|
|
207
193
|
when :output
|
|
208
194
|
:have_output
|
|
@@ -210,15 +196,9 @@ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain
|
|
|
210
196
|
:have_output_on_stderr
|
|
211
197
|
when :stdout
|
|
212
198
|
:have_output_on_stdout
|
|
213
|
-
else
|
|
214
|
-
fail ArgumentError, %(Invalid channel "#{channel}" chosen. Only "output", "stderr" or "stdout" are allowed.)
|
|
215
199
|
end
|
|
216
200
|
|
|
217
|
-
|
|
218
|
-
[aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))]
|
|
219
|
-
else
|
|
220
|
-
all_commands
|
|
221
|
-
end
|
|
201
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
|
222
202
|
|
|
223
203
|
output_string_matcher = if exactly
|
|
224
204
|
:an_output_string_being_eq
|
|
@@ -226,24 +206,29 @@ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain
|
|
|
226
206
|
:an_output_string_including
|
|
227
207
|
end
|
|
228
208
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
c.stop
|
|
232
|
-
c.send(channel.to_sym).chomp
|
|
233
|
-
end.join("\n")
|
|
209
|
+
expect(command).not_to send(matcher, send(output_string_matcher, expected))
|
|
210
|
+
end
|
|
234
211
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
212
|
+
## the stderr from "echo -n 'Hello'" should contain exactly:
|
|
213
|
+
Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should contain( exactly)?:$/) do |channel, cmd, exactly, expected|
|
|
214
|
+
matcher = case channel.to_sym
|
|
215
|
+
when :output
|
|
216
|
+
:have_output
|
|
217
|
+
when :stderr
|
|
218
|
+
:have_output_on_stderr
|
|
219
|
+
when :stdout
|
|
220
|
+
:have_output_on_stdout
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
|
|
224
|
+
|
|
225
|
+
output_string_matcher = if exactly
|
|
226
|
+
:an_output_string_being_eq
|
|
227
|
+
else
|
|
228
|
+
:an_output_string_including
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
expect(command).to send(matcher, send(output_string_matcher, expected))
|
|
247
232
|
end
|
|
248
233
|
|
|
249
234
|
# "the output should match" allows regex in the partial_output, if
|
|
@@ -275,6 +260,10 @@ Then(/^the output should( not)? match:$/) do |negated, expected|
|
|
|
275
260
|
end
|
|
276
261
|
|
|
277
262
|
Then(/^the exit status should( not)? be (\d+)$/) do |negated, exit_status|
|
|
263
|
+
if last_command_stopped.nil?
|
|
264
|
+
last_command_started.stop
|
|
265
|
+
end
|
|
266
|
+
|
|
278
267
|
if negated
|
|
279
268
|
expect(last_command_stopped).not_to have_exit_status exit_status.to_i
|
|
280
269
|
else
|
|
@@ -282,60 +271,100 @@ Then(/^the exit status should( not)? be (\d+)$/) do |negated, exit_status|
|
|
|
282
271
|
end
|
|
283
272
|
end
|
|
284
273
|
|
|
285
|
-
Then(/^it should
|
|
274
|
+
Then(/^it should not (pass|fail) with "(.*?)"$/) do |pass_fail, expected|
|
|
275
|
+
last_command_started.stop
|
|
276
|
+
|
|
286
277
|
if pass_fail == 'pass'
|
|
287
278
|
expect(last_command_stopped).to be_successfully_executed
|
|
288
279
|
else
|
|
289
280
|
expect(last_command_stopped).not_to be_successfully_executed
|
|
290
281
|
end
|
|
291
282
|
|
|
292
|
-
|
|
293
|
-
|
|
283
|
+
expect(last_command_stopped).not_to have_output an_output_string_including(expected)
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
Then(/^it should (pass|fail) with "(.*?)"$/) do |pass_fail, expected|
|
|
287
|
+
last_command_started.stop
|
|
288
|
+
|
|
289
|
+
if pass_fail == 'pass'
|
|
290
|
+
expect(last_command_stopped).to be_successfully_executed
|
|
294
291
|
else
|
|
295
|
-
expect(last_command_stopped).
|
|
292
|
+
expect(last_command_stopped).not_to be_successfully_executed
|
|
296
293
|
end
|
|
294
|
+
|
|
295
|
+
expect(last_command_stopped).to have_output an_output_string_including(expected)
|
|
297
296
|
end
|
|
298
297
|
|
|
299
|
-
Then(/^it should
|
|
298
|
+
Then(/^it should not (pass|fail) with:$/) do |pass_fail, expected|
|
|
299
|
+
last_command_started.stop
|
|
300
|
+
|
|
300
301
|
if pass_fail == 'pass'
|
|
301
302
|
expect(last_command_stopped).to be_successfully_executed
|
|
302
303
|
else
|
|
303
304
|
expect(last_command_stopped).not_to be_successfully_executed
|
|
304
305
|
end
|
|
305
306
|
|
|
306
|
-
|
|
307
|
-
|
|
307
|
+
expect(last_command_stopped).not_to have_output an_output_string_including(expected)
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
Then(/^it should (pass|fail) with:$/) do |pass_fail, expected|
|
|
311
|
+
last_command_started.stop
|
|
312
|
+
|
|
313
|
+
if pass_fail == 'pass'
|
|
314
|
+
expect(last_command_stopped).to be_successfully_executed
|
|
308
315
|
else
|
|
309
|
-
expect(last_command_stopped).
|
|
316
|
+
expect(last_command_stopped).not_to be_successfully_executed
|
|
310
317
|
end
|
|
318
|
+
|
|
319
|
+
expect(last_command_stopped).to have_output an_output_string_including(expected)
|
|
311
320
|
end
|
|
312
321
|
|
|
313
|
-
Then(/^it should
|
|
322
|
+
Then(/^it should not (pass|fail) with exactly:$/) do |pass_fail, expected|
|
|
323
|
+
last_command_started.stop
|
|
324
|
+
|
|
314
325
|
if pass_fail == 'pass'
|
|
315
326
|
expect(last_command_stopped).to be_successfully_executed
|
|
316
327
|
else
|
|
317
328
|
expect(last_command_stopped).not_to be_successfully_executed
|
|
318
329
|
end
|
|
319
330
|
|
|
320
|
-
|
|
321
|
-
|
|
331
|
+
expect(last_command_stopped).not_to have_output an_output_string_eq(expected)
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
Then(/^it should (pass|fail) with exactly:$/) do |pass_fail, expected|
|
|
335
|
+
last_command_started.stop
|
|
336
|
+
|
|
337
|
+
if pass_fail == 'pass'
|
|
338
|
+
expect(last_command_stopped).to be_successfully_executed
|
|
322
339
|
else
|
|
323
|
-
expect(last_command_stopped).
|
|
340
|
+
expect(last_command_stopped).not_to be_successfully_executed
|
|
324
341
|
end
|
|
342
|
+
|
|
343
|
+
expect(last_command_stopped).to have_output an_output_string_being_eq(expected)
|
|
325
344
|
end
|
|
326
345
|
|
|
327
|
-
Then(/^it should
|
|
346
|
+
Then(/^it should not (pass|fail) (?:with regexp?|matching):$/) do |pass_fail, expected|
|
|
347
|
+
last_command_started.stop
|
|
348
|
+
|
|
328
349
|
if pass_fail == 'pass'
|
|
329
350
|
expect(last_command_stopped).to be_successfully_executed
|
|
330
351
|
else
|
|
331
352
|
expect(last_command_stopped).not_to be_successfully_executed
|
|
332
353
|
end
|
|
333
354
|
|
|
334
|
-
|
|
335
|
-
|
|
355
|
+
expect(last_command_stopped).not_to have_output an_output_string_matching(expected)
|
|
356
|
+
end
|
|
357
|
+
|
|
358
|
+
Then(/^it should (pass|fail) (?:with regexp?|matching):$/) do |pass_fail, expected|
|
|
359
|
+
last_command_started.stop
|
|
360
|
+
|
|
361
|
+
if pass_fail == 'pass'
|
|
362
|
+
expect(last_command_stopped).to be_successfully_executed
|
|
336
363
|
else
|
|
337
|
-
expect(last_command_stopped).
|
|
364
|
+
expect(last_command_stopped).not_to be_successfully_executed
|
|
338
365
|
end
|
|
366
|
+
|
|
367
|
+
expect(last_command_stopped).to have_output an_output_string_matching(expected)
|
|
339
368
|
end
|
|
340
369
|
|
|
341
370
|
Then(/^(?:the )?(output|stderr|stdout) should not contain anything$/) do |channel|
|
|
@@ -346,8 +375,6 @@ Then(/^(?:the )?(output|stderr|stdout) should not contain anything$/) do |channe
|
|
|
346
375
|
:have_output_on_stderr
|
|
347
376
|
when :stdout
|
|
348
377
|
:have_output_on_stdout
|
|
349
|
-
else
|
|
350
|
-
fail ArgumentError, %(Invalid channel "#{channel}" chosen. Only "output", "stdout" and "stderr" are supported.)
|
|
351
378
|
end
|
|
352
379
|
|
|
353
380
|
expect(all_commands).to include_an_object send(matcher, be_nil.or(be_empty))
|
|
@@ -355,16 +382,16 @@ end
|
|
|
355
382
|
|
|
356
383
|
Then(/^(?:the )?(output|stdout|stderr) should( not)? contain all of these lines:$/) do |channel, negated, table|
|
|
357
384
|
table.raw.flatten.each do |expected|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
385
|
+
case channel.to_sym
|
|
386
|
+
when :output
|
|
387
|
+
:have_output
|
|
388
|
+
when :stderr
|
|
389
|
+
:have_output_on_stderr
|
|
390
|
+
when :stdout
|
|
391
|
+
:have_output_on_stdout
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
# TODO: This isn't actually using the above. It's hardcoded to use have_output only
|
|
368
395
|
|
|
369
396
|
if negated
|
|
370
397
|
expect(all_commands).not_to include_an_object have_output an_output_string_including(expected)
|
|
@@ -374,36 +401,20 @@ Then(/^(?:the )?(output|stdout|stderr) should( not)? contain all of these lines:
|
|
|
374
401
|
end
|
|
375
402
|
end
|
|
376
403
|
|
|
377
|
-
Given(
|
|
378
|
-
|
|
379
|
-
Aruba.platform.deprecated(%{The /^the default aruba timeout is (\d+) seconds/ step definition is deprecated. Please use /^the default aruba exit timeout is (\d+) seconds/ step definition is deprecated.})
|
|
380
|
-
# rubocop:enable Metrics/LineLength
|
|
381
|
-
|
|
382
|
-
aruba.config.exit_timeout = seconds.to_i
|
|
383
|
-
end
|
|
384
|
-
|
|
385
|
-
Given(/The default aruba timeout is (\d+) seconds/) do |seconds|
|
|
386
|
-
# rubocop:disable Metrics/LineLength
|
|
387
|
-
Aruba.platform.deprecated(%{The /^The default aruba timeout is (\d+) seconds/ step definition is deprecated. Please use /^the default aruba exit timeout is (\d+) seconds/ step definition is deprecated.})
|
|
388
|
-
# rubocop:enable Metrics/LineLength
|
|
389
|
-
|
|
390
|
-
aruba.config.exit_timeout = seconds.to_i
|
|
391
|
-
end
|
|
392
|
-
|
|
393
|
-
Given(/^the (?:default )?aruba io wait timeout is (\d+) seconds?$/) do |seconds|
|
|
394
|
-
aruba.config.io_wait_timeout = seconds.to_i
|
|
404
|
+
Given(/^the (?:default )?aruba io wait timeout is ([\d.]+) seconds?$/) do |seconds|
|
|
405
|
+
aruba.config.io_wait_timeout = seconds.to_f
|
|
395
406
|
end
|
|
396
407
|
|
|
397
|
-
Given(/^the (?:default )?aruba exit timeout is (\d+) seconds?$/) do |seconds|
|
|
398
|
-
aruba.config.exit_timeout = seconds.
|
|
408
|
+
Given(/^the (?:default )?aruba exit timeout is ([\d.]+) seconds?$/) do |seconds|
|
|
409
|
+
aruba.config.exit_timeout = seconds.to_f
|
|
399
410
|
end
|
|
400
411
|
|
|
401
412
|
Given(/^the (?:default )?aruba stop signal is "([^"]*)"$/) do |signal|
|
|
402
413
|
aruba.config.stop_signal = signal
|
|
403
414
|
end
|
|
404
415
|
|
|
405
|
-
Given(/^I wait (\d+) seconds? for (?:a|the) command to start up$/) do |seconds|
|
|
406
|
-
aruba.config.startup_wait_time = seconds.
|
|
416
|
+
Given(/^I wait ([\d.]+) seconds? for (?:a|the) command to start up$/) do |seconds|
|
|
417
|
+
aruba.config.startup_wait_time = seconds.to_f
|
|
407
418
|
end
|
|
408
419
|
|
|
409
420
|
When(/^I send the signal "([^"]*)" to the command (?:"([^"]*)"|(?:started last))$/) do |signal, command|
|
data/lib/aruba/cucumber/file.rb
CHANGED
|
@@ -3,11 +3,11 @@ Given(/^I use (?:a|the) fixture(?: named)? "([^"]*)"$/) do |name|
|
|
|
3
3
|
cd name
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
Given(/^I copy (?:a|the) (file|directory)(?: (?:named|from))? "([^"]*)" to "([^"]*)"$/) do |
|
|
6
|
+
Given(/^I copy (?:a|the) (?:file|directory)(?: (?:named|from))? "([^"]*)" to "([^"]*)"$/) do |source, destination|
|
|
7
7
|
copy source, destination
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
Given(/^I move (?:a|the) (file|directory)(?: (?:named|from))? "([^"]*)" to "([^"]*)"$/) do |
|
|
10
|
+
Given(/^I move (?:a|the) (?:file|directory)(?: (?:named|from))? "([^"]*)" to "([^"]*)"$/) do |source, destination|
|
|
11
11
|
move source, destination
|
|
12
12
|
end
|
|
13
13
|
|
|
@@ -42,11 +42,11 @@ Given(/^(?:a|the) (\d+) byte file(?: named)? "([^"]*)"$/) do |file_size, file_na
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
Given(/^(?:an|the) empty file(?: named)? "([^"]*)"$/) do |file_name|
|
|
45
|
-
write_file(file_name,
|
|
45
|
+
write_file(file_name, '')
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
Given(/^(?:an|the) empty file(?: named)? "([^"]*)" with mode "([^"]*)"$/) do |file_name, file_mode|
|
|
49
|
-
write_file(file_name,
|
|
49
|
+
write_file(file_name, '')
|
|
50
50
|
chmod(file_mode, file_name)
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -67,11 +67,11 @@ When(/^I append to "([^"]*)" with "([^"]*)"$/) do |file_name, file_content|
|
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
When(/^I remove (?:a|the) (?:file|directory)(?: named)? "([^"]*)"( with full force)?$/) do |name, force_remove|
|
|
70
|
-
remove(name, :
|
|
70
|
+
remove(name, force: force_remove.nil? ? false : true)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
Given(/^(?:a|the) (?:file|directory)(?: named)? "([^"]*)" does not exist$/) do |name|
|
|
74
|
-
remove(name, :
|
|
74
|
+
remove(name, force: true)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
When(/^I cd to "([^"]*)"$/) do |dir|
|
|
@@ -79,7 +79,7 @@ When(/^I cd to "([^"]*)"$/) do |dir|
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
Then(/^the following files should (not )?exist:$/) do |negated, files|
|
|
82
|
-
files = files.
|
|
82
|
+
files = files.raw.flatten
|
|
83
83
|
|
|
84
84
|
if negated
|
|
85
85
|
expect(files).not_to include an_existing_file
|
|
@@ -88,21 +88,19 @@ Then(/^the following files should (not )?exist:$/) do |negated, files|
|
|
|
88
88
|
end
|
|
89
89
|
end
|
|
90
90
|
|
|
91
|
-
Then(/^(?:a|the)
|
|
92
|
-
if
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
expect(path).to be_an_existing_directory
|
|
103
|
-
end
|
|
91
|
+
Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?exist(?: anymore)?$/) do |path, expect_match|
|
|
92
|
+
if expect_match
|
|
93
|
+
expect(path).not_to be_an_existing_file
|
|
94
|
+
else
|
|
95
|
+
expect(path).to be_an_existing_file
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
Then(/^(?:a|the) directory(?: named)? "([^"]*)" should (not )?exist(?: anymore)?$/) do |path, expect_match|
|
|
100
|
+
if expect_match
|
|
101
|
+
expect(path).not_to be_an_existing_directory
|
|
104
102
|
else
|
|
105
|
-
|
|
103
|
+
expect(path).to be_an_existing_directory
|
|
106
104
|
end
|
|
107
105
|
end
|
|
108
106
|
|
|
@@ -156,7 +154,7 @@ Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?contain exactly:$/) do
|
|
|
156
154
|
end
|
|
157
155
|
end
|
|
158
156
|
|
|
159
|
-
Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?match %r<([
|
|
157
|
+
Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?match %r<([^>]*)>$/) do |file, negated, content|
|
|
160
158
|
if negated
|
|
161
159
|
expect(file).not_to have_file_content file_content_matching(content)
|
|
162
160
|
else
|
|
@@ -180,19 +178,7 @@ Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?be equal to file "([^"]
|
|
|
180
178
|
end
|
|
181
179
|
end
|
|
182
180
|
|
|
183
|
-
Then(/^the
|
|
184
|
-
# rubocop:disable Metrics/LineLength
|
|
185
|
-
Aruba.platform.deprecated('The use of step "the mode of filesystem object "([^"]*)" should (not )?match "([^"]*)" is deprecated. Use "^the (?:file|directory)(?: named)? "([^"]*)" should have permissions "([^"]*)"$" instead')
|
|
186
|
-
# rubocop:enable Metrics/LineLength
|
|
187
|
-
|
|
188
|
-
if negated
|
|
189
|
-
expect(file).not_to have_permissions(permissions)
|
|
190
|
-
else
|
|
191
|
-
expect(file).to have_permissions(permissions)
|
|
192
|
-
end
|
|
193
|
-
end
|
|
194
|
-
|
|
195
|
-
Then(/^the (?:file|directory)(?: named)? "([^"]*)" should( not)? have permissions "([^"]*)"$/) do |path, negated, permissions|
|
|
181
|
+
Then(/^(?:a|the) (?:file|directory)(?: named)? "([^"]*)" should( not)? have permissions "([^"]*)"$/) do |path, negated, permissions|
|
|
196
182
|
if negated
|
|
197
183
|
expect(path).not_to have_permissions(permissions)
|
|
198
184
|
else
|