aruba-win-fix 0.14.2
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 +7 -0
- data/.document +5 -0
- data/.gitignore +37 -0
- data/.rspec +3 -0
- data/.rubocop.yml +188 -0
- data/.simplecov +34 -0
- data/.travis.yml +47 -0
- data/.yardopts +8 -0
- data/CONTRIBUTING.md +71 -0
- data/Gemfile +83 -0
- data/History.md +579 -0
- data/LICENSE +20 -0
- data/README.md +226 -0
- data/Rakefile +49 -0
- data/TODO.md +13 -0
- data/appveyor.yml +32 -0
- data/aruba.gemspec +48 -0
- data/bin/aruba +7 -0
- data/config/.gitignore +1 -0
- data/cucumber.yml +26 -0
- data/features/.nav +72 -0
- data/features/api/command/find_command.feature +83 -0
- data/features/api/command/last_command_started.feature +50 -0
- data/features/api/command/last_command_stopped.feature +89 -0
- data/features/api/command/run.feature +414 -0
- data/features/api/command/run_simple.feature +242 -0
- data/features/api/command/send_signal.feature +53 -0
- data/features/api/command/stderr.feature +46 -0
- data/features/api/command/stdout.feature +46 -0
- data/features/api/command/stop.feature +131 -0
- data/features/api/command/stop_all_commands.feature +53 -0
- data/features/api/command/terminate_all_commands.feature +53 -0
- data/features/api/command/which.feature +37 -0
- data/features/api/core/expand_path.feature +88 -0
- data/features/api/environment/append_environment_variable.feature +128 -0
- data/features/api/environment/delete_environment_variable.feature +63 -0
- data/features/api/environment/prepend_environment_variable.feature +128 -0
- data/features/api/environment/set_environment_variable.feature +376 -0
- data/features/api/filesystem/cd.feature +184 -0
- data/features/api/filesystem/create_directory.feature +57 -0
- data/features/api/filesystem/disk_usage.feature +152 -0
- data/features/api/filesystem/does_exist.feature +62 -0
- data/features/api/filesystem/fixtures.feature +104 -0
- data/features/api/filesystem/is_absolute.feature +48 -0
- data/features/api/filesystem/is_directory.feature +53 -0
- data/features/api/filesystem/is_file.feature +54 -0
- data/features/api/filesystem/is_relative.feature +48 -0
- data/features/api/filesystem/move.feature +119 -0
- data/features/api/text/extract_text.feature +87 -0
- data/features/api/text/replace_variables.feature +45 -0
- data/features/api/text/sanitize_text.feature +228 -0
- data/features/api/text/unescape_text.feature +127 -0
- data/features/cli/console.feature +52 -0
- data/features/cli/init.feature +79 -0
- data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
- data/features/configuration/command_runtime_environment.feature +129 -0
- data/features/configuration/console_history_file.feature +38 -0
- data/features/configuration/exit_timeout.feature +52 -0
- data/features/configuration/fixtures_directories.feature +38 -0
- data/features/configuration/fixtures_path_prefix.feature +23 -0
- data/features/configuration/home_directory.feature +80 -0
- data/features/configuration/io_timeout.feature +30 -0
- data/features/configuration/keep_ansi.feature +30 -0
- data/features/configuration/log_level.feature +38 -0
- data/features/configuration/physical_block_size.feature +53 -0
- data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
- data/features/configuration/root_directory.feature +30 -0
- data/features/configuration/startup_wait_time.feature +48 -0
- data/features/configuration/usage.feature +159 -0
- data/features/configuration/working_directory.feature +33 -0
- data/features/development/build.feature +15 -0
- data/features/development/test.feature +24 -0
- data/features/getting_started/cleanup.feature +67 -0
- data/features/getting_started/install.feature +8 -0
- data/features/getting_started/run_commands.feature +177 -0
- data/features/getting_started/supported_testing_frameworks.feature +104 -0
- data/features/getting_started/writing_good_feature_tests.feature +38 -0
- data/features/hooks/after/command.feature +44 -0
- data/features/hooks/before/command.feature +71 -0
- data/features/matchers/collection/include_an_object.feature +72 -0
- data/features/matchers/directory/have_sub_directory.feature +110 -0
- data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
- data/features/matchers/file/be_existing_executable.feature +88 -0
- data/features/matchers/file/be_existing_file.feature +82 -0
- data/features/matchers/file/have_file_content.feature +123 -0
- data/features/matchers/file/have_file_size.feature +107 -0
- data/features/matchers/path/be_an_absolute_path.feature +74 -0
- data/features/matchers/path/be_an_existing_path.feature +97 -0
- data/features/matchers/path/have_permissions.feature +118 -0
- data/features/matchers/timeouts.feature +48 -0
- data/features/platforms/jruby.feature +14 -0
- data/features/rspec/integration.feature +179 -0
- data/features/step_definitions/aruba_dev_steps.rb +56 -0
- data/features/step_definitions/hooks.rb +96 -0
- data/features/steps/command/debug.feature +92 -0
- data/features/steps/command/exit_statuses.feature +136 -0
- data/features/steps/command/in_process.feature +485 -0
- data/features/steps/command/interactive.feature +90 -0
- data/features/steps/command/output.feature +588 -0
- data/features/steps/command/run.feature +66 -0
- data/features/steps/command/send_signal.feature +104 -0
- data/features/steps/command/shell.feature +155 -0
- data/features/steps/command/stderr.feature +68 -0
- data/features/steps/command/stdout.feature +109 -0
- data/features/steps/command/stop.feature +313 -0
- data/features/steps/core/announce.feature +283 -0
- data/features/steps/environment/append_environment_variable.feature +52 -0
- data/features/steps/environment/home_variable.feature +62 -0
- data/features/steps/environment/prepend_environment_variable.feature +52 -0
- data/features/steps/environment/set_environment_variable.feature +49 -0
- data/features/steps/filesystem/append_to_file.feature +45 -0
- data/features/steps/filesystem/cd_to_directory.feature +33 -0
- data/features/steps/filesystem/check_file_content.feature +61 -0
- data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
- data/features/steps/filesystem/compare_files.feature +42 -0
- data/features/steps/filesystem/copy.feature +45 -0
- data/features/steps/filesystem/create_directory.feature +57 -0
- data/features/steps/filesystem/create_file.feature +76 -0
- data/features/steps/filesystem/existence_of_directory.feature +57 -0
- data/features/steps/filesystem/existence_of_file.feature +43 -0
- data/features/steps/filesystem/file_content.feature +86 -0
- data/features/steps/filesystem/fixtures.feature +64 -0
- data/features/steps/filesystem/move.feature +45 -0
- data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
- data/features/steps/filesystem/non_existence_of_file.feature +80 -0
- data/features/steps/filesystem/overwrite_file.feature +72 -0
- data/features/steps/filesystem/remove_directory.feature +38 -0
- data/features/steps/filesystem/remove_file.feature +38 -0
- data/features/steps/filesystem/use_fixture.feature +77 -0
- data/features/steps/overview.feature +60 -0
- data/features/support/aruba.rb +7 -0
- data/features/support/env.rb +33 -0
- data/features/support/jruby.rb +5 -0
- data/features/support/simplecov_setup.rb +8 -0
- data/fixtures/cli-app/.gitignore +9 -0
- data/fixtures/cli-app/.rspec +2 -0
- data/fixtures/cli-app/README.md +39 -0
- data/fixtures/cli-app/Rakefile +1 -0
- data/fixtures/cli-app/bin/cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +26 -0
- data/fixtures/cli-app/features/support/env.rb +1 -0
- data/fixtures/cli-app/lib/cli/app.rb +13 -0
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
- data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
- data/fixtures/cli-app/script/console +14 -0
- data/fixtures/cli-app/spec/spec_helper.rb +9 -0
- data/fixtures/cli-app/spec/support/aruba.rb +1 -0
- data/fixtures/copy/file.txt +1 -0
- data/fixtures/empty-app/.gitignore +9 -0
- data/fixtures/empty-app/.rspec +2 -0
- data/fixtures/empty-app/README.md +24 -0
- data/fixtures/empty-app/Rakefile +1 -0
- data/fixtures/empty-app/cli-app.gemspec +26 -0
- data/fixtures/empty-app/lib/cli/app.rb +13 -0
- data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
- data/fixtures/getting-started-app/.gitignore +4 -0
- data/fixtures/getting-started-app/Gemfile +4 -0
- data/fixtures/getting-started-app/README.md +3 -0
- data/fixtures/getting-started-app/features/support/env.rb +1 -0
- data/fixtures/spawn_process/stderr.sh +3 -0
- data/lib/aruba.rb +1 -0
- data/lib/aruba/api.rb +34 -0
- data/lib/aruba/api/command.rb +307 -0
- data/lib/aruba/api/core.rb +191 -0
- data/lib/aruba/api/deprecated.rb +897 -0
- data/lib/aruba/api/environment.rb +89 -0
- data/lib/aruba/api/filesystem.rb +392 -0
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/api/text.rb +56 -0
- data/lib/aruba/aruba_path.rb +133 -0
- data/lib/aruba/basic_configuration.rb +240 -0
- data/lib/aruba/basic_configuration/option.rb +32 -0
- data/lib/aruba/cli.rb +26 -0
- data/lib/aruba/colorizer.rb +108 -0
- data/lib/aruba/command.rb +74 -0
- data/lib/aruba/config.rb +108 -0
- data/lib/aruba/config/jruby.rb +17 -0
- data/lib/aruba/config_wrapper.rb +58 -0
- data/lib/aruba/console.rb +70 -0
- data/lib/aruba/console/help.rb +35 -0
- data/lib/aruba/contracts/absolute_path.rb +20 -0
- data/lib/aruba/contracts/enum.rb +26 -0
- data/lib/aruba/contracts/is_power_of_two.rb +22 -0
- data/lib/aruba/contracts/relative_path.rb +20 -0
- data/lib/aruba/cucumber.rb +13 -0
- data/lib/aruba/cucumber/command.rb +422 -0
- data/lib/aruba/cucumber/core.rb +5 -0
- data/lib/aruba/cucumber/environment.rb +42 -0
- data/lib/aruba/cucumber/file.rb +201 -0
- data/lib/aruba/cucumber/hooks.rb +160 -0
- data/lib/aruba/cucumber/rvm.rb +3 -0
- data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
- data/lib/aruba/errors.rb +37 -0
- data/lib/aruba/event_bus.rb +59 -0
- data/lib/aruba/event_bus/name_resolver.rb +168 -0
- data/lib/aruba/events.rb +39 -0
- data/lib/aruba/extensions/string/strip.rb +25 -0
- data/lib/aruba/file_size.rb +63 -0
- data/lib/aruba/generators/script_file.rb +46 -0
- data/lib/aruba/hooks.rb +56 -0
- data/lib/aruba/in_config_wrapper.rb +24 -0
- data/lib/aruba/in_process.rb +14 -0
- data/lib/aruba/initializer.rb +222 -0
- data/lib/aruba/jruby.rb +4 -0
- data/lib/aruba/matchers/base/base_matcher.rb +96 -0
- data/lib/aruba/matchers/base/object_formatter.rb +114 -0
- data/lib/aruba/matchers/collection.rb +1 -0
- data/lib/aruba/matchers/collection/all.rb +11 -0
- data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
- data/lib/aruba/matchers/command.rb +1 -0
- data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
- data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
- data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
- data/lib/aruba/matchers/command/have_output.rb +36 -0
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
- data/lib/aruba/matchers/command/have_output_size.rb +28 -0
- data/lib/aruba/matchers/directory.rb +1 -0
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
- data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
- data/lib/aruba/matchers/environment.rb +1 -0
- data/lib/aruba/matchers/file.rb +1 -0
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
- data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
- data/lib/aruba/matchers/file/have_file_content.rb +62 -0
- data/lib/aruba/matchers/file/have_file_size.rb +47 -0
- data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
- data/lib/aruba/matchers/path.rb +1 -0
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
- data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
- data/lib/aruba/matchers/path/have_permissions.rb +64 -0
- data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
- data/lib/aruba/matchers/string.rb +1 -0
- data/lib/aruba/matchers/string/include_output_string.rb +36 -0
- data/lib/aruba/matchers/string/match_output_string.rb +37 -0
- data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
- data/lib/aruba/platform.rb +25 -0
- data/lib/aruba/platforms/announcer.rb +232 -0
- data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_logger.rb +81 -0
- data/lib/aruba/platforms/command_monitor.rb +229 -0
- data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
- data/lib/aruba/platforms/determine_file_size.rb +22 -0
- data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
- data/lib/aruba/platforms/filesystem_status.rb +68 -0
- data/lib/aruba/platforms/local_environment.rb +29 -0
- data/lib/aruba/platforms/simple_table.rb +54 -0
- data/lib/aruba/platforms/unix_command_string.rb +27 -0
- data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
- data/lib/aruba/platforms/unix_platform.rb +276 -0
- data/lib/aruba/platforms/unix_which.rb +85 -0
- data/lib/aruba/platforms/windows_command_string.rb +31 -0
- data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
- data/lib/aruba/platforms/windows_platform.rb +42 -0
- data/lib/aruba/platforms/windows_which.rb +106 -0
- data/lib/aruba/processes/basic_process.rb +143 -0
- data/lib/aruba/processes/debug_process.rb +69 -0
- data/lib/aruba/processes/in_process.rb +125 -0
- data/lib/aruba/processes/spawn_process.rb +278 -0
- data/lib/aruba/reporting.rb +126 -0
- data/lib/aruba/rspec.rb +107 -0
- data/lib/aruba/runtime.rb +96 -0
- data/lib/aruba/setup.rb +90 -0
- data/lib/aruba/spawn_process.rb +11 -0
- data/lib/aruba/version.rb +3 -0
- data/script/bootstrap +28 -0
- data/script/console +16 -0
- data/script/test +3 -0
- data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
- data/spec/aruba/api/environment/set_env_spec.rb +42 -0
- data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
- data/spec/aruba/api/runtime_spec.rb +28 -0
- data/spec/aruba/api_spec.rb +1209 -0
- data/spec/aruba/aruba_path_spec.rb +103 -0
- data/spec/aruba/basic_configuration_spec.rb +5 -0
- data/spec/aruba/configuration_spec.rb +5 -0
- data/spec/aruba/hooks_spec.rb +17 -0
- data/spec/aruba/in_config_wrapper_spec.rb +25 -0
- data/spec/aruba/jruby_spec.rb +55 -0
- data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
- data/spec/aruba/matchers/command_spec.rb +174 -0
- data/spec/aruba/matchers/directory_spec.rb +57 -0
- data/spec/aruba/matchers/file_spec.rb +127 -0
- data/spec/aruba/matchers/path_spec.rb +88 -0
- data/spec/aruba/platform/simple_table_spec.rb +23 -0
- data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
- data/spec/aruba/rspec_spec.rb +15 -0
- data/spec/aruba/runtime_spec.rb +29 -0
- data/spec/aruba/spawn_process_spec.rb +60 -0
- data/spec/event_bus/name_resolver_spec.rb +68 -0
- data/spec/event_bus_spec.rb +160 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +5 -0
- data/spec/support/configs/pry.rb +3 -0
- data/spec/support/configs/rspec.rb +15 -0
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +44 -0
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +35 -0
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +48 -0
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +116 -0
- data/spec/support/shared_examples/directory.rb +7 -0
- data/spec/support/shared_examples/file.rb +7 -0
- data/templates/css/console.css +24 -0
- data/templates/css/filesystem.css +42 -0
- data/templates/css/pygments-autumn.css +59 -0
- data/templates/files.erb +14 -0
- data/templates/images/LICENSE +22 -0
- 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 +20 -0
- data/templates/js/filesystem.js +5 -0
- data/templates/js/jquery-1.11.3.min.js +5 -0
- data/templates/main.erb +34 -0
- metadata +629 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
Feature: Running an interactive command
|
|
2
|
+
|
|
3
|
+
In order to test interactive command line applications
|
|
4
|
+
As a developer using Cucumber
|
|
5
|
+
I want to use the interactive session steps
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I use a fixture named "cli-app"
|
|
9
|
+
|
|
10
|
+
@wip-jruby-java-1.6
|
|
11
|
+
Scenario: Running ruby interactively
|
|
12
|
+
Given an executable named "bin/cli" with:
|
|
13
|
+
"""bash
|
|
14
|
+
#!/usr/bin/env ruby
|
|
15
|
+
|
|
16
|
+
while res = gets.chomp
|
|
17
|
+
break if res == "quit"
|
|
18
|
+
puts res.reverse
|
|
19
|
+
end
|
|
20
|
+
"""
|
|
21
|
+
And a file named "features/interactive.feature" with:
|
|
22
|
+
"""cucumber
|
|
23
|
+
Feature: Run command
|
|
24
|
+
Scenario: Run command
|
|
25
|
+
When I run `cli` interactively
|
|
26
|
+
And I type "hello, world"
|
|
27
|
+
And I type "quit"
|
|
28
|
+
Then it should pass with "dlrow ,olleh"
|
|
29
|
+
"""
|
|
30
|
+
When I run `cucumber`
|
|
31
|
+
Then the features should all pass
|
|
32
|
+
|
|
33
|
+
@posix
|
|
34
|
+
Scenario: Running a native binary interactively
|
|
35
|
+
Given a file named "features/interactive.feature" with:
|
|
36
|
+
"""cucumber
|
|
37
|
+
Feature: Run command
|
|
38
|
+
Scenario: Run command
|
|
39
|
+
When I run `cat` interactively
|
|
40
|
+
And I type "Hello, world"
|
|
41
|
+
And I type ""
|
|
42
|
+
Then the output should contain "Hello, world"
|
|
43
|
+
"""
|
|
44
|
+
When I run `cucumber`
|
|
45
|
+
Then the features should all pass
|
|
46
|
+
|
|
47
|
+
@posix
|
|
48
|
+
Scenario: Pipe in a file
|
|
49
|
+
Given a file named "features/interactive.feature" with:
|
|
50
|
+
"""cucumber
|
|
51
|
+
Feature: Run command
|
|
52
|
+
Scenario: Run command
|
|
53
|
+
Given a file named "test.txt" with "line1\nline2"
|
|
54
|
+
When I run `cat` interactively
|
|
55
|
+
And I pipe in the file "test.txt"
|
|
56
|
+
Then the output should contain "line1\nline2"
|
|
57
|
+
"""
|
|
58
|
+
When I run `cucumber`
|
|
59
|
+
Then the features should all pass
|
|
60
|
+
|
|
61
|
+
@posix
|
|
62
|
+
Scenario: Close stdin stream
|
|
63
|
+
Given a file named "features/interactive.feature" with:
|
|
64
|
+
"""cucumber
|
|
65
|
+
Feature: Run command
|
|
66
|
+
Scenario: Run command
|
|
67
|
+
When I run `cat` interactively
|
|
68
|
+
And I type "Hello, world"
|
|
69
|
+
And I close the stdin stream
|
|
70
|
+
Then the output should contain "Hello, world"
|
|
71
|
+
"""
|
|
72
|
+
When I run `cucumber`
|
|
73
|
+
Then the features should all pass
|
|
74
|
+
|
|
75
|
+
@posix
|
|
76
|
+
Scenario: All processes are stopped before checking for filesystem changes
|
|
77
|
+
|
|
78
|
+
See: http://github.com/aslakhellesoy/aruba/issues#issue/17 for context
|
|
79
|
+
|
|
80
|
+
Given a file named "features/interactive.feature" with:
|
|
81
|
+
"""cucumber
|
|
82
|
+
Feature: Run command
|
|
83
|
+
Scenario: Run command
|
|
84
|
+
Given a directory named "rename_me"
|
|
85
|
+
When I run `mv rename_me renamed` interactively
|
|
86
|
+
Then the directory "renamed" should exist
|
|
87
|
+
And the directory "rename_me" should not exist
|
|
88
|
+
"""
|
|
89
|
+
When I run `cucumber`
|
|
90
|
+
Then the features should all pass
|
|
@@ -0,0 +1,588 @@
|
|
|
1
|
+
Feature: All output of commands which were executed
|
|
2
|
+
|
|
3
|
+
In order to specify expected output
|
|
4
|
+
As a developer using Cucumber
|
|
5
|
+
I want to use the "the output should contain" step
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I use a fixture named "cli-app"
|
|
9
|
+
|
|
10
|
+
Scenario: Detect subset of one-line output
|
|
11
|
+
Given an executable named "bin/cli" with:
|
|
12
|
+
"""bash
|
|
13
|
+
#!/usr/bin/env bash
|
|
14
|
+
|
|
15
|
+
echo 'hello world'
|
|
16
|
+
"""
|
|
17
|
+
And a file named "features/output.feature" with:
|
|
18
|
+
"""cucumber
|
|
19
|
+
Feature: Run command
|
|
20
|
+
Scenario: Run command
|
|
21
|
+
When I run `cli`
|
|
22
|
+
Then the output should contain "hello world"
|
|
23
|
+
"""
|
|
24
|
+
When I run `cucumber`
|
|
25
|
+
Then the features should all pass
|
|
26
|
+
|
|
27
|
+
Scenario: Detect absence of one-line output
|
|
28
|
+
Given an executable named "bin/cli" with:
|
|
29
|
+
"""bash
|
|
30
|
+
#!/usr/bin/env bash
|
|
31
|
+
|
|
32
|
+
echo 'hello world'
|
|
33
|
+
"""
|
|
34
|
+
And a file named "features/output.feature" with:
|
|
35
|
+
"""cucumber
|
|
36
|
+
Feature: Run command
|
|
37
|
+
Scenario: Run command
|
|
38
|
+
When I run `cli`
|
|
39
|
+
Then the output should not contain "good-bye"
|
|
40
|
+
"""
|
|
41
|
+
When I run `cucumber`
|
|
42
|
+
Then the features should all pass
|
|
43
|
+
|
|
44
|
+
Scenario: Detect subset of multiline output
|
|
45
|
+
Given an executable named "bin/cli" with:
|
|
46
|
+
"""bash
|
|
47
|
+
#!/usr/bin/env bash
|
|
48
|
+
|
|
49
|
+
echo -e "hello\nworld"
|
|
50
|
+
"""
|
|
51
|
+
And a file named "features/output.feature" with:
|
|
52
|
+
"""cucumber
|
|
53
|
+
Feature: Run command
|
|
54
|
+
Scenario: Run command
|
|
55
|
+
When I run `cli`
|
|
56
|
+
Then the output should contain:
|
|
57
|
+
\"\"\"
|
|
58
|
+
hello
|
|
59
|
+
\"\"\"
|
|
60
|
+
"""
|
|
61
|
+
When I run `cucumber`
|
|
62
|
+
Then the features should all pass
|
|
63
|
+
|
|
64
|
+
Scenario: Detect absence of subset of multiline output
|
|
65
|
+
Given an executable named "bin/cli" with:
|
|
66
|
+
"""bash
|
|
67
|
+
#!/usr/bin/env bash
|
|
68
|
+
|
|
69
|
+
echo -e "hello\nworld"
|
|
70
|
+
"""
|
|
71
|
+
And a file named "features/output.feature" with:
|
|
72
|
+
"""cucumber
|
|
73
|
+
Feature: Run command
|
|
74
|
+
Scenario: Run command
|
|
75
|
+
When I run `cli`
|
|
76
|
+
Then the output should not contain:
|
|
77
|
+
\"\"\"
|
|
78
|
+
good-bye
|
|
79
|
+
\"\"\"
|
|
80
|
+
"""
|
|
81
|
+
When I run `cucumber`
|
|
82
|
+
Then the features should all pass
|
|
83
|
+
|
|
84
|
+
@posix
|
|
85
|
+
Scenario: Detect exact one-line output for posix commands
|
|
86
|
+
Given a file named "features/output.feature" with:
|
|
87
|
+
"""cucumber
|
|
88
|
+
Feature: Run command
|
|
89
|
+
Scenario: Run command
|
|
90
|
+
When I run `printf 'hello world'`
|
|
91
|
+
Then the output should contain exactly:
|
|
92
|
+
\"\"\"
|
|
93
|
+
hello world
|
|
94
|
+
\"\"\"
|
|
95
|
+
"""
|
|
96
|
+
When I run `cucumber`
|
|
97
|
+
Then the features should all pass
|
|
98
|
+
|
|
99
|
+
Scenario: Detect exact one-line output for ruby commands
|
|
100
|
+
Given an executable named "bin/cli" with:
|
|
101
|
+
"""ruby
|
|
102
|
+
#!/usr/bin/env ruby
|
|
103
|
+
|
|
104
|
+
print "hello world"
|
|
105
|
+
"""
|
|
106
|
+
And a file named "features/output.feature" with:
|
|
107
|
+
"""cucumber
|
|
108
|
+
Feature: Run command
|
|
109
|
+
Scenario: Run command
|
|
110
|
+
When I run `cli`
|
|
111
|
+
Then the output should contain exactly:
|
|
112
|
+
\"\"\"
|
|
113
|
+
hello world
|
|
114
|
+
\"\"\"
|
|
115
|
+
"""
|
|
116
|
+
When I run `cucumber`
|
|
117
|
+
Then the features should all pass
|
|
118
|
+
|
|
119
|
+
Scenario: Detect exact one-line output with ANSI output
|
|
120
|
+
Given an executable named "bin/cli" with:
|
|
121
|
+
"""bash
|
|
122
|
+
#!/usr/bin/env bash
|
|
123
|
+
|
|
124
|
+
echo -e "\e[36mhello world\e[0m"
|
|
125
|
+
"""
|
|
126
|
+
And a file named "features/output.feature" with:
|
|
127
|
+
"""cucumber
|
|
128
|
+
Feature: Run command
|
|
129
|
+
@keep-ansi-escape-sequences
|
|
130
|
+
Scenario: Run command
|
|
131
|
+
When I run `cli`
|
|
132
|
+
Then the output should contain exactly:
|
|
133
|
+
\"\"\"
|
|
134
|
+
\e[36mhello world\e[0m
|
|
135
|
+
\"\"\"
|
|
136
|
+
"""
|
|
137
|
+
When I run `cucumber`
|
|
138
|
+
Then the features should all pass
|
|
139
|
+
|
|
140
|
+
Scenario: Detect exact one-line output with ANSI output stripped by default
|
|
141
|
+
Given the default aruba exit timeout is 12 seconds
|
|
142
|
+
Given an executable named "bin/cli" with:
|
|
143
|
+
"""bash
|
|
144
|
+
#!/usr/bin/env bash
|
|
145
|
+
|
|
146
|
+
echo -e "\e[36mhello world\e[0m"
|
|
147
|
+
"""
|
|
148
|
+
And a file named "features/output.feature" with:
|
|
149
|
+
"""cucumber
|
|
150
|
+
Feature: Run command
|
|
151
|
+
Scenario: Run command
|
|
152
|
+
When I run `cli`
|
|
153
|
+
Then the output should contain exactly:
|
|
154
|
+
\"\"\"
|
|
155
|
+
hello world
|
|
156
|
+
\"\"\"
|
|
157
|
+
"""
|
|
158
|
+
When I run `cucumber`
|
|
159
|
+
Then the features should all pass
|
|
160
|
+
|
|
161
|
+
Scenario: Detect exact multiline output
|
|
162
|
+
Given an executable named "bin/cli" with:
|
|
163
|
+
"""bash
|
|
164
|
+
#!/usr/bin/env bash
|
|
165
|
+
|
|
166
|
+
echo -ne "hello\nworld"
|
|
167
|
+
"""
|
|
168
|
+
And a file named "features/output.feature" with:
|
|
169
|
+
"""cucumber
|
|
170
|
+
Feature: Run command
|
|
171
|
+
Scenario: Run command
|
|
172
|
+
When I run `cli`
|
|
173
|
+
Then the output should contain exactly:
|
|
174
|
+
\"\"\"
|
|
175
|
+
hello
|
|
176
|
+
world
|
|
177
|
+
\"\"\"
|
|
178
|
+
"""
|
|
179
|
+
When I run `cucumber`
|
|
180
|
+
Then the features should all pass
|
|
181
|
+
|
|
182
|
+
Scenario: Detect subset of one-line output
|
|
183
|
+
Given an executable named "bin/cli" with:
|
|
184
|
+
"""bash
|
|
185
|
+
#!/usr/bin/env bash
|
|
186
|
+
|
|
187
|
+
echo 'hello world'
|
|
188
|
+
"""
|
|
189
|
+
And a file named "features/output.feature" with:
|
|
190
|
+
"""cucumber
|
|
191
|
+
Feature: Run command
|
|
192
|
+
Scenario: Run command
|
|
193
|
+
When I run `cli`
|
|
194
|
+
Then the output should contain "hello world"
|
|
195
|
+
"""
|
|
196
|
+
When I run `cucumber`
|
|
197
|
+
Then the features should all pass
|
|
198
|
+
|
|
199
|
+
Scenario: Detect subset of one-line output with regex
|
|
200
|
+
Given an executable named "bin/cli" with:
|
|
201
|
+
"""bash
|
|
202
|
+
#!/usr/bin/env bash
|
|
203
|
+
|
|
204
|
+
echo 'hello, ruby'
|
|
205
|
+
"""
|
|
206
|
+
And a file named "features/output.feature" with:
|
|
207
|
+
"""cucumber
|
|
208
|
+
Feature: Run command
|
|
209
|
+
Scenario: Run command
|
|
210
|
+
When I run `cli`
|
|
211
|
+
Then the output should match /^hello(, world)?/
|
|
212
|
+
"""
|
|
213
|
+
When I run `cucumber`
|
|
214
|
+
Then the features should all pass
|
|
215
|
+
|
|
216
|
+
Scenario: Detect subset of multiline output with regex
|
|
217
|
+
Given an executable named "bin/cli" with:
|
|
218
|
+
"""bash
|
|
219
|
+
#!/usr/bin/env bash
|
|
220
|
+
|
|
221
|
+
echo -e "hello\nworld\nextra line1\nextra line2\nimportant line"
|
|
222
|
+
"""
|
|
223
|
+
And a file named "features/output.feature" with:
|
|
224
|
+
"""cucumber
|
|
225
|
+
Feature: Run command
|
|
226
|
+
Scenario: Run command
|
|
227
|
+
When I run `cli`
|
|
228
|
+
Then the output should match:
|
|
229
|
+
\"\"\"
|
|
230
|
+
he..o
|
|
231
|
+
wor.d
|
|
232
|
+
.*
|
|
233
|
+
important line
|
|
234
|
+
\"\"\"
|
|
235
|
+
"""
|
|
236
|
+
When I run `cucumber`
|
|
237
|
+
Then the features should all pass
|
|
238
|
+
|
|
239
|
+
Scenario: Negative matching of one-line output with regex
|
|
240
|
+
Given an executable named "bin/cli" with:
|
|
241
|
+
"""bash
|
|
242
|
+
#!/usr/bin/env bash
|
|
243
|
+
|
|
244
|
+
echo "hello, ruby"
|
|
245
|
+
"""
|
|
246
|
+
And a file named "features/output.feature" with:
|
|
247
|
+
"""cucumber
|
|
248
|
+
Feature: Run command
|
|
249
|
+
Scenario: Run command
|
|
250
|
+
When I run `cli`
|
|
251
|
+
Then the output should not match /ruby is a better perl$/
|
|
252
|
+
"""
|
|
253
|
+
When I run `cucumber`
|
|
254
|
+
Then the features should all pass
|
|
255
|
+
|
|
256
|
+
Scenario: Negative matching of multiline output with regex
|
|
257
|
+
Given an executable named "bin/cli" with:
|
|
258
|
+
"""bash
|
|
259
|
+
#!/usr/bin/env bash
|
|
260
|
+
|
|
261
|
+
echo -e "hello\nworld\nextra line1\nextra line2\nimportant line"
|
|
262
|
+
"""
|
|
263
|
+
And a file named "features/output.feature" with:
|
|
264
|
+
"""cucumber
|
|
265
|
+
Feature: Run command
|
|
266
|
+
Scenario: Run command
|
|
267
|
+
When I run `cli`
|
|
268
|
+
Then the output should not match:
|
|
269
|
+
\"\"\"
|
|
270
|
+
ruby
|
|
271
|
+
is
|
|
272
|
+
a
|
|
273
|
+
.*
|
|
274
|
+
perl
|
|
275
|
+
\"\"\"
|
|
276
|
+
"""
|
|
277
|
+
When I run `cucumber`
|
|
278
|
+
Then the features should all pass
|
|
279
|
+
|
|
280
|
+
Scenario: Match passing exit status and partial output
|
|
281
|
+
Given an executable named "bin/cli" with:
|
|
282
|
+
"""bash
|
|
283
|
+
#!/usr/bin/env bash
|
|
284
|
+
|
|
285
|
+
echo "hello world"
|
|
286
|
+
exit 0
|
|
287
|
+
"""
|
|
288
|
+
And a file named "features/output.feature" with:
|
|
289
|
+
"""cucumber
|
|
290
|
+
Feature: Run command
|
|
291
|
+
Scenario: Run command
|
|
292
|
+
When I run `cli`
|
|
293
|
+
Then it should pass with:
|
|
294
|
+
\"\"\"
|
|
295
|
+
hello
|
|
296
|
+
\"\"\"
|
|
297
|
+
"""
|
|
298
|
+
When I run `cucumber`
|
|
299
|
+
Then the features should all pass
|
|
300
|
+
|
|
301
|
+
Scenario: Match passing exit status and exact output
|
|
302
|
+
Given an executable named "bin/cli" with:
|
|
303
|
+
"""bash
|
|
304
|
+
#!/usr/bin/env bash
|
|
305
|
+
|
|
306
|
+
echo -ne "hello\nworld"
|
|
307
|
+
exit 0
|
|
308
|
+
"""
|
|
309
|
+
And a file named "features/output.feature" with:
|
|
310
|
+
"""cucumber
|
|
311
|
+
Feature: Run command
|
|
312
|
+
Scenario: Run command
|
|
313
|
+
When I run `cli`
|
|
314
|
+
Then it should pass with exactly:
|
|
315
|
+
\"\"\"
|
|
316
|
+
hello
|
|
317
|
+
world
|
|
318
|
+
\"\"\"
|
|
319
|
+
"""
|
|
320
|
+
When I run `cucumber`
|
|
321
|
+
Then the features should all pass
|
|
322
|
+
|
|
323
|
+
Scenario: Match failing exit status and partial output
|
|
324
|
+
Given an executable named "bin/cli" with:
|
|
325
|
+
"""bash
|
|
326
|
+
#!/usr/bin/env bash
|
|
327
|
+
|
|
328
|
+
echo -e "hello\nworld"
|
|
329
|
+
exit 1
|
|
330
|
+
"""
|
|
331
|
+
And a file named "features/output.feature" with:
|
|
332
|
+
"""cucumber
|
|
333
|
+
Feature: Run command
|
|
334
|
+
Scenario: Run command
|
|
335
|
+
When I run `cli`
|
|
336
|
+
Then it should fail with:
|
|
337
|
+
\"\"\"
|
|
338
|
+
hello
|
|
339
|
+
\"\"\"
|
|
340
|
+
"""
|
|
341
|
+
When I run `cucumber`
|
|
342
|
+
Then the features should all pass
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
Scenario: Match failing exit status and exact output
|
|
346
|
+
Given an executable named "bin/cli" with:
|
|
347
|
+
"""bash
|
|
348
|
+
#!/usr/bin/env bash
|
|
349
|
+
|
|
350
|
+
echo -e "hello\nworld"
|
|
351
|
+
exit 1
|
|
352
|
+
"""
|
|
353
|
+
And a file named "features/output.feature" with:
|
|
354
|
+
"""cucumber
|
|
355
|
+
Feature: Run command
|
|
356
|
+
Scenario: Run command
|
|
357
|
+
When I run `cli`
|
|
358
|
+
Then it should fail with:
|
|
359
|
+
\"\"\"
|
|
360
|
+
hello
|
|
361
|
+
world
|
|
362
|
+
\"\"\"
|
|
363
|
+
"""
|
|
364
|
+
When I run `cucumber`
|
|
365
|
+
Then the features should all pass
|
|
366
|
+
|
|
367
|
+
Scenario: Match failing exit status and output with regex
|
|
368
|
+
Given an executable named "bin/cli" with:
|
|
369
|
+
"""bash
|
|
370
|
+
#!/usr/bin/env bash
|
|
371
|
+
|
|
372
|
+
echo -e "hello\nworld"
|
|
373
|
+
exit 1
|
|
374
|
+
"""
|
|
375
|
+
And a file named "features/output.feature" with:
|
|
376
|
+
"""cucumber
|
|
377
|
+
Feature: Run command
|
|
378
|
+
Scenario: Run command
|
|
379
|
+
When I run `cli`
|
|
380
|
+
Then it should fail with regex:
|
|
381
|
+
\"\"\"
|
|
382
|
+
hello\s*world
|
|
383
|
+
\"\"\"
|
|
384
|
+
"""
|
|
385
|
+
When I run `cucumber`
|
|
386
|
+
Then the features should all pass
|
|
387
|
+
|
|
388
|
+
@requires-aruba-version-1
|
|
389
|
+
Scenario: Detect output from all processes
|
|
390
|
+
Given an executable named "bin/cli1" with:
|
|
391
|
+
"""bash
|
|
392
|
+
#!/usr/bin/env bash
|
|
393
|
+
|
|
394
|
+
echo 'This is cli1'
|
|
395
|
+
"""
|
|
396
|
+
And an executable named "bin/cli2" with:
|
|
397
|
+
"""bash
|
|
398
|
+
#!/usr/bin/env bash
|
|
399
|
+
|
|
400
|
+
echo 'This is cli2'
|
|
401
|
+
"""
|
|
402
|
+
And a file named "features/output.feature" with:
|
|
403
|
+
"""cucumber
|
|
404
|
+
Feature: Run command
|
|
405
|
+
Scenario: Run command
|
|
406
|
+
When I run `cli1`
|
|
407
|
+
When I run `cli2`
|
|
408
|
+
Then the stdout should contain exactly:
|
|
409
|
+
\"\"\"
|
|
410
|
+
This is cli1
|
|
411
|
+
\"\"\"
|
|
412
|
+
And the stdout should contain exactly:
|
|
413
|
+
\"\"\"
|
|
414
|
+
This is cli2
|
|
415
|
+
\"\"\"
|
|
416
|
+
"""
|
|
417
|
+
When I run `cucumber`
|
|
418
|
+
Then the features should all pass
|
|
419
|
+
|
|
420
|
+
Scenario: Detect output from all processes (deprecated)
|
|
421
|
+
Given an executable named "bin/cli1" with:
|
|
422
|
+
"""bash
|
|
423
|
+
#!/usr/bin/env bash
|
|
424
|
+
|
|
425
|
+
echo 'This is cli1'
|
|
426
|
+
"""
|
|
427
|
+
And an executable named "bin/cli2" with:
|
|
428
|
+
"""bash
|
|
429
|
+
#!/usr/bin/env bash
|
|
430
|
+
|
|
431
|
+
echo 'This is cli2'
|
|
432
|
+
"""
|
|
433
|
+
And a file named "features/output.feature" with:
|
|
434
|
+
"""cucumber
|
|
435
|
+
Feature: Run command
|
|
436
|
+
Scenario: Run command
|
|
437
|
+
When I run `cli1`
|
|
438
|
+
When I run `cli2`
|
|
439
|
+
Then the stdout should contain exactly:
|
|
440
|
+
\"\"\"
|
|
441
|
+
This is cli1
|
|
442
|
+
This is cli2
|
|
443
|
+
\"\"\"
|
|
444
|
+
"""
|
|
445
|
+
When I run `cucumber`
|
|
446
|
+
Then the features should all pass
|
|
447
|
+
|
|
448
|
+
Scenario: Handle little output
|
|
449
|
+
Given an executable named "bin/cli" with:
|
|
450
|
+
"""bash
|
|
451
|
+
#!/usr/bin/env bash
|
|
452
|
+
|
|
453
|
+
for ((c=0; c<256; c = c+1)); do
|
|
454
|
+
echo -n "a"
|
|
455
|
+
done
|
|
456
|
+
"""
|
|
457
|
+
And a file named "features/flushing.feature" with:
|
|
458
|
+
"""cucumber
|
|
459
|
+
Feature: Flushing output
|
|
460
|
+
Scenario: Run command
|
|
461
|
+
When I run `cli`
|
|
462
|
+
Then the output should contain "a"
|
|
463
|
+
And the output should be 256 bytes long
|
|
464
|
+
And the exit status should be 0
|
|
465
|
+
"""
|
|
466
|
+
When I run `cucumber`
|
|
467
|
+
Then the features should all pass
|
|
468
|
+
|
|
469
|
+
Scenario: Handle tons of output
|
|
470
|
+
|
|
471
|
+
In order to test processes that output a lot of data
|
|
472
|
+
As a developer using Aruba
|
|
473
|
+
I want to make sure that large amounts of output aren't buffered
|
|
474
|
+
|
|
475
|
+
Given the default aruba exit timeout is 10 seconds
|
|
476
|
+
And an executable named "bin/cli" with:
|
|
477
|
+
"""bash
|
|
478
|
+
#!/usr/bin/env bash
|
|
479
|
+
|
|
480
|
+
for ((c=0; c<65536; c = c+1)); do
|
|
481
|
+
echo -n "a"
|
|
482
|
+
done
|
|
483
|
+
"""
|
|
484
|
+
And a file named "features/flushing.feature" with:
|
|
485
|
+
"""cucumber
|
|
486
|
+
Feature: Flushing output
|
|
487
|
+
Scenario: Run command
|
|
488
|
+
When I run `cli`
|
|
489
|
+
Then the output should contain "a"
|
|
490
|
+
And the output should be 65536 bytes long
|
|
491
|
+
And the exit status should be 0
|
|
492
|
+
"""
|
|
493
|
+
When I run `cucumber`
|
|
494
|
+
Then the features should all pass
|
|
495
|
+
|
|
496
|
+
Scenario: Handle tons of interactive output
|
|
497
|
+
Given the default aruba exit timeout is 10 seconds
|
|
498
|
+
And an executable named "bin/cli" with:
|
|
499
|
+
"""bash
|
|
500
|
+
#!/usr/bin/env bash
|
|
501
|
+
|
|
502
|
+
read size; for ((c=0; c<$size; c = c+1)); do
|
|
503
|
+
echo -n "a"
|
|
504
|
+
done
|
|
505
|
+
"""
|
|
506
|
+
And a file named "features/flushing.feature" with:
|
|
507
|
+
"""cucumber
|
|
508
|
+
Feature: Flushing output
|
|
509
|
+
Scenario: Run command
|
|
510
|
+
When I run `cli` interactively
|
|
511
|
+
And I type "65536"
|
|
512
|
+
Then the output should contain "a"
|
|
513
|
+
And the output should be 65536 bytes long
|
|
514
|
+
And the exit status should be 0
|
|
515
|
+
"""
|
|
516
|
+
When I run `cucumber`
|
|
517
|
+
Then the features should all pass
|
|
518
|
+
|
|
519
|
+
@requires-aruba-version-1
|
|
520
|
+
Scenario: Detect output from all processes normal and interactive ones
|
|
521
|
+
Given an executable named "bin/cli1" with:
|
|
522
|
+
"""
|
|
523
|
+
#!/usr/bin/env bash
|
|
524
|
+
echo 'This is cli1'
|
|
525
|
+
"""
|
|
526
|
+
And an executable named "bin/cli2" with:
|
|
527
|
+
"""
|
|
528
|
+
#!/usr/bin/env ruby
|
|
529
|
+
|
|
530
|
+
while input = gets do
|
|
531
|
+
break if "" == input
|
|
532
|
+
puts input
|
|
533
|
+
end
|
|
534
|
+
"""
|
|
535
|
+
And a file named "features/output.feature" with:
|
|
536
|
+
"""
|
|
537
|
+
Feature: Run command
|
|
538
|
+
Scenario: Run command
|
|
539
|
+
When I run `cli1`
|
|
540
|
+
When I run `cli2` interactively
|
|
541
|
+
And I type "This is cli2"
|
|
542
|
+
And I type ""
|
|
543
|
+
Then the stdout should contain exactly:
|
|
544
|
+
\"\"\"
|
|
545
|
+
This is cli1
|
|
546
|
+
\"\"\"
|
|
547
|
+
And the stdout should contain exactly:
|
|
548
|
+
\"\"\"
|
|
549
|
+
This is cli2
|
|
550
|
+
\"\"\"
|
|
551
|
+
"""
|
|
552
|
+
When I run `cucumber`
|
|
553
|
+
Then the features should all pass
|
|
554
|
+
|
|
555
|
+
Scenario: Detect output from named source
|
|
556
|
+
Given a file named "features/output.feature" with:
|
|
557
|
+
"""
|
|
558
|
+
Feature: Run command
|
|
559
|
+
Scenario: Run command
|
|
560
|
+
When I run `printf 'simple'`
|
|
561
|
+
And I run `cat` interactively
|
|
562
|
+
And I type "interactive"
|
|
563
|
+
And I type ""
|
|
564
|
+
Then the output from "printf 'simple'" should contain "simple"
|
|
565
|
+
And the output from "printf 'simple'" should contain exactly "simple"
|
|
566
|
+
And the output from "printf 'simple'" should contain exactly:
|
|
567
|
+
\"\"\"
|
|
568
|
+
simple
|
|
569
|
+
\"\"\"
|
|
570
|
+
And the output from "cat" should not contain "simple"
|
|
571
|
+
"""
|
|
572
|
+
When I run `cucumber`
|
|
573
|
+
Then the features should all pass
|
|
574
|
+
|
|
575
|
+
Scenario: Detect second output from named source with custom name
|
|
576
|
+
Given a file named "features/output.feature" with:
|
|
577
|
+
"""
|
|
578
|
+
Feature: Run command
|
|
579
|
+
Scenario: Run command
|
|
580
|
+
When I set the environment variable "ARUBA_TEST_VAR" to "first"
|
|
581
|
+
And I run `bash -c 'printf $ARUBA_TEST_VAR'`
|
|
582
|
+
Then the output from "bash -c 'printf $ARUBA_TEST_VAR'" should contain "first"
|
|
583
|
+
When I set the environment variable "ARUBA_TEST_VAR" to "second"
|
|
584
|
+
And I run `bash -c 'printf $ARUBA_TEST_VAR'`
|
|
585
|
+
Then the output from "bash -c 'printf $ARUBA_TEST_VAR'" should contain "second"
|
|
586
|
+
"""
|
|
587
|
+
When I run `cucumber`
|
|
588
|
+
Then the features should all pass
|