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,500 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
require 'aruba/platforms/windows_environment_variables'
|
|
3
|
-
|
|
4
|
-
RSpec.describe Aruba::Platforms::WindowsEnvironmentVariables do
|
|
5
|
-
subject(:environment) { described_class.new(old_environment) }
|
|
6
|
-
|
|
7
|
-
describe '#[]' do
|
|
8
|
-
context 'when environment contains uppercase variable' do
|
|
9
|
-
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
10
|
-
|
|
11
|
-
context 'when uppercase key is given' do
|
|
12
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
13
|
-
|
|
14
|
-
it { expect(environment[variable]).to eq '1' }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
context 'when lowercase key is given' do
|
|
18
|
-
let(:variable) { 'my_variable' }
|
|
19
|
-
|
|
20
|
-
it { expect(environment[variable]).to eq '1' }
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context 'when mixed case key is given' do
|
|
24
|
-
let(:variable) { 'MY_variable' }
|
|
25
|
-
|
|
26
|
-
it { expect(environment[variable]).to eq '1' }
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
context 'when unknown variable is given' do
|
|
30
|
-
let(:variable) { 'unknown' }
|
|
31
|
-
|
|
32
|
-
it { expect(environment[variable]).to eq nil }
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
context 'when environment contains lowercase variable' do
|
|
37
|
-
let(:old_environment) { { 'my_variable' => '1' } }
|
|
38
|
-
|
|
39
|
-
context 'when uppercase key is given' do
|
|
40
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
41
|
-
|
|
42
|
-
it { expect(environment[variable]).to eq '1' }
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
context 'when lowercase key is given' do
|
|
46
|
-
let(:variable) { 'my_variable' }
|
|
47
|
-
|
|
48
|
-
it { expect(environment[variable]).to eq '1' }
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
context 'when mixed case key is given' do
|
|
52
|
-
let(:variable) { 'MY_variable' }
|
|
53
|
-
|
|
54
|
-
it { expect(environment[variable]).to eq '1' }
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
context 'when unknown variable is given' do
|
|
58
|
-
let(:variable) { 'unknown' }
|
|
59
|
-
|
|
60
|
-
it { expect(environment[variable]).to eq nil }
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
context 'when environment contains mixed case variable' do
|
|
65
|
-
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
66
|
-
|
|
67
|
-
context 'when uppercase key is given' do
|
|
68
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
69
|
-
|
|
70
|
-
it { expect(environment[variable]).to eq '1' }
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
context 'when lowercase key is given' do
|
|
74
|
-
let(:variable) { 'my_variable' }
|
|
75
|
-
|
|
76
|
-
it { expect(environment[variable]).to eq '1' }
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
context 'when mixed case key is given' do
|
|
80
|
-
let(:variable) { 'MY_variable' }
|
|
81
|
-
|
|
82
|
-
it { expect(environment[variable]).to eq '1' }
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
context 'when unknown variable is given' do
|
|
86
|
-
let(:variable) { 'unknown' }
|
|
87
|
-
|
|
88
|
-
it { expect(environment[variable]).to eq nil }
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
describe '#fetch' do
|
|
94
|
-
context 'when environment contains uppercase variable' do
|
|
95
|
-
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
96
|
-
|
|
97
|
-
context 'when uppercase key is given' do
|
|
98
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
99
|
-
|
|
100
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
context 'when lowercase key is given' do
|
|
104
|
-
let(:variable) { 'my_variable' }
|
|
105
|
-
|
|
106
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
context 'when mixed case key is given' do
|
|
110
|
-
let(:variable) { 'MY_variable' }
|
|
111
|
-
|
|
112
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
context 'when unknown variable is given' do
|
|
116
|
-
let(:variable) { 'unknown' }
|
|
117
|
-
|
|
118
|
-
context 'and no default is given' do
|
|
119
|
-
if RUBY_VERSION < '1.9'
|
|
120
|
-
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
121
|
-
else
|
|
122
|
-
unless defined? KeyError
|
|
123
|
-
class KeyError < StandardError; end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
context 'and default is given' do
|
|
131
|
-
let(:default_value) { 'default_value' }
|
|
132
|
-
|
|
133
|
-
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
context 'when environment contains lowercase variable' do
|
|
139
|
-
let(:old_environment) { { 'my_variable' => '1' } }
|
|
140
|
-
|
|
141
|
-
context 'when uppercase key is given' do
|
|
142
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
143
|
-
|
|
144
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
context 'when lowercase key is given' do
|
|
148
|
-
let(:variable) { 'my_variable' }
|
|
149
|
-
|
|
150
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
context 'when mixed case key is given' do
|
|
154
|
-
let(:variable) { 'MY_variable' }
|
|
155
|
-
|
|
156
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
context 'when unknown variable is given' do
|
|
160
|
-
let(:variable) { 'unknown' }
|
|
161
|
-
|
|
162
|
-
context 'and no default is given' do
|
|
163
|
-
if RUBY_VERSION < '1.9'
|
|
164
|
-
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
165
|
-
else
|
|
166
|
-
unless defined? KeyError
|
|
167
|
-
class KeyError < StandardError; end
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
171
|
-
end
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
context 'and default is given' do
|
|
175
|
-
let(:default_value) { 'default_value' }
|
|
176
|
-
|
|
177
|
-
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
context 'when environment contains mixed case variable' do
|
|
183
|
-
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
184
|
-
|
|
185
|
-
context 'when uppercase key is given' do
|
|
186
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
187
|
-
|
|
188
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
context 'when lowercase key is given' do
|
|
192
|
-
let(:variable) { 'my_variable' }
|
|
193
|
-
|
|
194
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
context 'when mixed case key is given' do
|
|
198
|
-
let(:variable) { 'MY_variable' }
|
|
199
|
-
|
|
200
|
-
it { expect(environment.fetch(variable)).to eq '1' }
|
|
201
|
-
end
|
|
202
|
-
|
|
203
|
-
context 'when unknown variable is given' do
|
|
204
|
-
let(:variable) { 'unknown' }
|
|
205
|
-
|
|
206
|
-
context 'and no default is given' do
|
|
207
|
-
if RUBY_VERSION < '1.9'
|
|
208
|
-
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
209
|
-
else
|
|
210
|
-
unless defined? KeyError
|
|
211
|
-
class KeyError < StandardError; end
|
|
212
|
-
end
|
|
213
|
-
|
|
214
|
-
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
context 'and default is given' do
|
|
219
|
-
let(:default_value) { 'default_value' }
|
|
220
|
-
|
|
221
|
-
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
222
|
-
end
|
|
223
|
-
end
|
|
224
|
-
end
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
describe '#key?' do
|
|
228
|
-
context 'when environment contains uppercase variable' do
|
|
229
|
-
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
230
|
-
|
|
231
|
-
context 'when uppercase key is given' do
|
|
232
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
233
|
-
|
|
234
|
-
it { expect(environment).to be_key variable }
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
context 'when lowercase key is given' do
|
|
238
|
-
let(:variable) { 'my_variable' }
|
|
239
|
-
|
|
240
|
-
it { expect(environment).to be_key variable }
|
|
241
|
-
end
|
|
242
|
-
|
|
243
|
-
context 'when mixed case key is given' do
|
|
244
|
-
let(:variable) { 'MY_variable' }
|
|
245
|
-
|
|
246
|
-
it { expect(environment).to be_key variable }
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
context 'when unknown variable is given' do
|
|
250
|
-
let(:variable) { 'unknown' }
|
|
251
|
-
|
|
252
|
-
it { expect(environment).not_to be_key variable }
|
|
253
|
-
end
|
|
254
|
-
end
|
|
255
|
-
|
|
256
|
-
context 'when environment contains lowercase variable' do
|
|
257
|
-
let(:old_environment) { { 'my_variable' => '1' } }
|
|
258
|
-
|
|
259
|
-
context 'when uppercase key is given' do
|
|
260
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
261
|
-
|
|
262
|
-
it { expect(environment).to be_key variable }
|
|
263
|
-
end
|
|
264
|
-
|
|
265
|
-
context 'when lowercase key is given' do
|
|
266
|
-
let(:variable) { 'my_variable' }
|
|
267
|
-
|
|
268
|
-
it { expect(environment).to be_key variable }
|
|
269
|
-
end
|
|
270
|
-
|
|
271
|
-
context 'when mixed case key is given' do
|
|
272
|
-
let(:variable) { 'MY_variable' }
|
|
273
|
-
|
|
274
|
-
it { expect(environment).to be_key variable }
|
|
275
|
-
end
|
|
276
|
-
|
|
277
|
-
context 'when unknown variable is given' do
|
|
278
|
-
let(:variable) { 'unknown' }
|
|
279
|
-
|
|
280
|
-
it { expect(environment).not_to be_key variable }
|
|
281
|
-
end
|
|
282
|
-
end
|
|
283
|
-
|
|
284
|
-
context 'when environment contains mixed case variable' do
|
|
285
|
-
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
286
|
-
|
|
287
|
-
context 'when uppercase key is given' do
|
|
288
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
289
|
-
|
|
290
|
-
it { expect(environment).to be_key variable }
|
|
291
|
-
end
|
|
292
|
-
|
|
293
|
-
context 'when lowercase key is given' do
|
|
294
|
-
let(:variable) { 'my_variable' }
|
|
295
|
-
|
|
296
|
-
it { expect(environment).to be_key variable }
|
|
297
|
-
end
|
|
298
|
-
|
|
299
|
-
context 'when mixed case key is given' do
|
|
300
|
-
let(:variable) { 'MY_variable' }
|
|
301
|
-
|
|
302
|
-
it { expect(environment).to be_key variable }
|
|
303
|
-
end
|
|
304
|
-
|
|
305
|
-
context 'when unknown variable is given' do
|
|
306
|
-
let(:variable) { 'unknown' }
|
|
307
|
-
|
|
308
|
-
it { expect(environment).not_to be_key variable }
|
|
309
|
-
end
|
|
310
|
-
end
|
|
311
|
-
end
|
|
312
|
-
|
|
313
|
-
describe '#append' do
|
|
314
|
-
let(:value) { 'NEW_VALUE' }
|
|
315
|
-
|
|
316
|
-
context 'when environment contains uppercase variable' do
|
|
317
|
-
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
318
|
-
|
|
319
|
-
before(:each) { environment.append(variable, value) }
|
|
320
|
-
|
|
321
|
-
context 'when uppercase key is given' do
|
|
322
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
323
|
-
|
|
324
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
325
|
-
end
|
|
326
|
-
|
|
327
|
-
context 'when lowercase key is given' do
|
|
328
|
-
let(:variable) { 'my_variable' }
|
|
329
|
-
|
|
330
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
331
|
-
end
|
|
332
|
-
|
|
333
|
-
context 'when mixed case key is given' do
|
|
334
|
-
let(:variable) { 'MY_variable' }
|
|
335
|
-
|
|
336
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
337
|
-
end
|
|
338
|
-
|
|
339
|
-
context 'when unknown variable is given' do
|
|
340
|
-
let(:variable) { 'unknown' }
|
|
341
|
-
|
|
342
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
343
|
-
end
|
|
344
|
-
end
|
|
345
|
-
|
|
346
|
-
context 'when environment contains lowercase variable' do
|
|
347
|
-
let(:old_environment) { { 'my_variable' => '1' } }
|
|
348
|
-
|
|
349
|
-
before(:each) { environment.append(variable, value) }
|
|
350
|
-
|
|
351
|
-
context 'when uppercase key is given' do
|
|
352
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
353
|
-
|
|
354
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
355
|
-
end
|
|
356
|
-
|
|
357
|
-
context 'when lowercase key is given' do
|
|
358
|
-
let(:variable) { 'my_variable' }
|
|
359
|
-
|
|
360
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
361
|
-
end
|
|
362
|
-
|
|
363
|
-
context 'when mixed case key is given' do
|
|
364
|
-
let(:variable) { 'MY_variable' }
|
|
365
|
-
|
|
366
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
367
|
-
end
|
|
368
|
-
|
|
369
|
-
context 'when unknown variable is given' do
|
|
370
|
-
let(:variable) { 'unknown' }
|
|
371
|
-
|
|
372
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
373
|
-
end
|
|
374
|
-
end
|
|
375
|
-
|
|
376
|
-
context 'when environment contains mixed case variable' do
|
|
377
|
-
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
378
|
-
|
|
379
|
-
before(:each) { environment.append(variable, value) }
|
|
380
|
-
|
|
381
|
-
context 'when uppercase key is given' do
|
|
382
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
383
|
-
|
|
384
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
385
|
-
end
|
|
386
|
-
|
|
387
|
-
context 'when lowercase key is given' do
|
|
388
|
-
let(:variable) { 'my_variable' }
|
|
389
|
-
|
|
390
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
391
|
-
end
|
|
392
|
-
|
|
393
|
-
context 'when mixed case key is given' do
|
|
394
|
-
let(:variable) { 'MY_variable' }
|
|
395
|
-
|
|
396
|
-
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
397
|
-
end
|
|
398
|
-
|
|
399
|
-
context 'when unknown variable is given' do
|
|
400
|
-
let(:variable) { 'unknown' }
|
|
401
|
-
|
|
402
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
403
|
-
end
|
|
404
|
-
end
|
|
405
|
-
end
|
|
406
|
-
|
|
407
|
-
describe '#prepend' do
|
|
408
|
-
let(:value) { 'NEW_VALUE' }
|
|
409
|
-
|
|
410
|
-
context 'when environment contains uppercase variable' do
|
|
411
|
-
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
412
|
-
|
|
413
|
-
before(:each) { environment.prepend(variable, value) }
|
|
414
|
-
|
|
415
|
-
context 'when uppercase key is given' do
|
|
416
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
417
|
-
|
|
418
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
419
|
-
end
|
|
420
|
-
|
|
421
|
-
context 'when lowercase key is given' do
|
|
422
|
-
let(:variable) { 'my_variable' }
|
|
423
|
-
|
|
424
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
425
|
-
end
|
|
426
|
-
|
|
427
|
-
context 'when mixed case key is given' do
|
|
428
|
-
let(:variable) { 'MY_variable' }
|
|
429
|
-
|
|
430
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
431
|
-
end
|
|
432
|
-
|
|
433
|
-
context 'when unknown variable is given' do
|
|
434
|
-
let(:variable) { 'unknown' }
|
|
435
|
-
|
|
436
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
437
|
-
end
|
|
438
|
-
end
|
|
439
|
-
|
|
440
|
-
context 'when environment contains lowercase variable' do
|
|
441
|
-
let(:old_environment) { { 'my_variable' => '1' } }
|
|
442
|
-
|
|
443
|
-
before(:each) { environment.prepend(variable, value) }
|
|
444
|
-
|
|
445
|
-
context 'when uppercase key is given' do
|
|
446
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
447
|
-
|
|
448
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
449
|
-
end
|
|
450
|
-
|
|
451
|
-
context 'when lowercase key is given' do
|
|
452
|
-
let(:variable) { 'my_variable' }
|
|
453
|
-
|
|
454
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
455
|
-
end
|
|
456
|
-
|
|
457
|
-
context 'when mixed case key is given' do
|
|
458
|
-
let(:variable) { 'MY_variable' }
|
|
459
|
-
|
|
460
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
461
|
-
end
|
|
462
|
-
|
|
463
|
-
context 'when unknown variable is given' do
|
|
464
|
-
let(:variable) { 'unknown' }
|
|
465
|
-
|
|
466
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
467
|
-
end
|
|
468
|
-
end
|
|
469
|
-
|
|
470
|
-
context 'when environment contains mixed case variable' do
|
|
471
|
-
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
472
|
-
|
|
473
|
-
before(:each) { environment.prepend(variable, value) }
|
|
474
|
-
|
|
475
|
-
context 'when uppercase key is given' do
|
|
476
|
-
let(:variable) { 'MY_VARIABLE' }
|
|
477
|
-
|
|
478
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
479
|
-
end
|
|
480
|
-
|
|
481
|
-
context 'when lowercase key is given' do
|
|
482
|
-
let(:variable) { 'my_variable' }
|
|
483
|
-
|
|
484
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
485
|
-
end
|
|
486
|
-
|
|
487
|
-
context 'when mixed case key is given' do
|
|
488
|
-
let(:variable) { 'MY_variable' }
|
|
489
|
-
|
|
490
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
491
|
-
end
|
|
492
|
-
|
|
493
|
-
context 'when unknown variable is given' do
|
|
494
|
-
let(:variable) { 'unknown' }
|
|
495
|
-
|
|
496
|
-
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
497
|
-
end
|
|
498
|
-
end
|
|
499
|
-
end
|
|
500
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
RSpec.describe Aruba::Platforms::UnixCommandString do
|
|
4
|
-
let(:command_string) { described_class.new(base_command) }
|
|
5
|
-
|
|
6
|
-
describe '#to_a' do
|
|
7
|
-
context 'with a command with a path' do
|
|
8
|
-
let(:base_command) { '/foo/bar' }
|
|
9
|
-
it { expect(command_string.to_a).to eq [base_command] }
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
context 'with a command with a path containing spaces' do
|
|
13
|
-
let(:base_command) { '/foo bar/baz' }
|
|
14
|
-
it { expect(command_string.to_a).to eq [base_command] }
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
RSpec.describe Aruba::Platforms::WindowsCommandString do
|
|
4
|
-
let(:command_string) { described_class.new(base_command) }
|
|
5
|
-
let(:cmd_path) { 'C:\Some Path\cmd.exe' }
|
|
6
|
-
|
|
7
|
-
before do
|
|
8
|
-
allow(Aruba.platform).to receive(:which).with('cmd.exe').and_return(cmd_path)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
describe '#to_a' do
|
|
12
|
-
context 'with a command with a path' do
|
|
13
|
-
let(:base_command) { 'C:\Foo\Bar' }
|
|
14
|
-
it { expect(command_string.to_a).to eq [cmd_path, '/c', base_command] }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
context 'with a command with a path containing spaces' do
|
|
18
|
-
let(:base_command) { 'C:\Foo Bar\Baz' }
|
|
19
|
-
it { expect(command_string.to_a).to eq [cmd_path, '/c', base_command] }
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
data/spec/aruba/rspec_spec.rb
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
RSpec.describe 'RSpec Integration', :type => :aruba do
|
|
4
|
-
describe 'Configuration' do
|
|
5
|
-
subject(:config) { aruba.config }
|
|
6
|
-
|
|
7
|
-
context 'when io_wait_timeout is 0.5', :io_wait_timeout => 0.5 do
|
|
8
|
-
it { expect(config.io_wait_timeout).to eq 0.5 }
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
context 'when io_wait_timeout is 0.1' do
|
|
12
|
-
it { expect(config.io_wait_timeout).to eq 0.1 }
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
data/spec/aruba/runtime_spec.rb
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
RSpec.describe Aruba::Runtime do
|
|
4
|
-
# describe '#fixtures_directory' do
|
|
5
|
-
# context 'when no fixtures directories exist' do
|
|
6
|
-
# it "should raise exception" do
|
|
7
|
-
# expect { api.fixtures_directory }.to raise_error
|
|
8
|
-
# end
|
|
9
|
-
# end
|
|
10
|
-
#
|
|
11
|
-
# context 'when "/features/fixtures"-directory exist' do
|
|
12
|
-
# before(:each) { api.create_directory('features/fixtures') }
|
|
13
|
-
#
|
|
14
|
-
# it { expect(api.fixtures_directory).to eq expand_path('features/fixtures') }
|
|
15
|
-
# end
|
|
16
|
-
#
|
|
17
|
-
# context 'when "/spec/fixtures"-directory exist' do
|
|
18
|
-
# before(:each) { api.create_directory('spec/fixtures') }
|
|
19
|
-
#
|
|
20
|
-
# it { expect(api.fixtures_directory).to eq expand_path('spec/fixtures') }
|
|
21
|
-
# end
|
|
22
|
-
#
|
|
23
|
-
# context 'when "/test/fixtures"-directory exist' do
|
|
24
|
-
# before(:each) { api.create_directory('test/fixtures') }
|
|
25
|
-
#
|
|
26
|
-
# it { expect(api.fixtures_directory.to_s).to eq expand_path('test/fixtures') }
|
|
27
|
-
# end
|
|
28
|
-
# end
|
|
29
|
-
end
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
require 'aruba/processes/spawn_process'
|
|
2
|
-
|
|
3
|
-
RSpec.describe Aruba::Processes::SpawnProcess do
|
|
4
|
-
subject(:process) { described_class.new(command, exit_timeout, io_wait, working_directory, environment, main_class) }
|
|
5
|
-
|
|
6
|
-
let(:command) { 'echo "yo"' }
|
|
7
|
-
let(:exit_timeout) { 1 }
|
|
8
|
-
let(:io_wait) { 1 }
|
|
9
|
-
let(:working_directory) { Dir.getwd }
|
|
10
|
-
let(:environment) { ENV.to_hash.dup }
|
|
11
|
-
let(:main_class) { nil }
|
|
12
|
-
|
|
13
|
-
describe "#stdout" do
|
|
14
|
-
before(:each) { process.start }
|
|
15
|
-
before(:each) { process.stop }
|
|
16
|
-
|
|
17
|
-
context 'when invoked once' do
|
|
18
|
-
it { expect(process.stdout).to eq "yo\n" }
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
context 'when invoked twice' do
|
|
22
|
-
it { 2.times { expect(process.stdout).to eq "yo\n" } }
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe "#stderr" do
|
|
27
|
-
let(:command) { 'fixtures/spawn_process/stderr.sh yo' }
|
|
28
|
-
|
|
29
|
-
before(:each) { process.start }
|
|
30
|
-
before(:each) { process.stop }
|
|
31
|
-
|
|
32
|
-
context 'when invoked once' do
|
|
33
|
-
it { expect(process.stderr).to eq "yo\n" }
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
context 'when invoked twice' do
|
|
37
|
-
it { 2.times { expect(process.stderr).to eq "yo\n" } }
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
describe "#stop" do
|
|
42
|
-
before(:each) { process.start }
|
|
43
|
-
|
|
44
|
-
context 'when stopped successfully' do
|
|
45
|
-
it { process.stop }
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe "#start" do
|
|
50
|
-
context "when process run succeeds" do
|
|
51
|
-
it { expect { process.start }.not_to raise_error }
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
context "when process run fails" do
|
|
55
|
-
let(:command) { 'does_not_exists' }
|
|
56
|
-
|
|
57
|
-
it { expect {process.start}.to raise_error Aruba::LaunchError }
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
context 'with a command with a space in the path on unix' do
|
|
61
|
-
let(:child) { instance_double(ChildProcess::AbstractProcess).as_null_object }
|
|
62
|
-
let(:io) { instance_double(ChildProcess::AbstractIO).as_null_object }
|
|
63
|
-
let(:command) { 'foo' }
|
|
64
|
-
let(:command_path) { '/path with space/foo' }
|
|
65
|
-
|
|
66
|
-
before do
|
|
67
|
-
allow(Aruba.platform).to receive(:command_string).and_return Aruba::Platforms::UnixCommandString
|
|
68
|
-
allow(Aruba.platform).to receive(:which).with(command, anything).and_return(command_path)
|
|
69
|
-
allow(ChildProcess).to receive(:build).with(command_path).and_return(child)
|
|
70
|
-
allow(child).to receive(:io).and_return io
|
|
71
|
-
allow(child).to receive(:environment).and_return({})
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
it { expect { process.start }.to_not raise_error }
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
context 'with a command with a space in the path on windows' do
|
|
78
|
-
let(:child) { instance_double(ChildProcess::AbstractProcess).as_null_object }
|
|
79
|
-
let(:io) { instance_double(ChildProcess::AbstractIO).as_null_object }
|
|
80
|
-
let(:command) { 'foo' }
|
|
81
|
-
let(:cmd_path) { 'C:\Some Path\cmd.exe' }
|
|
82
|
-
let(:command_path) { 'D:\Bar Baz\foo' }
|
|
83
|
-
|
|
84
|
-
before do
|
|
85
|
-
allow(Aruba.platform).to receive(:command_string).and_return Aruba::Platforms::WindowsCommandString
|
|
86
|
-
allow(Aruba.platform).to receive(:which).with('cmd.exe').and_return(cmd_path)
|
|
87
|
-
allow(Aruba.platform).to receive(:which).with(command, anything).and_return(command_path)
|
|
88
|
-
allow(ChildProcess).to receive(:build).with(cmd_path, '/c', command_path).and_return(child)
|
|
89
|
-
allow(child).to receive(:io).and_return io
|
|
90
|
-
allow(child).to receive(:environment).and_return({})
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
it { expect { process.start }.to_not raise_error }
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|