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,52 @@
|
|
|
1
|
+
Feature: Append environment variable via "cucumber"-step
|
|
2
|
+
|
|
3
|
+
It is quite handy to modify the environment of a process. To make this
|
|
4
|
+
possible, `aruba` provides several steps. One of these is
|
|
5
|
+
`I append the values to environment variables:`-step. Using this step appends
|
|
6
|
+
the values. Each variable name and each value is converted to a string.
|
|
7
|
+
Otherwise `ruby` would complain about an invalid argument.
|
|
8
|
+
|
|
9
|
+
Background:
|
|
10
|
+
Given I use the fixture "cli-app"
|
|
11
|
+
And an executable named "bin/cli" with:
|
|
12
|
+
"""
|
|
13
|
+
#!/bin/bash
|
|
14
|
+
|
|
15
|
+
echo $LONG_LONG_VARIABLE
|
|
16
|
+
"""
|
|
17
|
+
And a file named "features/support/variables.rb" with:
|
|
18
|
+
"""
|
|
19
|
+
ENV['LONG_LONG_VARIABLE'] = '1'
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
Scenario: Append environment variable by using a step given in table
|
|
23
|
+
Given a file named "features/home_variable.feature" with:
|
|
24
|
+
"""
|
|
25
|
+
Feature: Environment Variable
|
|
26
|
+
Scenario: Run command
|
|
27
|
+
Given I append the values to the environment variables:
|
|
28
|
+
| variable | value |
|
|
29
|
+
| LONG_LONG_VARIABLE | long_value |
|
|
30
|
+
When I run `cli`
|
|
31
|
+
Then the output should contain:
|
|
32
|
+
\"\"\"
|
|
33
|
+
1long_value
|
|
34
|
+
\"\"\"
|
|
35
|
+
"""
|
|
36
|
+
When I run `cucumber`
|
|
37
|
+
Then the features should all pass
|
|
38
|
+
|
|
39
|
+
Scenario: Append single environment variable by using a step
|
|
40
|
+
Given a file named "features/home_variable.feature" with:
|
|
41
|
+
"""
|
|
42
|
+
Feature: Environment Variable
|
|
43
|
+
Scenario: Run command
|
|
44
|
+
Given I append "long_value" to the environment variable "LONG_LONG_VARIABLE"
|
|
45
|
+
When I run `cli`
|
|
46
|
+
Then the output should contain:
|
|
47
|
+
\"\"\"
|
|
48
|
+
1long_value
|
|
49
|
+
\"\"\"
|
|
50
|
+
"""
|
|
51
|
+
When I run `cucumber`
|
|
52
|
+
Then the features should all pass
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Feature: Mock the HOME variable
|
|
2
|
+
|
|
3
|
+
If you develop commandline applications, you might want to give your users
|
|
4
|
+
the possibility to configure your program. Normally this is done via
|
|
5
|
+
`.your-app-rc` or via `.config/your-app` an systems which comply to the
|
|
6
|
+
freedesktop-specifications.
|
|
7
|
+
|
|
8
|
+
To prevent to litter the developers HOME-directory `aruba` comes with a step
|
|
9
|
+
which mocks the `HOME`-variable. It is set to the
|
|
10
|
+
`aruba`-`working-directory`.
|
|
11
|
+
|
|
12
|
+
Background:
|
|
13
|
+
Given I use the fixture "cli-app"
|
|
14
|
+
And an executable named "bin/cli" with:
|
|
15
|
+
"""
|
|
16
|
+
#!/bin/bash
|
|
17
|
+
|
|
18
|
+
echo "HOME: $HOME"
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
Scenario: Mocked home directory by using a step
|
|
22
|
+
Given a file named "features/home_variable.feature" with:
|
|
23
|
+
"""
|
|
24
|
+
Feature: Home Variable
|
|
25
|
+
Scenario: Run command
|
|
26
|
+
Given a mocked home directory
|
|
27
|
+
When I run `cli`
|
|
28
|
+
Then the output should match %r<HOME:.*tmp/aruba$>
|
|
29
|
+
"""
|
|
30
|
+
When I run `cucumber`
|
|
31
|
+
Then the features should all pass
|
|
32
|
+
|
|
33
|
+
Scenario: Mocked home directory by using a tag
|
|
34
|
+
Given a file named "features/home_variable.feature" with:
|
|
35
|
+
"""
|
|
36
|
+
Feature: Home Variable
|
|
37
|
+
@mocked-home-directory
|
|
38
|
+
Scenario: Run command
|
|
39
|
+
When I run `cli`
|
|
40
|
+
Then the output should match %r<HOME:.*tmp/aruba$>
|
|
41
|
+
"""
|
|
42
|
+
When I run `cucumber`
|
|
43
|
+
Then the features should all pass
|
|
44
|
+
|
|
45
|
+
Scenario: Redefine home directory by using the aruba configuration
|
|
46
|
+
Given a file named "features/support/home_variable.rb" with:
|
|
47
|
+
"""
|
|
48
|
+
require 'aruba/cucumber'
|
|
49
|
+
|
|
50
|
+
Aruba.configure do |config|
|
|
51
|
+
config.home_directory = File.join(config.root_directory, config.working_directory)
|
|
52
|
+
end
|
|
53
|
+
"""
|
|
54
|
+
Given a file named "features/home_variable.feature" with:
|
|
55
|
+
"""
|
|
56
|
+
Feature: Home Variable
|
|
57
|
+
Scenario: Run command
|
|
58
|
+
When I run `cli`
|
|
59
|
+
Then the output should match %r<HOME:.*tmp/aruba$>
|
|
60
|
+
"""
|
|
61
|
+
When I run `cucumber`
|
|
62
|
+
Then the features should all pass
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Feature: Prepend environment variable via "cucumber"-step
|
|
2
|
+
|
|
3
|
+
It is quite handy to modify the environment of a process. To make this
|
|
4
|
+
possible, `aruba` provides several steps. One of these is
|
|
5
|
+
`I prepend the values to environment variables:`-step. Using this step prepends
|
|
6
|
+
the values. Each variable name and each value is converted to a string.
|
|
7
|
+
Otherwise `ruby` would complain about an invalid argument.
|
|
8
|
+
|
|
9
|
+
Background:
|
|
10
|
+
Given I use the fixture "cli-app"
|
|
11
|
+
And an executable named "bin/cli" with:
|
|
12
|
+
"""
|
|
13
|
+
#!/bin/bash
|
|
14
|
+
|
|
15
|
+
echo $LONG_LONG_VARIABLE
|
|
16
|
+
"""
|
|
17
|
+
And a file named "features/support/variables.rb" with:
|
|
18
|
+
"""
|
|
19
|
+
ENV['LONG_LONG_VARIABLE'] = '1'
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
Scenario: Prepend environment variable by using a step given in table
|
|
23
|
+
Given a file named "features/home_variable.feature" with:
|
|
24
|
+
"""
|
|
25
|
+
Feature: Environment Variable
|
|
26
|
+
Scenario: Run command
|
|
27
|
+
Given I prepend the values to the environment variables:
|
|
28
|
+
| variable | value |
|
|
29
|
+
| LONG_LONG_VARIABLE | long_value |
|
|
30
|
+
When I run `cli`
|
|
31
|
+
Then the output should contain:
|
|
32
|
+
\"\"\"
|
|
33
|
+
long_value1
|
|
34
|
+
\"\"\"
|
|
35
|
+
"""
|
|
36
|
+
When I run `cucumber`
|
|
37
|
+
Then the features should all pass
|
|
38
|
+
|
|
39
|
+
Scenario: Prepend single environment variable by using a step
|
|
40
|
+
Given a file named "features/home_variable.feature" with:
|
|
41
|
+
"""
|
|
42
|
+
Feature: Environment Variable
|
|
43
|
+
Scenario: Run command
|
|
44
|
+
Given I prepend "long_value" to the environment variable "LONG_LONG_VARIABLE"
|
|
45
|
+
When I run `cli`
|
|
46
|
+
Then the output should contain:
|
|
47
|
+
\"\"\"
|
|
48
|
+
long_value1
|
|
49
|
+
\"\"\"
|
|
50
|
+
"""
|
|
51
|
+
When I run `cucumber`
|
|
52
|
+
Then the features should all pass
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Feature: Set environment variable via "cucumber"-step
|
|
2
|
+
|
|
3
|
+
It is quite handy to modify the environment of a process. To make this
|
|
4
|
+
possible, `aruba` provides several steps. One of these is
|
|
5
|
+
`I set the environment variables to:`-step. Using this step sets the values of a
|
|
6
|
+
non-existing variables and overwrites an existing values. Each variable name
|
|
7
|
+
and each value is converted to a string. Otherwise `ruby` would complain
|
|
8
|
+
about an invalid argument.
|
|
9
|
+
|
|
10
|
+
Background:
|
|
11
|
+
Given I use the fixture "cli-app"
|
|
12
|
+
And an executable named "bin/cli" with:
|
|
13
|
+
"""
|
|
14
|
+
#!/bin/bash
|
|
15
|
+
|
|
16
|
+
echo $LONG_LONG_VARIABLE
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
Scenario: Set environment variable by using a step given in table
|
|
20
|
+
Given a file named "features/home_variable.feature" with:
|
|
21
|
+
"""
|
|
22
|
+
Feature: Environment Variable
|
|
23
|
+
Scenario: Run command
|
|
24
|
+
Given I set the environment variables to:
|
|
25
|
+
| variable | value |
|
|
26
|
+
| LONG_LONG_VARIABLE | long_value |
|
|
27
|
+
When I run `cli`
|
|
28
|
+
Then the output should contain:
|
|
29
|
+
\"\"\"
|
|
30
|
+
long_value
|
|
31
|
+
\"\"\"
|
|
32
|
+
"""
|
|
33
|
+
When I run `cucumber`
|
|
34
|
+
Then the features should all pass
|
|
35
|
+
|
|
36
|
+
Scenario: Set single environment variable by using a step
|
|
37
|
+
Given a file named "features/home_variable.feature" with:
|
|
38
|
+
"""
|
|
39
|
+
Feature: Environment Variable
|
|
40
|
+
Scenario: Run command
|
|
41
|
+
Given I set the environment variable "LONG_LONG_VARIABLE" to "long_value"
|
|
42
|
+
When I run `cli`
|
|
43
|
+
Then the output should contain:
|
|
44
|
+
\"\"\"
|
|
45
|
+
long_value
|
|
46
|
+
\"\"\"
|
|
47
|
+
"""
|
|
48
|
+
When I run `cucumber`
|
|
49
|
+
Then the features should all pass
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Feature: Append content to file
|
|
2
|
+
|
|
3
|
+
You might want to append some content to a file.
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I use a fixture named "cli-app"
|
|
7
|
+
|
|
8
|
+
Scenario: Append to a existing file
|
|
9
|
+
Given a file named "features/non-existence.feature" with:
|
|
10
|
+
"""
|
|
11
|
+
Feature: Existence
|
|
12
|
+
Scenario: Existence
|
|
13
|
+
Given a file named "foo/bar/example.txt" with:
|
|
14
|
+
\"\"\"
|
|
15
|
+
hello world
|
|
16
|
+
\"\"\"
|
|
17
|
+
When I append to "foo/bar/example.txt" with:
|
|
18
|
+
\"\"\"
|
|
19
|
+
this was appended
|
|
20
|
+
\"\"\"
|
|
21
|
+
Then the file named "foo/bar/example.txt" should contain:
|
|
22
|
+
\"\"\"
|
|
23
|
+
hello worldthis was appended
|
|
24
|
+
\"\"\"
|
|
25
|
+
"""
|
|
26
|
+
When I run `cucumber`
|
|
27
|
+
Then the features should all pass
|
|
28
|
+
|
|
29
|
+
Scenario: Append to a non-existing file
|
|
30
|
+
Given a file named "features/non-existence.feature" with:
|
|
31
|
+
"""
|
|
32
|
+
Feature: Existence
|
|
33
|
+
Scenario: Existence
|
|
34
|
+
Given a file named "foo/bar/example.txt" does not exist
|
|
35
|
+
When I append to "foo/bar/example.txt" with:
|
|
36
|
+
\"\"\"
|
|
37
|
+
this was appended
|
|
38
|
+
\"\"\"
|
|
39
|
+
Then the file named "foo/bar/example.txt" should contain:
|
|
40
|
+
\"\"\"
|
|
41
|
+
this was appended
|
|
42
|
+
\"\"\"
|
|
43
|
+
"""
|
|
44
|
+
When I run `cucumber`
|
|
45
|
+
Then the features should all pass
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Feature: Change working directory
|
|
2
|
+
|
|
3
|
+
You might want to change the current working directory.
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I use a fixture named "cli-app"
|
|
7
|
+
|
|
8
|
+
Scenario: Change to an existing sub directory
|
|
9
|
+
Given a file named "features/non-existence.feature" with:
|
|
10
|
+
"""
|
|
11
|
+
Feature: Working Directory
|
|
12
|
+
Scenario: Working Directory
|
|
13
|
+
Given a file named "foo/bar/example.txt" with:
|
|
14
|
+
\"\"\"
|
|
15
|
+
hello world
|
|
16
|
+
\"\"\"
|
|
17
|
+
When I cd to "foo/bar"
|
|
18
|
+
And I run `cat example.txt`
|
|
19
|
+
Then the output should contain "hello world"
|
|
20
|
+
And the file "example.txt" should exist
|
|
21
|
+
"""
|
|
22
|
+
When I run `cucumber`
|
|
23
|
+
Then the features should all pass
|
|
24
|
+
|
|
25
|
+
Scenario: Change to an non-existing sub directory
|
|
26
|
+
Given a file named "features/non-existence.feature" with:
|
|
27
|
+
"""
|
|
28
|
+
Feature: Working Directory
|
|
29
|
+
Scenario: Working Directory
|
|
30
|
+
When I cd to "foo/bar/non-existing"
|
|
31
|
+
"""
|
|
32
|
+
When I run `cucumber`
|
|
33
|
+
Then the features should not pass
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
Feature: Check file content
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I use a fixture named "cli-app"
|
|
5
|
+
|
|
6
|
+
Scenario: Check file contents with plain text
|
|
7
|
+
Given a file named "features/non-existence.feature" with:
|
|
8
|
+
"""
|
|
9
|
+
Feature: Check
|
|
10
|
+
Scenario: Check
|
|
11
|
+
Given a file named "foo" with:
|
|
12
|
+
\"\"\"
|
|
13
|
+
hello world
|
|
14
|
+
\"\"\"
|
|
15
|
+
Then the file "foo" should contain "hello world"
|
|
16
|
+
And the file "foo" should not contain "HELLO WORLD"
|
|
17
|
+
"""
|
|
18
|
+
When I run `cucumber`
|
|
19
|
+
Then the features should all pass
|
|
20
|
+
|
|
21
|
+
Scenario: Check file contents with regular expression
|
|
22
|
+
Given a file named "features/non-existence.feature" with:
|
|
23
|
+
"""
|
|
24
|
+
Feature: Check
|
|
25
|
+
Background:
|
|
26
|
+
Given a file named "foo" with:
|
|
27
|
+
\"\"\"
|
|
28
|
+
hello world
|
|
29
|
+
\"\"\"
|
|
30
|
+
|
|
31
|
+
Scenario: Check #1
|
|
32
|
+
Then the file "foo" should match /hel.o world/
|
|
33
|
+
And the file "foo" should not match /HELLO WORLD/
|
|
34
|
+
|
|
35
|
+
Scenario: Check #2
|
|
36
|
+
Then the file "foo" should match %r<hel.o world>
|
|
37
|
+
And the file "foo" should not match %r<HELLO WORLD>
|
|
38
|
+
"""
|
|
39
|
+
When I run `cucumber`
|
|
40
|
+
Then the features should all pass
|
|
41
|
+
|
|
42
|
+
Scenario: Check file contents with cucumber doc string
|
|
43
|
+
Given a file named "features/non-existence.feature" with:
|
|
44
|
+
"""
|
|
45
|
+
Feature: Existence
|
|
46
|
+
Scenario: Existence
|
|
47
|
+
Given a file named "foo" with:
|
|
48
|
+
\"\"\"
|
|
49
|
+
foo
|
|
50
|
+
bar
|
|
51
|
+
baz
|
|
52
|
+
foobar
|
|
53
|
+
\"\"\"
|
|
54
|
+
Then the file "foo" should contain:
|
|
55
|
+
\"\"\"
|
|
56
|
+
bar
|
|
57
|
+
baz
|
|
58
|
+
\"\"\"
|
|
59
|
+
"""
|
|
60
|
+
When I run `cucumber`
|
|
61
|
+
Then the features should all pass
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
Feature: Check permissions of file
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I use a fixture named "cli-app"
|
|
5
|
+
|
|
6
|
+
Scenario: Check mode of existing file
|
|
7
|
+
Given a file named "features/create_file.feature" with:
|
|
8
|
+
"""
|
|
9
|
+
Feature: Check
|
|
10
|
+
Background:
|
|
11
|
+
Given an empty file named "file1.txt" with mode "0644"
|
|
12
|
+
|
|
13
|
+
Scenario: Check #1
|
|
14
|
+
Then the file named "file1.txt" should have permissions "0644"
|
|
15
|
+
|
|
16
|
+
Scenario: Check #2
|
|
17
|
+
Then a file "file1.txt" should have permissions "0644"
|
|
18
|
+
|
|
19
|
+
Scenario: Check #3
|
|
20
|
+
Then a file "file1.txt" should not have permissions "0444"
|
|
21
|
+
|
|
22
|
+
Scenario: Check #4
|
|
23
|
+
Then the file "file1.txt" should not have permissions "0444"
|
|
24
|
+
"""
|
|
25
|
+
When I run `cucumber`
|
|
26
|
+
Then the features should all pass
|
|
27
|
+
|
|
28
|
+
Scenario: Check mode of non-existing file
|
|
29
|
+
Given a file named "features/create_file.feature" with:
|
|
30
|
+
"""
|
|
31
|
+
Feature: Check
|
|
32
|
+
Background:
|
|
33
|
+
Given a file named "file1.txt" does not exist
|
|
34
|
+
|
|
35
|
+
Scenario: Check
|
|
36
|
+
Then the file named "file1.txt" should have permissions "0644"
|
|
37
|
+
"""
|
|
38
|
+
When I run `cucumber`
|
|
39
|
+
Then the features should not pass
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Feature: Compare files
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I use a fixture named "cli-app"
|
|
5
|
+
|
|
6
|
+
Scenario: Compare existing files
|
|
7
|
+
Given a file named "features/non-existence.feature" with:
|
|
8
|
+
"""
|
|
9
|
+
Feature: Existence
|
|
10
|
+
Scenario: Existence
|
|
11
|
+
Given a file named "foo" with:
|
|
12
|
+
\"\"\"
|
|
13
|
+
hello world
|
|
14
|
+
\"\"\"
|
|
15
|
+
And a file named "bar" with:
|
|
16
|
+
\"\"\"
|
|
17
|
+
hello world
|
|
18
|
+
\"\"\"
|
|
19
|
+
And a file named "nonbar" with:
|
|
20
|
+
\"\"\"
|
|
21
|
+
hello another world
|
|
22
|
+
\"\"\"
|
|
23
|
+
Then the file "foo" should be equal to file "bar"
|
|
24
|
+
And the file "foo" should not be equal to file "nonbar"
|
|
25
|
+
"""
|
|
26
|
+
When I run `cucumber`
|
|
27
|
+
Then the features should all pass
|
|
28
|
+
|
|
29
|
+
Scenario: Compare non-existing files
|
|
30
|
+
Given a file named "features/non-existence.feature" with:
|
|
31
|
+
"""
|
|
32
|
+
Feature: Existence
|
|
33
|
+
Scenario: Existence
|
|
34
|
+
Given a file named "foo" with:
|
|
35
|
+
\"\"\"
|
|
36
|
+
hello world
|
|
37
|
+
\"\"\"
|
|
38
|
+
Then the file "foo" should be equal to file "bar"
|
|
39
|
+
"""
|
|
40
|
+
When I run `cucumber`
|
|
41
|
+
Then the features should not pass
|
|
42
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Feature: Copy file or directory
|
|
2
|
+
|
|
3
|
+
As a user of aruba
|
|
4
|
+
I want ot copy a file or a directory
|
|
5
|
+
To setup my tests
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I use a fixture named "cli-app"
|
|
9
|
+
|
|
10
|
+
Scenario: Copy file
|
|
11
|
+
Given a file named "features/copy.feature" with:
|
|
12
|
+
"""
|
|
13
|
+
Feature: Copy
|
|
14
|
+
Scenario: Copy
|
|
15
|
+
Given an empty file named "file1.txt"
|
|
16
|
+
And an empty file named "file2.txt"
|
|
17
|
+
And an empty file named "file3.txt"
|
|
18
|
+
When I copy a file named "file1.txt" to "new_file1.txt"
|
|
19
|
+
When I copy a file from "file2.txt" to "new_file2.txt"
|
|
20
|
+
When I copy the file "file3.txt" to "new_file3.txt"
|
|
21
|
+
Then a file named "new_file1.txt" should exist
|
|
22
|
+
Then a file named "new_file2.txt" should exist
|
|
23
|
+
Then a file named "new_file3.txt" should exist
|
|
24
|
+
"""
|
|
25
|
+
When I run `cucumber`
|
|
26
|
+
Then the features should all pass
|
|
27
|
+
|
|
28
|
+
Scenario: Copy directory
|
|
29
|
+
Given a file named "features/copy.feature" with:
|
|
30
|
+
"""
|
|
31
|
+
Feature: Copy
|
|
32
|
+
Scenario: Copy
|
|
33
|
+
Given a directory named "dir1.d"
|
|
34
|
+
And a directory named "dir2.d"
|
|
35
|
+
And a directory named "dir3.d"
|
|
36
|
+
When I copy a directory named "dir1.d" to "new_dir1.d"
|
|
37
|
+
When I copy a directory from "dir2.d" to "new_dir2.d"
|
|
38
|
+
When I copy the directory "dir3.d" to "new_dir3.d"
|
|
39
|
+
Then a directory named "new_dir1.d" should exist
|
|
40
|
+
Then a directory named "new_dir2.d" should exist
|
|
41
|
+
Then a directory named "new_dir3.d" should exist
|
|
42
|
+
"""
|
|
43
|
+
When I run `cucumber`
|
|
44
|
+
Then the features should all pass
|
|
45
|
+
|