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,159 +0,0 @@
|
|
|
1
|
-
Feature: Usage of configuration
|
|
2
|
-
|
|
3
|
-
You can configure `aruba` in two ways:
|
|
4
|
-
|
|
5
|
-
1. Using `Aruba.configure`-block
|
|
6
|
-
2. Using `aruba.config.<option> = <value>`
|
|
7
|
-
|
|
8
|
-
The first (1.) should be used to set defaults for ALL your tests. It changes
|
|
9
|
-
values on loadtime. The latter (2.) should be used to change options only for
|
|
10
|
-
specific tests during runtime. `aruba.config` contains the runtime
|
|
11
|
-
configuration of aruba which is reset to the loadtime configuration before
|
|
12
|
-
each test is run.
|
|
13
|
-
|
|
14
|
-
Background:
|
|
15
|
-
Given I use a fixture named "cli-app"
|
|
16
|
-
And an executable named "bin/cli" with:
|
|
17
|
-
"""bash
|
|
18
|
-
#!/bin/bash
|
|
19
|
-
trap "exit 128" SIGTERM SIGINT
|
|
20
|
-
sleep $*
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
Scenario: Setting default values for option for RSpec
|
|
24
|
-
Given a file named "spec/support/aruba.rb" with:
|
|
25
|
-
"""ruby
|
|
26
|
-
require 'aruba/rspec'
|
|
27
|
-
|
|
28
|
-
Aruba.configure do |config|
|
|
29
|
-
config.exit_timeout = 1
|
|
30
|
-
end
|
|
31
|
-
"""
|
|
32
|
-
And a file named "spec/usage_configuration_spec.rb" with:
|
|
33
|
-
"""ruby
|
|
34
|
-
require 'spec_helper'
|
|
35
|
-
|
|
36
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
37
|
-
context 'when fast command' do
|
|
38
|
-
before(:each) { run_command('cli 0') }
|
|
39
|
-
it { expect(last_command_started).to be_successfully_executed }
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
context 'when slow command' do
|
|
43
|
-
before(:each) { run_command('cli 2') }
|
|
44
|
-
it { expect(last_command_started).not_to be_successfully_executed }
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
"""
|
|
48
|
-
When I run `rspec`
|
|
49
|
-
Then the specs should all pass
|
|
50
|
-
|
|
51
|
-
Scenario: Setting option during runtime for RSpec
|
|
52
|
-
|
|
53
|
-
Maybe there are some long running tests, which need longer. You may not
|
|
54
|
-
want to set the default timeout for all commands to the maximum value only
|
|
55
|
-
to prevent those commands from failing.
|
|
56
|
-
|
|
57
|
-
Given a file named "spec/support/aruba.rb" with:
|
|
58
|
-
"""ruby
|
|
59
|
-
require 'aruba/rspec'
|
|
60
|
-
|
|
61
|
-
Aruba.configure do |config|
|
|
62
|
-
config.exit_timeout = 1
|
|
63
|
-
end
|
|
64
|
-
"""
|
|
65
|
-
And a file named "spec/support/hooks.rb" with:
|
|
66
|
-
"""ruby
|
|
67
|
-
RSpec.configure do |config|
|
|
68
|
-
config.before :each do |example|
|
|
69
|
-
next unless example.metadata.key? :slow_command
|
|
70
|
-
|
|
71
|
-
aruba.config.exit_timeout = 5
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
"""
|
|
75
|
-
And a file named "spec/usage_configuration_spec.rb" with:
|
|
76
|
-
"""ruby
|
|
77
|
-
require 'spec_helper'
|
|
78
|
-
|
|
79
|
-
RSpec.describe 'Run command', :type => :aruba do
|
|
80
|
-
context 'when fast command' do
|
|
81
|
-
before(:each) { run_command('cli 0') }
|
|
82
|
-
it { expect(last_command_started).to be_successfully_executed }
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
context 'when slow command and this is known by the developer', :slow_command => true do
|
|
86
|
-
before(:each) { run_command('cli 2') }
|
|
87
|
-
it { expect(last_command_started).to be_successfully_executed }
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
context 'when slow command, but this might be a failure' do
|
|
91
|
-
before(:each) { run_command('cli 2') }
|
|
92
|
-
it { expect(last_command_started).not_to be_successfully_executed }
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
"""
|
|
96
|
-
When I run `rspec`
|
|
97
|
-
Then the specs should all pass
|
|
98
|
-
|
|
99
|
-
Scenario: Setting default values for option for Cucumber
|
|
100
|
-
Given a file named "features/support/aruba.rb" with:
|
|
101
|
-
"""ruby
|
|
102
|
-
require 'aruba/cucumber'
|
|
103
|
-
|
|
104
|
-
Aruba.configure do |config|
|
|
105
|
-
config.exit_timeout = 1
|
|
106
|
-
end
|
|
107
|
-
"""
|
|
108
|
-
And a file named "features/run.feature" with:
|
|
109
|
-
"""
|
|
110
|
-
Feature: Run it
|
|
111
|
-
Scenario: Fast command
|
|
112
|
-
When I run `cli 0`
|
|
113
|
-
Then the exit status should be 0
|
|
114
|
-
|
|
115
|
-
Scenario: Slow command
|
|
116
|
-
When I run `cli 2`
|
|
117
|
-
Then the exit status should be 128
|
|
118
|
-
"""
|
|
119
|
-
When I run `cucumber`
|
|
120
|
-
Then the features should all pass
|
|
121
|
-
|
|
122
|
-
Scenario: Setting option during runtime for Cucumber
|
|
123
|
-
|
|
124
|
-
Maybe there are some long running tests, which need longer. You may not
|
|
125
|
-
want to set the default timeout for all commands to the maximum value only
|
|
126
|
-
to prevent those commands from failing.
|
|
127
|
-
|
|
128
|
-
Given a file named "features/support/aruba.rb" with:
|
|
129
|
-
"""ruby
|
|
130
|
-
require 'aruba/cucumber'
|
|
131
|
-
|
|
132
|
-
Aruba.configure do |config|
|
|
133
|
-
config.exit_timeout = 1
|
|
134
|
-
end
|
|
135
|
-
"""
|
|
136
|
-
And a file named "features/support/hooks.rb" with:
|
|
137
|
-
"""ruby
|
|
138
|
-
Before '@slow-command' do
|
|
139
|
-
aruba.config.exit_timeout = 5
|
|
140
|
-
end
|
|
141
|
-
"""
|
|
142
|
-
And a file named "features/usage_configuration.feature" with:
|
|
143
|
-
"""
|
|
144
|
-
Feature: Run it
|
|
145
|
-
Scenario: Fast command
|
|
146
|
-
When I run `cli 0`
|
|
147
|
-
Then the exit status should be 0
|
|
148
|
-
|
|
149
|
-
@slow-command
|
|
150
|
-
Scenario: Slow command known by the developer
|
|
151
|
-
When I run `cli 2`
|
|
152
|
-
Then the exit status should be 0
|
|
153
|
-
|
|
154
|
-
Scenario: Slow command which might be a failure
|
|
155
|
-
When I run `cli 3`
|
|
156
|
-
Then the exit status should be 128
|
|
157
|
-
"""
|
|
158
|
-
When I run `cucumber`
|
|
159
|
-
Then the features should all pass
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Feature: Configure working directory of aruba
|
|
2
|
-
|
|
3
|
-
As a developer
|
|
4
|
-
I want to configure the working directory of aruba
|
|
5
|
-
In order to have a test directory for each used spec runner - e.g. cucumber or rspec
|
|
6
|
-
|
|
7
|
-
Background:
|
|
8
|
-
Given I use the fixture "cli-app"
|
|
9
|
-
|
|
10
|
-
Scenario: Default value
|
|
11
|
-
Given a file named "features/support/aruba.rb" with:
|
|
12
|
-
"""
|
|
13
|
-
Aruba.configure do |config|
|
|
14
|
-
puts %(The default value is "#{config.working_directory}")
|
|
15
|
-
end
|
|
16
|
-
"""
|
|
17
|
-
When I successfully run `cucumber`
|
|
18
|
-
Then the output should contain:
|
|
19
|
-
"""
|
|
20
|
-
The default value is "tmp/aruba"
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
Scenario: Modify value
|
|
24
|
-
Given a file named "features/support/aruba.rb" with:
|
|
25
|
-
"""
|
|
26
|
-
Aruba.configure do |config|
|
|
27
|
-
config.working_directory = 'tmp/cucumber'
|
|
28
|
-
end
|
|
29
|
-
"""
|
|
30
|
-
And the default feature-test
|
|
31
|
-
And the default executable
|
|
32
|
-
When I successfully run `cucumber`
|
|
33
|
-
Then a directory named "tmp/cucumber" should exist
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Feature: Build Aruba Gem
|
|
2
|
-
|
|
3
|
-
As a aruba developer
|
|
4
|
-
I want to build the `aruba` gem
|
|
5
|
-
In order to install it
|
|
6
|
-
|
|
7
|
-
Scenario: Building aruba using rake task
|
|
8
|
-
|
|
9
|
-
To build the `aruba`-gem you can use the `build`-rake task.
|
|
10
|
-
|
|
11
|
-
Given I successfully run `rake -T build`
|
|
12
|
-
Then the output should contain:
|
|
13
|
-
"""
|
|
14
|
-
build
|
|
15
|
-
"""
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
Feature: Cleanup Aruba Working Directory
|
|
2
|
-
|
|
3
|
-
By default Aruba removes its scratch directory before
|
|
4
|
-
every scenario. This isn't always the right thing
|
|
5
|
-
to do, especially when the path to the default directory
|
|
6
|
-
has been changed. Use @no-clobber to stop Aruba from
|
|
7
|
-
cleaning up after itself.
|
|
8
|
-
|
|
9
|
-
Background:
|
|
10
|
-
Given I use a fixture named "cli-app"
|
|
11
|
-
|
|
12
|
-
Scenario: Clean up artifacts and pwd from a previous scenario
|
|
13
|
-
Given a file named "features/cleanup.feature" with:
|
|
14
|
-
"""
|
|
15
|
-
Feature: Check
|
|
16
|
-
Scenario: Check #1
|
|
17
|
-
Given a file named "file.txt" with "content"
|
|
18
|
-
And a directory named "dir.d"
|
|
19
|
-
Then a file named "file.txt" should exist
|
|
20
|
-
And a directory named "dir.d" should exist
|
|
21
|
-
When I cd to "dir.d"
|
|
22
|
-
And I run `pwd`
|
|
23
|
-
Then the output should match %r</tmp/aruba/dir.d$>
|
|
24
|
-
|
|
25
|
-
Scenario: Check #2
|
|
26
|
-
Then a file named "file.txt" should not exist
|
|
27
|
-
And a directory named "dir.d" should not exist
|
|
28
|
-
When I run `pwd`
|
|
29
|
-
Then the output should match %r</tmp/aruba$>
|
|
30
|
-
"""
|
|
31
|
-
When I run `cucumber`
|
|
32
|
-
Then the features should all pass
|
|
33
|
-
|
|
34
|
-
Scenario: Do not clobber before run
|
|
35
|
-
The `@no-clobber` tag stops Aruba from clearing out its scratch directory.
|
|
36
|
-
Other setup steps are still performed, such as setting the current working
|
|
37
|
-
directory.
|
|
38
|
-
|
|
39
|
-
Given a file named "tmp/aruba/file.txt" with "content"
|
|
40
|
-
And a directory named "tmp/aruba/dir.d"
|
|
41
|
-
And a file named "features/cleanup.feature" with:
|
|
42
|
-
"""
|
|
43
|
-
Feature: Check
|
|
44
|
-
Scenario: Check #1
|
|
45
|
-
Given a file named "file.txt" with "content"
|
|
46
|
-
And a directory named "dir.d"
|
|
47
|
-
Then a file named "file.txt" should exist
|
|
48
|
-
And a directory named "dir.d" should exist
|
|
49
|
-
|
|
50
|
-
@no-clobber
|
|
51
|
-
Scenario: Check #2
|
|
52
|
-
Then a file named "file.txt" should exist
|
|
53
|
-
And a directory named "dir.d" should exist
|
|
54
|
-
When I run `pwd`
|
|
55
|
-
Then the output should match %r</tmp/aruba$>
|
|
56
|
-
"""
|
|
57
|
-
When I run `cucumber`
|
|
58
|
-
Then the features should all pass
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
Feature: Run commands with Aruba
|
|
2
|
-
|
|
3
|
-
As long as you've got the neccessary programs, libraries, runtime
|
|
4
|
-
environments, interpreters installed, it doesn't matter in which programming
|
|
5
|
-
language your commandline application is implemented. You can even use POSIX
|
|
6
|
-
standard tools like "printf".
|
|
7
|
-
|
|
8
|
-
Below you find some examples of the "Hello, Aruba!"-application implemented
|
|
9
|
-
with different programming languages and a single example for a POSIX
|
|
10
|
-
standard tool. This is NOT an exclusive list. Every commandline application
|
|
11
|
-
should run with `aruba`.
|
|
12
|
-
|
|
13
|
-
Background:
|
|
14
|
-
Given I use a fixture named "getting-started-app"
|
|
15
|
-
And a file named "features/hello_aruba.feature" with:
|
|
16
|
-
"""
|
|
17
|
-
Feature: Getting Started With Aruba
|
|
18
|
-
Scenario: First Run of Command
|
|
19
|
-
Given I successfully run `cli`
|
|
20
|
-
Then the output should contain:
|
|
21
|
-
\"\"\"
|
|
22
|
-
Hello, Aruba!
|
|
23
|
-
\"\"\"
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
@requires-bash
|
|
27
|
-
Scenario: Bash Program
|
|
28
|
-
Given an executable named "bin/cli" with:
|
|
29
|
-
"""bash
|
|
30
|
-
#!/usr/bin/env bash
|
|
31
|
-
|
|
32
|
-
echo "Hello, Aruba!"
|
|
33
|
-
"""
|
|
34
|
-
When I successfully run `cucumber`
|
|
35
|
-
Then the features should all pass
|
|
36
|
-
|
|
37
|
-
@requires-bash
|
|
38
|
-
Scenario: Bash Program run via bash
|
|
39
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
40
|
-
"""
|
|
41
|
-
Feature: Getting Started With Aruba
|
|
42
|
-
Scenario: First Run of Command
|
|
43
|
-
Given a file named "cli.sh" with:
|
|
44
|
-
\"\"\"
|
|
45
|
-
echo "Hello, Aruba!"
|
|
46
|
-
\"\"\"
|
|
47
|
-
When I successfully run `bash ./cli.sh`
|
|
48
|
-
Then the output should contain:
|
|
49
|
-
\"\"\"
|
|
50
|
-
Hello, Aruba!
|
|
51
|
-
\"\"\"
|
|
52
|
-
"""
|
|
53
|
-
When I successfully run `cucumber`
|
|
54
|
-
Then the features should all pass
|
|
55
|
-
|
|
56
|
-
@requires-ruby
|
|
57
|
-
Scenario: Ruby Program
|
|
58
|
-
Given an executable named "bin/cli" with:
|
|
59
|
-
"""ruby
|
|
60
|
-
#!/usr/bin/env ruby
|
|
61
|
-
|
|
62
|
-
puts "Hello, Aruba!"
|
|
63
|
-
"""
|
|
64
|
-
When I successfully run `cucumber`
|
|
65
|
-
Then the features should all pass
|
|
66
|
-
|
|
67
|
-
@requires-ruby
|
|
68
|
-
Scenario: Ruby Program via "ruby"
|
|
69
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
70
|
-
"""
|
|
71
|
-
Feature: Getting Started With Aruba
|
|
72
|
-
Scenario: First Run of Command
|
|
73
|
-
Given a file named "cli.rb" with:
|
|
74
|
-
\"\"\"
|
|
75
|
-
puts "Hello, Aruba!"
|
|
76
|
-
\"\"\"
|
|
77
|
-
When I successfully run `ruby ./cli.rb`
|
|
78
|
-
Then the output should contain:
|
|
79
|
-
\"\"\"
|
|
80
|
-
Hello, Aruba!
|
|
81
|
-
\"\"\"
|
|
82
|
-
"""
|
|
83
|
-
When I successfully run `cucumber`
|
|
84
|
-
Then the features should all pass
|
|
85
|
-
|
|
86
|
-
@requires-python
|
|
87
|
-
Scenario: Python Program
|
|
88
|
-
Given an executable named "bin/cli" with:
|
|
89
|
-
"""python
|
|
90
|
-
#!/usr/bin/env python
|
|
91
|
-
|
|
92
|
-
print("Hello, Aruba!")
|
|
93
|
-
"""
|
|
94
|
-
When I successfully run `cucumber`
|
|
95
|
-
Then the features should all pass
|
|
96
|
-
|
|
97
|
-
@requires-python
|
|
98
|
-
Scenario: Python Program via "python"
|
|
99
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
100
|
-
"""
|
|
101
|
-
Feature: Getting Started With Aruba
|
|
102
|
-
Scenario: First Run of Command
|
|
103
|
-
Given a file named "cli.py" with:
|
|
104
|
-
\"\"\"
|
|
105
|
-
print("Hello, Aruba!")
|
|
106
|
-
\"\"\"
|
|
107
|
-
When I successfully run `python ./cli.py`
|
|
108
|
-
Then the output should contain:
|
|
109
|
-
\"\"\"
|
|
110
|
-
Hello, Aruba!
|
|
111
|
-
\"\"\"
|
|
112
|
-
"""
|
|
113
|
-
When I successfully run `cucumber`
|
|
114
|
-
Then the features should all pass
|
|
115
|
-
|
|
116
|
-
@requires-perl
|
|
117
|
-
Scenario: Perl Program
|
|
118
|
-
Given an executable named "bin/cli" with:
|
|
119
|
-
"""perl
|
|
120
|
-
#!/usr/bin/env perl
|
|
121
|
-
|
|
122
|
-
print "Hello, Aruba!\n";
|
|
123
|
-
"""
|
|
124
|
-
When I successfully run `cucumber`
|
|
125
|
-
Then the features should all pass
|
|
126
|
-
|
|
127
|
-
@requires-perl
|
|
128
|
-
Scenario: Perl Program via "perl"
|
|
129
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
130
|
-
"""
|
|
131
|
-
Feature: Getting Started With Aruba
|
|
132
|
-
Scenario: First Run of Command
|
|
133
|
-
Given a file named "cli.pl" with:
|
|
134
|
-
\"\"\"perl
|
|
135
|
-
print "Hello, Aruba!\n";
|
|
136
|
-
\"\"\"
|
|
137
|
-
When I successfully run `perl ./cli.pl`
|
|
138
|
-
Then the output should contain:
|
|
139
|
-
\"\"\"
|
|
140
|
-
Hello, Aruba!
|
|
141
|
-
\"\"\"
|
|
142
|
-
"""
|
|
143
|
-
When I successfully run `cucumber`
|
|
144
|
-
Then the features should all pass
|
|
145
|
-
|
|
146
|
-
@requires-java
|
|
147
|
-
Scenario: Java Program
|
|
148
|
-
|
|
149
|
-
It's even possible to compile and run Java programs with Aruba.
|
|
150
|
-
|
|
151
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
152
|
-
"""cucumber
|
|
153
|
-
Feature: Getting Started With Aruba
|
|
154
|
-
Scenario: First Run of Command
|
|
155
|
-
Given a file named "tmp/HelloArubaApp.java" with:
|
|
156
|
-
\"\"\"
|
|
157
|
-
class HelloArubaApp {
|
|
158
|
-
public static void main(String[] args) {
|
|
159
|
-
System.out.println("Hello, Aruba!");
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
\"\"\"
|
|
163
|
-
And I successfully run `javac tmp/HelloArubaApp.java`
|
|
164
|
-
And I cd to "tmp/"
|
|
165
|
-
And I successfully run `java HelloArubaApp`
|
|
166
|
-
Then the output should contain:
|
|
167
|
-
\"\"\"
|
|
168
|
-
Hello, Aruba!
|
|
169
|
-
\"\"\"
|
|
170
|
-
"""
|
|
171
|
-
When I successfully run `cucumber`
|
|
172
|
-
Then the features should all pass
|
|
173
|
-
|
|
174
|
-
@requires-posix-standard-tools
|
|
175
|
-
Scenario: POSIX standard tools
|
|
176
|
-
Given a file named "features/hello_aruba.feature" with:
|
|
177
|
-
"""
|
|
178
|
-
Feature: Getting Started With Aruba
|
|
179
|
-
Scenario: First Run of Command
|
|
180
|
-
Given I successfully run `printf "%s" "Hello, Aruba!"`
|
|
181
|
-
Then the output should contain:
|
|
182
|
-
\"\"\"
|
|
183
|
-
Hello, Aruba!
|
|
184
|
-
\"\"\"
|
|
185
|
-
"""
|
|
186
|
-
When I successfully run `cucumber`
|
|
187
|
-
Then the features should all pass
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
Feature: Supported Testing Frameworks
|
|
2
|
-
|
|
3
|
-
You can use `aruba` with all major testing frameworks from the Ruby World:
|
|
4
|
-
|
|
5
|
-
\* Cucumber
|
|
6
|
-
\* RSpec
|
|
7
|
-
\* Minitest
|
|
8
|
-
|
|
9
|
-
Background:
|
|
10
|
-
Given I use a fixture named "cli-app"
|
|
11
|
-
|
|
12
|
-
Scenario: Use "aruba" with "Cucumber"
|
|
13
|
-
Given a file named "features/support/env.rb" with:
|
|
14
|
-
"""
|
|
15
|
-
require 'aruba/cucumber'
|
|
16
|
-
"""
|
|
17
|
-
And a file named "features/use_aruba_with_cucumber.feature" with:
|
|
18
|
-
"""
|
|
19
|
-
Feature: Cucumber
|
|
20
|
-
Scenario: First Run
|
|
21
|
-
Given a file named "file.txt" with:
|
|
22
|
-
\"\"\"
|
|
23
|
-
Hello World
|
|
24
|
-
\"\"\"
|
|
25
|
-
Then the file "file.txt" should contain:
|
|
26
|
-
\"\"\"
|
|
27
|
-
Hello World
|
|
28
|
-
\"\"\"
|
|
29
|
-
"""
|
|
30
|
-
When I run `cucumber`
|
|
31
|
-
Then the features should all pass
|
|
32
|
-
|
|
33
|
-
Scenario: Use "aruba" with "RSpec"
|
|
34
|
-
Given a file named "spec/support/aruba.rb" with:
|
|
35
|
-
"""
|
|
36
|
-
require 'aruba/rspec'
|
|
37
|
-
"""
|
|
38
|
-
And a file named "spec/spec_helper.rb" with:
|
|
39
|
-
"""
|
|
40
|
-
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
41
|
-
|
|
42
|
-
if RUBY_VERSION < '1.9.3'
|
|
43
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
|
|
44
|
-
else
|
|
45
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
46
|
-
end
|
|
47
|
-
"""
|
|
48
|
-
And a file named "spec/use_aruba_with_rspec_spec.rb" with:
|
|
49
|
-
"""
|
|
50
|
-
require 'spec_helper'
|
|
51
|
-
|
|
52
|
-
RSpec.describe 'First Run', :type => :aruba do
|
|
53
|
-
let(:file) { 'file.txt' }
|
|
54
|
-
let(:content) { 'Hello World' }
|
|
55
|
-
|
|
56
|
-
before(:each) { write_file file, content }
|
|
57
|
-
|
|
58
|
-
it { expect(read(file)).to eq [content] }
|
|
59
|
-
end
|
|
60
|
-
"""
|
|
61
|
-
When I run `rspec`
|
|
62
|
-
Then the specs should all pass
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
Scenario: Use "aruba" with "Minitest"
|
|
66
|
-
Given a file named "test/support/aruba.rb" with:
|
|
67
|
-
"""
|
|
68
|
-
require 'aruba/api'
|
|
69
|
-
"""
|
|
70
|
-
And a file named "test/test_helper.rb" with:
|
|
71
|
-
"""
|
|
72
|
-
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
73
|
-
|
|
74
|
-
if RUBY_VERSION < '1.9.3'
|
|
75
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
|
|
76
|
-
else
|
|
77
|
-
::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
|
|
78
|
-
end
|
|
79
|
-
"""
|
|
80
|
-
And a file named "test/use_aruba_with_minitest.rb" with:
|
|
81
|
-
"""
|
|
82
|
-
$LOAD_PATH.unshift File.expand_path('../test', __FILE__)
|
|
83
|
-
|
|
84
|
-
require 'test_helper'
|
|
85
|
-
require 'minitest/autorun'
|
|
86
|
-
|
|
87
|
-
class FirstRun < Minitest::Test
|
|
88
|
-
include Aruba::Api
|
|
89
|
-
|
|
90
|
-
def setup
|
|
91
|
-
aruba_setup
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
def getting_started_with_aruba
|
|
95
|
-
file = 'file.txt'
|
|
96
|
-
content = 'Hello World'
|
|
97
|
-
|
|
98
|
-
write_file file, content
|
|
99
|
-
read(file).must_equal [content]
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
"""
|
|
103
|
-
When I run `ruby -Ilib:test test/use_aruba_with_minitest.rb`
|
|
104
|
-
Then the tests should all pass
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
Feature: Writing good feature tests with aruba to create documentations
|
|
2
|
-
|
|
3
|
-
You can use Markdown within your feature tests. This is quite good to write a
|
|
4
|
-
living documentation.
|
|
5
|
-
|
|
6
|
-
There are some edge cases where Gherkin and Markdown don't agree. Bullet lists
|
|
7
|
-
using `*` is one example. The `*` is also an alias for step keywords in
|
|
8
|
-
Gherkin. Markdown headers (the kind starting with a `#`) is another example.
|
|
9
|
-
They are parsed as comments by Gherkin. To use either of these, just escape
|
|
10
|
-
them with a backslash. Alternatively just use the "-".
|
|
11
|
-
|
|
12
|
-
You'd write:
|
|
13
|
-
|
|
14
|
-
```gherkin
|
|
15
|
-
Scenario: Make tea
|
|
16
|
-
\## Making tea
|
|
17
|
-
\* Get a pot
|
|
18
|
-
\* And some hot water
|
|
19
|
-
|
|
20
|
-
Given...
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
This way Gherkin won't recognize these lines as special tokens, and the
|
|
24
|
-
reporter will render them as Markdown. (The reporter strips away any leading
|
|
25
|
-
the backslashes before handing it off to the Markdown parser).
|
|
26
|
-
|
|
27
|
-
Another option is to use alternative Markdown syntax and omit conflicts and
|
|
28
|
-
escaping altogether:
|
|
29
|
-
|
|
30
|
-
```gherkin
|
|
31
|
-
Scenario: Make tea
|
|
32
|
-
Making tea
|
|
33
|
-
----------
|
|
34
|
-
- Get a pot
|
|
35
|
-
- And some hot water
|
|
36
|
-
|
|
37
|
-
Given...
|
|
38
|
-
```
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
Feature: After command hooks
|
|
2
|
-
|
|
3
|
-
You can configure Aruba to run blocks of code after it has run
|
|
4
|
-
a command. The command will be passed to the block.
|
|
5
|
-
|
|
6
|
-
You can hook into Aruba's lifecycle just before it runs a command and after it has run the command:
|
|
7
|
-
|
|
8
|
-
```ruby
|
|
9
|
-
Aruba.configure do |config|
|
|
10
|
-
config.after :command do |cmd|
|
|
11
|
-
puts "After the run of '#{cmd}'"
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Background:
|
|
17
|
-
Given I use a fixture named "cli-app"
|
|
18
|
-
|
|
19
|
-
Scenario: Run a simple command with an "after(:command)"-hook
|
|
20
|
-
Given a file named "spec/support/hooks.rb" with:
|
|
21
|
-
"""
|
|
22
|
-
require 'aruba'
|
|
23
|
-
|
|
24
|
-
Aruba.configure do |config|
|
|
25
|
-
config.after :command do |cmd|
|
|
26
|
-
puts "after the run of `#{cmd.commandline}`"
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
"""
|
|
30
|
-
And a file named "spec/hook_spec.rb" with:
|
|
31
|
-
"""
|
|
32
|
-
require 'spec_helper'
|
|
33
|
-
|
|
34
|
-
RSpec.describe 'Hooks', :type => :aruba do
|
|
35
|
-
before(:each) { run_command_and_stop 'echo running' }
|
|
36
|
-
|
|
37
|
-
it { expect(last_command_started.stdout.chomp).to eq 'running' }
|
|
38
|
-
end
|
|
39
|
-
"""
|
|
40
|
-
When I run `rspec`
|
|
41
|
-
Then the specs should all pass
|
|
42
|
-
And the output should contain:
|
|
43
|
-
"""
|
|
44
|
-
after the run of `echo running`
|
|
45
|
-
"""
|
|
46
|
-
|