aruba 0.14.14 → 1.0.0.pre.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.cucumberproignore +3 -0
- data/.github/ISSUE_TEMPLATE.md +48 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- data/.gitignore +1 -0
- data/.rspec +1 -0
- data/.rubocop.yml +1 -5
- data/.travis.yml +35 -27
- data/CONTRIBUTING.md +131 -29
- data/Dockerfile +67 -0
- data/Gemfile +33 -80
- data/History.md +602 -0
- data/README.md +24 -196
- data/Rakefile +87 -27
- data/appveyor.yml +0 -1
- data/aruba.gemspec +30 -40
- data/bin/bootstrap +34 -0
- data/bin/build +3 -0
- data/{script → bin}/console +0 -0
- data/bin/release +3 -0
- data/bin/test +9 -0
- data/cucumber.yml +1 -3
- data/docker-compose.yml +26 -0
- data/{bin → exec}/aruba +0 -0
- data/fixtures/cli-app/README.md +1 -1
- 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.rb +1 -5
- data/fixtures/cli-app/spec/spec_helper.rb +1 -6
- data/fixtures/empty-app/lib/cli/app.rb +2 -0
- data/lib/aruba/api.rb +3 -3
- data/lib/aruba/api/{commands.rb → command.rb} +4 -30
- data/lib/aruba/api/core.rb +8 -25
- data/lib/aruba/api/deprecated.rb +150 -408
- data/lib/aruba/api/filesystem.rb +17 -2
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/aruba_path.rb +56 -32
- data/lib/aruba/basic_configuration.rb +3 -5
- data/lib/aruba/colorizer.rb +99 -10
- data/lib/aruba/command.rb +0 -2
- data/lib/aruba/config.rb +5 -5
- data/lib/aruba/config/jruby.rb +5 -15
- data/lib/aruba/console.rb +2 -0
- data/lib/aruba/console/help.rb +1 -7
- data/lib/aruba/cucumber.rb +0 -2
- data/lib/aruba/cucumber/command.rb +98 -72
- data/lib/aruba/cucumber/file.rb +15 -3
- data/lib/aruba/cucumber/hooks.rb +71 -10
- data/lib/aruba/event_bus/name_resolver.rb +2 -10
- data/lib/aruba/generators/script_file.rb +1 -1
- data/lib/aruba/in_process.rb +0 -2
- data/lib/aruba/initializer.rb +4 -14
- data/lib/aruba/matchers/base/object_formatter.rb +0 -5
- data/lib/aruba/matchers/file/have_same_file_content.rb +5 -5
- data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
- data/lib/aruba/platforms/announcer.rb +11 -16
- data/lib/aruba/platforms/aruba_file_creator.rb +1 -5
- data/lib/aruba/platforms/aruba_logger.rb +1 -5
- data/lib/aruba/platforms/command_monitor.rb +10 -14
- data/lib/aruba/platforms/determine_disk_usage.rb +8 -3
- data/lib/aruba/platforms/filesystem_status.rb +1 -5
- data/lib/aruba/platforms/unix_command_string.rb +1 -8
- data/lib/aruba/platforms/unix_environment_variables.rb +6 -8
- data/lib/aruba/platforms/unix_platform.rb +9 -22
- data/lib/aruba/platforms/unix_which.rb +4 -0
- data/lib/aruba/platforms/windows_command_string.rb +6 -14
- data/lib/aruba/platforms/windows_environment_variables.rb +4 -16
- data/lib/aruba/platforms/windows_which.rb +4 -0
- data/lib/aruba/processes/basic_process.rb +22 -18
- data/lib/aruba/processes/spawn_process.rb +12 -35
- data/lib/aruba/rspec.rb +1 -0
- data/lib/aruba/runtime.rb +3 -4
- data/lib/aruba/setup.rb +9 -11
- data/lib/aruba/spawn_process.rb +1 -4
- data/lib/aruba/tasks/docker_helpers.rb +158 -0
- data/lib/aruba/version.rb +1 -1
- metadata +62 -230
- data/CHANGELOG.md +0 -991
- data/features/.nav +0 -72
- data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
- data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
- data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
- data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
- data/features/02_configure_aruba/basics.feature +0 -151
- data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
- data/features/02_configure_aruba/console_history_file.feature +0 -38
- data/features/02_configure_aruba/exit_timeout.feature +0 -60
- data/features/02_configure_aruba/fixtures_directories.feature +0 -38
- data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
- data/features/02_configure_aruba/home_directory.feature +0 -80
- data/features/02_configure_aruba/io_timeout.feature +0 -30
- data/features/02_configure_aruba/keep_ansi.feature +0 -30
- data/features/02_configure_aruba/log_level.feature +0 -38
- data/features/02_configure_aruba/physical_block_size.feature +0 -53
- data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
- data/features/02_configure_aruba/root_directory.feature +0 -30
- data/features/02_configure_aruba/startup_wait_time.feature +0 -48
- data/features/02_configure_aruba/working_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
- data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
- data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
- data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
- data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
- data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
- data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
- data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
- data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
- data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
- data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
- data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
- data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
- data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
- data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
- data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
- data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
- data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
- data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
- data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
- data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
- data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
- data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
- data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
- data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
- data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
- data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
- data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
- data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
- data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
- data/features/04_aruba_api/command/run_command.feature +0 -423
- data/features/04_aruba_api/command/run_simple.feature +0 -254
- data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
- data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
- data/features/04_aruba_api/command/stop_single_command.feature +0 -132
- data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
- data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
- data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
- data/features/04_aruba_api/core/expand_path.feature +0 -88
- data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
- data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
- data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
- data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
- data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
- data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
- data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
- data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
- data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
- data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
- data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
- data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
- data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
- data/features/04_aruba_api/text/extract_text.feature +0 -87
- data/features/04_aruba_api/text/replace_variables.feature +0 -45
- data/features/04_aruba_api/text/sanitize_text.feature +0 -228
- data/features/04_aruba_api/text/unescape_text.feature +0 -127
- data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
- data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
- data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
- data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
- data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
- data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
- data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
- data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
- data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
- data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
- data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
- data/features/06_use_aruba_cli/open_console.feature +0 -55
- data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
- data/features/step_definitions/hooks.rb +0 -146
- data/features/support/aruba.rb +0 -7
- data/features/support/env.rb +0 -33
- data/features/support/simplecov_setup.rb +0 -11
- data/lib/aruba/api/bundler.rb +0 -16
- data/lib/aruba/cucumber/deprecated.rb +0 -93
- data/lib/aruba/matchers/deprecated.rb +0 -1
- data/lib/aruba/matchers/deprecated/file.rb +0 -17
- data/lib/aruba/reporting.rb +0 -126
- data/script/bootstrap +0 -24
- data/script/test +0 -3
- data/spec/aruba/api/bundler_spec.rb +0 -15
- data/spec/aruba/api/commands_spec.rb +0 -30
- data/spec/aruba/api/core_spec.rb +0 -184
- data/spec/aruba/api/deprecated_spec.rb +0 -421
- data/spec/aruba/api/filesystem_spec.rb +0 -746
- data/spec/aruba/api/runtime_spec.rb +0 -28
- data/spec/aruba/api_spec.rb +0 -73
- 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 -73
- 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/processes/spawn_process_spec.rb +0 -112
- data/spec/aruba/rspec_spec.rb +0 -15
- data/spec/aruba/runtime_spec.rb +0 -29
- data/spec/event_bus/name_resolver_spec.rb +0 -68
- data/spec/event_bus_spec.rb +0 -158
- data/spec/spec_helper.rb +0 -22
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8c62f9928322c0f6bf4fd32fd910f094462cff44
|
4
|
+
data.tar.gz: 133388c045d615d2487e6b6fb242ca24484c67a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 558945a1186295b2e4c5a1f4f7ff07d34fb0f8aa90bef9ffb4cd7cfc2c5e0591ca2b2cb1c95c83f0e1b3322a212e90a8f1256d8db9077ab62b9d7d23330135e6
|
7
|
+
data.tar.gz: 55bcf35d60c156b3ecfba2a5ee6dec2fad9d5215789468eed2a798ee574fb3ab5ddcd93588f6bc7ee5079acfefd27b89d74cc9251c798d326e9b6000af1c3099
|
data/.cucumberproignore
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
<!-- These sections are meant as guidance for you, to help you give the kind of information we'll need to help with your issue. If a section doesn't seem to fit, just skip it.
|
2
|
+
|
3
|
+
In general: Please provide as much information as you can to help us solving your problem -->
|
4
|
+
|
5
|
+
## Summary
|
6
|
+
|
7
|
+
<!--- Provide a general summary description of the issue -->
|
8
|
+
|
9
|
+
## Expected Behavior
|
10
|
+
|
11
|
+
<!--- If you're describing a bug, tell us what should happen -->
|
12
|
+
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
13
|
+
<!--- Feel free to use Given / Then / Then if that helps, but please add some plain-language context too -->
|
14
|
+
|
15
|
+
## Current Behavior
|
16
|
+
|
17
|
+
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
18
|
+
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
19
|
+
|
20
|
+
<!--- If you have got some output place it in the code block below. Otherwise remove it. -->
|
21
|
+
~~~
|
22
|
+
~~~
|
23
|
+
|
24
|
+
## Possible Solution
|
25
|
+
|
26
|
+
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
27
|
+
<!--- or ideas how to implement the addition or change -->
|
28
|
+
|
29
|
+
## Steps to Reproduce (for bugs)
|
30
|
+
|
31
|
+
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
32
|
+
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
33
|
+
1.
|
34
|
+
2.
|
35
|
+
3.
|
36
|
+
4.
|
37
|
+
|
38
|
+
## Context & Motivation
|
39
|
+
|
40
|
+
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
41
|
+
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
42
|
+
|
43
|
+
## Your Environment
|
44
|
+
|
45
|
+
<!--- If you're reporting a bug, include as many relevant details about the environment you experienced the bug in -->
|
46
|
+
* Version used:
|
47
|
+
* Operating System and version:
|
48
|
+
* Link to your project:
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<!-- These sections are meant as guidance for you. If something doesn't fit, you can just skip it. -->
|
2
|
+
|
3
|
+
## Summary
|
4
|
+
|
5
|
+
<!--- Provide a general summary description of your changes -->
|
6
|
+
|
7
|
+
## Details
|
8
|
+
|
9
|
+
<!--- Describe your changes in detail -->
|
10
|
+
|
11
|
+
## Motivation and Context
|
12
|
+
|
13
|
+
<!--- Why is this change required? What problem does it solve? -->
|
14
|
+
<!--- If it fixes an open issue, please link to the issue here. -->
|
15
|
+
|
16
|
+
## How Has This Been Tested?
|
17
|
+
|
18
|
+
<!--- Please add tests for changes to the code, otherwise we probably won't merge it -->
|
19
|
+
|
20
|
+
<!--- Please describe in detail how you tested your changes. -->
|
21
|
+
<!--- Include details of your testing environment, tests ran to see how -->
|
22
|
+
<!--- your change affects other areas of the code, etc. -->
|
23
|
+
|
24
|
+
## Screenshots (if appropriate):
|
25
|
+
|
26
|
+
## Types of changes
|
27
|
+
|
28
|
+
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
|
29
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
30
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
31
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
32
|
+
|
33
|
+
## Checklist:
|
34
|
+
|
35
|
+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
|
36
|
+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
|
37
|
+
- [ ] I've added tests for my code
|
38
|
+
- [ ] My change requires a change to the documentation.
|
39
|
+
- [ ] I have updated the documentation accordingly.
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
AllCops:
|
2
2
|
Exclude:
|
3
3
|
- tmp/**/*
|
4
|
-
- vendor/bundle/**/*
|
5
4
|
DisplayCopNames: true
|
6
|
-
|
7
5
|
# Cop supports --auto-correct.
|
8
6
|
# Configuration parameters: SupportedStyles.
|
9
7
|
Style/HashSyntax:
|
@@ -41,6 +39,7 @@ Metrics/LineLength:
|
|
41
39
|
Max: 169
|
42
40
|
Exclude:
|
43
41
|
- lib/aruba/api.rb
|
42
|
+
- lib/aruba/api/deprecated.rb
|
44
43
|
- aruba.gemspec
|
45
44
|
|
46
45
|
# Configuration parameters: CountComments.
|
@@ -78,9 +77,6 @@ Style/CollectionMethods:
|
|
78
77
|
Style/Documentation:
|
79
78
|
Enabled: false
|
80
79
|
|
81
|
-
Style/DotPosition:
|
82
|
-
EnforcedStyle: trailing
|
83
|
-
|
84
80
|
# Configuration parameters: MinBodyLength.
|
85
81
|
Style/GuardClause:
|
86
82
|
Enabled: false
|
data/.travis.yml
CHANGED
@@ -1,37 +1,45 @@
|
|
1
|
-
# In order to install old Rubies, we need to use old Ubuntu distribution.
|
2
|
-
dist: trusty
|
3
1
|
sudo: false
|
4
2
|
language: ruby
|
5
|
-
script:
|
6
|
-
|
7
|
-
cache: bundler
|
8
|
-
|
3
|
+
script: bin/test
|
4
|
+
install: bin/bootstrap --without development debug
|
9
5
|
rvm:
|
10
|
-
- 1.8.7
|
11
|
-
- 1.9.2
|
12
6
|
- 1.9.3
|
13
7
|
- 2.0.0
|
14
8
|
- 2.1.8
|
15
|
-
- 2.2
|
16
|
-
- 2.3
|
17
|
-
- 2.4
|
18
|
-
-
|
19
|
-
-
|
20
|
-
-
|
21
|
-
- jruby-
|
22
|
-
- jruby-9.0
|
23
|
-
- jruby-9.1
|
24
|
-
- jruby-9.2.6.0
|
25
|
-
- rbx-3
|
9
|
+
- 2.2.4
|
10
|
+
- 2.3.0
|
11
|
+
- 2.4.0
|
12
|
+
- ruby-head
|
13
|
+
- jruby
|
14
|
+
- jruby-20mode
|
15
|
+
- jruby-21mode
|
26
16
|
matrix:
|
27
17
|
include:
|
28
|
-
- rvm: jruby-1.
|
29
|
-
env: JRUBY_OPTS='--dev
|
18
|
+
- rvm: jruby-9.0.1.0
|
19
|
+
env: JRUBY_OPTS='--dev'
|
20
|
+
- rvm: jruby-9.0.1.0-20mode
|
21
|
+
env: JRUBY_OPTS='--dev'
|
22
|
+
- rvm: jruby-9.0.1.0-21mode
|
23
|
+
env: JRUBY_OPTS='--dev'
|
30
24
|
allow_failures:
|
31
|
-
- rvm:
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
- rvm: ruby-head
|
26
|
+
- rvm: jruby-9.0.1.0
|
27
|
+
env: JRUBY_OPTS='--dev'
|
28
|
+
- rvm: jruby-9.0.1.0-20mode
|
29
|
+
env: JRUBY_OPTS='--dev'
|
30
|
+
- rvm: jruby-9.0.1.0-21mode
|
31
|
+
env: JRUBY_OPTS='--dev'
|
32
|
+
fast_finish: true
|
33
|
+
notifications:
|
34
|
+
webhooks:
|
35
|
+
urls:
|
36
|
+
- https://webhooks.gitter.im/e/d4d9080e2a8c4910f609
|
36
37
|
env:
|
37
|
-
|
38
|
+
global:
|
39
|
+
- secure: l8uznA5K4K9mZ1krmP3lTMD8WcJ32qGxFOR3jubKHcOBSLB4xSzU2aIqjyJdO+rLzebkwamhJc8pGSIWOUDQYvFiX7splK+uEkbBJ5huAhXtLF4Qgl86bCWbEXYzN7rvn0DQfpJAovyFMNRMnfo70XhwqWzFsaYa7Z0YbqYsJE4=
|
40
|
+
- JRUBY_OPTS='--dev'
|
41
|
+
cache: apt
|
42
|
+
addons:
|
43
|
+
apt:
|
44
|
+
packages:
|
45
|
+
- zsh
|
data/CONTRIBUTING.md
CHANGED
@@ -1,70 +1,172 @@
|
|
1
|
-
|
1
|
+
# Contributing to the Cucumber Aruba Project
|
2
|
+
|
3
|
+
## Introduction
|
4
|
+
|
5
|
+
We would love to get help from you as "user" and "contributor".
|
6
|
+
|
7
|
+
**Users**
|
8
|
+
|
9
|
+
* Tell us how "Aruba" works for you
|
10
|
+
* Spread the word if you like our work and please tell us if somethings is (utterly) wrong
|
11
|
+
* Encourage people in testing their code and keep communicating their needs
|
12
|
+
|
13
|
+
**Contributors**
|
14
|
+
|
15
|
+
* Send us bug fixes
|
16
|
+
* Add new features to the code
|
17
|
+
* Discuss changes
|
18
|
+
* Add missing documentation
|
19
|
+
* Improve our test coverage
|
20
|
+
|
21
|
+
The rest of this document is a guide for those maintaining Aruba, and others who would like to submit patches.
|
22
|
+
|
23
|
+
## Contributing to the "aruba" project
|
24
|
+
|
25
|
+
It would be great if all people who want to contribute to the "aruba" project – contributors and maintiners – follow the guidelines in this section. There are also "Getting started"-sections both for [contributors](#getting-started-as-a-contributor) and [maintainers]((#getting-started-as-a-maintainer).
|
26
|
+
|
27
|
+
### Issues
|
2
28
|
|
3
29
|
We appreciate that. But before you do, please learn our basic rules:
|
4
30
|
|
5
31
|
* This is not a support forum. If you have a question, please go to [The Cukes Google Group](http://groups.google.com/group/cukes).
|
6
32
|
* Do you have an idea for a new feature? Then don't expect it to be implemented unless you or someone else sends a [pull request](https://help.github.com/articles/using-pull-requests). You might be better to start a discussion on [the google group](http://groups.google.com/group/cukes).
|
7
|
-
* Reporting a bug?
|
8
|
-
|
9
|
-
|
10
|
-
* How to reproduce it. Bugs with a failing test in a [pull request](https://help.github.com/articles/using-pull-requests) get fixed much quicker. Some bugs may never be fixed.
|
11
|
-
* Want to paste some code or output? Put \`\`\` on a line above and below your code/output. See [GFM](https://help.github.com/articles/github-flavored-markdown)'s *Fenced Code Blocks* for details.
|
12
|
-
* We love [pull requests](https://help.github.com/articles/using-pull-requests). But if you don't have a test to go with it we probably won't merge it.
|
33
|
+
* Reporting a bug? Just follow our comments in the issue template
|
34
|
+
* We love [pull requests](https://help.github.com/articles/using-pull-requests). The same here: Please consider our comments within the template we provide for your pull request(s).
|
35
|
+
|
13
36
|
|
14
|
-
|
37
|
+
### Pull Requests
|
15
38
|
|
16
|
-
|
39
|
+
**Contributors**
|
17
40
|
|
18
|
-
|
41
|
+
Please...
|
19
42
|
|
20
43
|
* Fork the project. Make a branch for your change.
|
21
|
-
* Make your feature addition or bug fix
|
44
|
+
* Make your feature addition or bug fix – if you're unsure if your addition will be accepted, open an issue for discussion first
|
22
45
|
* Make sure your patch is well covered by tests. We don't accept changes that aren't tested.
|
23
46
|
* Please do not change the Rakefile, version, or history.
|
24
47
|
(if you want to have your own version, that is fine but
|
25
48
|
bump version in a commit by itself so we can ignore when we merge your change)
|
49
|
+
* Make sure your pull request complies to our development style
|
50
|
+
* Rebase your branch if needed to reduce clutter in our git history
|
51
|
+
* Make sure you don't break other people's code – On major changes: First deprecated, than bump major version, than make breaking changes
|
52
|
+
* Split up your changes into reviewable "git"-commits which combine all lines/files relevant for a single change
|
26
53
|
* Send us a pull request.
|
27
54
|
|
28
|
-
|
55
|
+
**Maintainers**
|
56
|
+
|
57
|
+
* Use pull requests for larger or controversial changes made by yourself or changes you might expected to break the build
|
58
|
+
* Commit smaller changes directly to master, e.g. fixing typos, adding tests or adding documentation
|
59
|
+
* Update [History.md](History.md) when a pull request is merged
|
60
|
+
* Make sure all tests are green before merging a pull request
|
61
|
+
|
62
|
+
### Development style
|
63
|
+
|
64
|
+
* We try to follow the recommendations in the [Ruby Community Style Guide](https://github.com/bbatsov/ruby-style-guide) and use [`rubocop`](https://github.com/bbatsov/rubocop) to "enforce" it. Please see [.rubocop.yml](.rubocop.yml) for exceptions.
|
65
|
+
* There should be `action`-methods and `getter`-methods in `aruba`. Only the latter should return values. Please expect the first ones to return `nil`.
|
66
|
+
* Add documentation (aka acceptance tests) for new features using `aruba`'s steps and place them some where suitable in [here](features/).
|
67
|
+
* Add unit tests where needed to cover edge cases which are not (directly) relevant for users
|
68
|
+
* Add developer documentation in [`yardoc`](http://yardoc.org/) to all relevant methods added
|
69
|
+
* Format your commits messages following those seven rules -- see [this blog post](http://chris.beams.io/posts/git-commit/) for a well written explanation about the why.
|
70
|
+
1. Separate subject from body with a blank line
|
71
|
+
2. Limit the subject line to 50 characters
|
72
|
+
3. Capitalize the subject line
|
73
|
+
4. Do not end the subject line with a period
|
74
|
+
5. Use the imperative mood in the subject line
|
75
|
+
6. Wrap the body at 72 characters
|
76
|
+
7. Use the body to explain what and why vs. how (optional if subject is self-explanatory)
|
77
|
+
8. Use Markdown Markup to style your message (only if required)
|
78
|
+
|
79
|
+
|
80
|
+
## Getting started as a "Contributor"
|
81
|
+
|
82
|
+
### Bootstrap environment
|
29
83
|
|
30
84
|
To get started with `aruba`, you just need to bootstrap the environment by
|
31
85
|
running the following command.
|
32
86
|
|
33
|
-
|
34
|
-
|
87
|
+
~~~bash
|
88
|
+
# Bootstrap environment
|
89
|
+
bin/bootstrap
|
90
|
+
~~~
|
35
91
|
|
36
|
-
|
92
|
+
### Running tests
|
37
93
|
|
38
|
-
Make sure you bootstrap the environment first.
|
94
|
+
Make sure you bootstrap the environment first. Then run the following command
|
95
|
+
to run the test suite.
|
39
96
|
|
40
|
-
|
41
|
-
|
97
|
+
~~~bash
|
98
|
+
# Run the test suite
|
99
|
+
bin/test
|
100
|
+
~~~
|
42
101
|
|
43
|
-
|
102
|
+
If you have problems because our assumptions about your local setup are wrong.
|
103
|
+
Try this instead. This requires the `docker`-command/project to be installed on
|
104
|
+
your local system.
|
44
105
|
|
45
|
-
|
106
|
+
~~~bash
|
107
|
+
# Build the docker container
|
108
|
+
bundle exec rake docker:build
|
109
|
+
|
110
|
+
# Run the whole test suite in "docker"-container
|
111
|
+
RUN_IN_DOCKER=1 bin/test
|
112
|
+
|
113
|
+
# Run only selected scenario
|
114
|
+
RUN_IN_DOCKER=1 bin/test cucumber features/steps/command/shell.feature:14
|
115
|
+
~~~
|
116
|
+
|
117
|
+
## Installing your own gems used for development
|
118
|
+
|
119
|
+
A `Gemfile.local`-file can be used to have your own gems installed to support
|
120
|
+
your normal development workflow.
|
121
|
+
|
122
|
+
Example:
|
123
|
+
|
124
|
+
~~~ruby
|
125
|
+
gem 'pry'
|
126
|
+
gem 'pry-byebug'
|
127
|
+
gem 'byebug'
|
128
|
+
~~~
|
129
|
+
|
130
|
+
## Getting started as a "Maintainer"
|
131
|
+
|
132
|
+
### Release Process
|
133
|
+
|
134
|
+
* Bump the version number in `lib/aruba/version.rb`
|
46
135
|
* Make sure `History.md` is updated with the upcoming version number, and has entries for all fixes.
|
47
136
|
* No need to add a `History.md` header at this point - this should be done when a new change is made, later.
|
137
|
+
* If a major version is released, update the `still`-branch which points to "old" major version
|
48
138
|
|
49
139
|
Now release it
|
50
140
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
141
|
+
~~~bash
|
142
|
+
# update dependencies
|
143
|
+
bundle update
|
144
|
+
|
145
|
+
# Run test suite
|
146
|
+
bin/test
|
147
|
+
|
148
|
+
# Release gem
|
149
|
+
git commit -m "Version bump"
|
150
|
+
bin/release
|
151
|
+
|
152
|
+
# If it's a major relase:
|
153
|
+
# Merge changes back to have an correct documentation
|
154
|
+
git checkout still
|
155
|
+
git merge master
|
156
|
+
git push
|
157
|
+
~~~
|
55
158
|
|
56
|
-
Now
|
159
|
+
Now send a PR to https://github.com/cucumber/website adding an article about the with details of the new release and merge it - an aruba maintainer should normally allowed to merge PRs on `cucumber/website`. A copy of an old announcement can be used as basis for the new article. After this send an email with the link to the article to cukes@googlegroups.com.
|
57
160
|
|
58
|
-
|
161
|
+
### Gaining Release Karma
|
59
162
|
|
60
163
|
To become a release manager, create a pull request adding your name to the list below, and include your Rubygems email address in the ticket. One of the existing Release managers will then add you.
|
61
164
|
|
62
165
|
Current release managers:
|
63
|
-
* Jarl Friis ([@jarl-dk](https://github.com/jarl-dk))
|
64
|
-
* Matt Wynne ([@mattwynne](http://github.com/mattwynne))
|
65
166
|
* Aslak Hellesøy ([@aslakhellesoy](http://github.com/aslakhellesoy))
|
66
|
-
* Tom Brand ([@tom025](https://github.com/tom025))
|
67
167
|
* Dennis Günnewig ([@maxmeyer](http://github.com/maxmeyer), [@dg-rationdata](http://github.com/dg-rationdata))
|
168
|
+
* Jarl Friis ([@jarl-dk](https://github.com/jarl-dk))
|
169
|
+
* Matt Wynne ([@mattwynne](http://github.com/mattwynne))
|
68
170
|
|
69
171
|
To grant release karma, issue the following command:
|
70
172
|
|
data/Dockerfile
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
FROM ubuntu:14.04
|
2
|
+
MAINTAINER Aruba Maintainers <cukes-devs@googlegroups.com>
|
3
|
+
|
4
|
+
# Packages needed to install RVM and run Bundler gem commands
|
5
|
+
RUN apt-get update -qq \
|
6
|
+
&& apt-get -y install ca-certificates curl git-core --no-install-recommends \
|
7
|
+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
|
8
|
+
|
9
|
+
# Create guest user early (before rvm) so uid:gid are 1000:000
|
10
|
+
RUN useradd -m -s /bin/bash guest
|
11
|
+
|
12
|
+
# Temporarily install RVM as root - just for requirements
|
13
|
+
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
|
14
|
+
&& curl -L get.rvm.io | bash -s stable \
|
15
|
+
&& bash -l -c 'rvm requirements 2.2.1' \
|
16
|
+
&& bash -l -c 'echo yes | rvm implode' \
|
17
|
+
|
18
|
+
# Fix locale
|
19
|
+
ENV DEBIAN_FRONTEND noninteractive
|
20
|
+
RUN dpkg-reconfigure locales && locale-gen en_US.UTF-8 && /usr/sbin/update-locale LANG=en_US.UTF-8 \
|
21
|
+
&& echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && locale-gen
|
22
|
+
ENV LC_ALL C.UTF-8
|
23
|
+
ENV LANG C.UTF-8
|
24
|
+
ENV LANGUAGE C.UTF-8
|
25
|
+
|
26
|
+
# Zsh (just for the sake of a handful of Cucumber scenarios)
|
27
|
+
RUN apt-get update -qq \
|
28
|
+
&& apt-get -y install zsh --no-install-recommends \
|
29
|
+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
|
30
|
+
|
31
|
+
# Python (just for the sake of a handful of Cucumber scenarios)
|
32
|
+
RUN apt-get update -qq \
|
33
|
+
&& apt-get -y install python --no-install-recommends \
|
34
|
+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
|
35
|
+
|
36
|
+
# Java (for javac - also for just a few Cucumber scenarios)
|
37
|
+
RUN apt-get update -qq \
|
38
|
+
&& apt-get -y install openjdk-7-jdk --no-install-recommends \
|
39
|
+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin
|
40
|
+
|
41
|
+
# Cache needed gems - for faster test reruns
|
42
|
+
ADD Gemfile Gemfile.lock aruba.gemspec /home/guest/cache/aruba/
|
43
|
+
ADD lib/aruba/version.rb /home/guest/cache/aruba/lib/aruba/version.rb
|
44
|
+
RUN chown -R guest:guest /home/guest/cache
|
45
|
+
|
46
|
+
USER guest
|
47
|
+
ENV HOME /home/guest
|
48
|
+
WORKDIR /home/guest
|
49
|
+
|
50
|
+
# Install RVM as guest
|
51
|
+
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
|
52
|
+
&& /bin/bash -l -c "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc" \
|
53
|
+
&& curl -L get.rvm.io | bash -s stable \
|
54
|
+
&& /bin/bash -l -c "rvm install 2.3.0 && rvm cleanup all" \
|
55
|
+
&& /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" \
|
56
|
+
&& echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc \
|
57
|
+
&& echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.zshrc
|
58
|
+
|
59
|
+
# Download and install aruba + dependencies
|
60
|
+
WORKDIR /home/guest/cache/aruba
|
61
|
+
RUN bash -l -c "bundle install"
|
62
|
+
|
63
|
+
# Default working directory
|
64
|
+
RUN mkdir -p /home/guest/aruba
|
65
|
+
WORKDIR /home/guest/aruba
|
66
|
+
|
67
|
+
CMD ["bundle exec rake test"]
|