aruba 0.14.9 → 0.14.10

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.
Files changed (150) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/.travis.yml +17 -37
  4. data/CHANGELOG.md +30 -0
  5. data/Gemfile +11 -1
  6. data/features/{getting_started/cleanup.feature → 01_getting_started_with_aruba/cleanup_working_directory.feature} +4 -5
  7. data/features/{getting_started → 01_getting_started_with_aruba}/run_commands.feature +45 -15
  8. data/features/{getting_started → 01_getting_started_with_aruba}/supported_testing_frameworks.feature +5 -21
  9. data/features/{configuration → 02_configure_aruba}/activate_announcer_on_command_failure.feature +2 -2
  10. data/features/{configuration/usage.feature → 02_configure_aruba/basics.feature} +21 -29
  11. data/features/{configuration → 02_configure_aruba}/command_runtime_environment.feature +0 -0
  12. data/features/{configuration → 02_configure_aruba}/console_history_file.feature +2 -2
  13. data/features/{configuration → 02_configure_aruba}/exit_timeout.feature +25 -17
  14. data/features/{configuration → 02_configure_aruba}/fixtures_directories.feature +2 -2
  15. data/features/{configuration → 02_configure_aruba}/fixtures_path_prefix.feature +1 -1
  16. data/features/{configuration → 02_configure_aruba}/home_directory.feature +6 -6
  17. data/features/{configuration → 02_configure_aruba}/io_timeout.feature +2 -2
  18. data/features/{configuration → 02_configure_aruba}/keep_ansi.feature +0 -0
  19. data/features/{configuration → 02_configure_aruba}/log_level.feature +2 -2
  20. data/features/{configuration → 02_configure_aruba}/physical_block_size.feature +3 -3
  21. data/features/{configuration → 02_configure_aruba}/remove_ansi_escape_sequences.feature +2 -2
  22. data/features/{configuration → 02_configure_aruba}/root_directory.feature +1 -1
  23. data/features/{configuration → 02_configure_aruba}/startup_wait_time.feature +2 -2
  24. data/features/{configuration → 02_configure_aruba}/working_directory.feature +9 -4
  25. data/features/{steps/core/announce.feature → 03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature} +20 -40
  26. data/features/{steps/environment → 03_testing_frameworks/cucumber}/disable_bunder.feature +0 -0
  27. data/features/{steps/command/exit_statuses.feature → 03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature} +20 -20
  28. data/features/{steps/command/output.feature → 03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature} +58 -111
  29. data/features/{steps/command/stderr.feature → 03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature} +1 -1
  30. data/features/{steps/command/stdout.feature → 03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature} +6 -6
  31. data/features/{steps/command/debug.feature → 03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature} +6 -6
  32. data/features/{steps/command/run.feature → 03_testing_frameworks/cucumber/steps/command/run_a_command.feature} +4 -4
  33. data/features/{steps/command/in_process.feature → 03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature} +2 -2
  34. data/features/{steps/command/interactive.feature → 03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature} +2 -2
  35. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +79 -0
  36. data/features/{steps/command/send_signal.feature → 03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature} +19 -40
  37. data/features/{steps/command/stop.feature → 03_testing_frameworks/cucumber/steps/command/stop_command.feature} +47 -75
  38. data/features/{steps → 03_testing_frameworks/cucumber/steps}/environment/append_environment_variable.feature +3 -3
  39. data/features/{steps/environment/home_variable.feature → 03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature} +4 -4
  40. data/features/{steps → 03_testing_frameworks/cucumber/steps}/environment/prepend_environment_variable.feature +3 -3
  41. data/features/{steps → 03_testing_frameworks/cucumber/steps}/environment/set_environment_variable.feature +3 -3
  42. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/append_to_file.feature +0 -0
  43. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/cd_to_directory.feature +0 -0
  44. data/features/{steps/filesystem/existence_of_directory.feature → 03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature} +0 -0
  45. data/features/{steps/filesystem/existence_of_file.feature → 03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature} +0 -0
  46. data/features/{steps/filesystem/file_content.feature → 03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature} +57 -0
  47. data/features/{steps/filesystem/non_existence_of_directory.feature → 03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature} +0 -0
  48. data/features/{steps/filesystem/non_existence_of_file.feature → 03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature} +0 -0
  49. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/check_permissions_of_file.feature +0 -0
  50. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/compare_files.feature +0 -0
  51. data/features/{steps/filesystem/copy.feature → 03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature} +0 -0
  52. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/create_directory.feature +0 -0
  53. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/create_file.feature +0 -0
  54. data/features/{steps/filesystem/move.feature → 03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature} +0 -1
  55. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/overwrite_file.feature +0 -0
  56. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/remove_directory.feature +0 -0
  57. data/features/{steps → 03_testing_frameworks/cucumber/steps}/filesystem/remove_file.feature +0 -0
  58. data/features/{steps/filesystem/use_fixture.feature → 03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature} +0 -0
  59. data/features/{hooks/after/command.feature → 03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature} +1 -4
  60. data/features/{hooks/before/command.feature → 03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature} +1 -5
  61. data/features/{rspec/integration.feature → 03_testing_frameworks/rspec/setup_aruba_for_rspec.feature} +17 -17
  62. data/features/{api/command/find_command.feature → 04_aruba_api/command/find_a_started_command.feature} +0 -0
  63. data/features/{api/command/which.feature → 04_aruba_api/command/find_command_in_PATH.feature} +4 -4
  64. data/features/{api/command/stderr.feature → 04_aruba_api/command/read_stderr_of_command.feature} +8 -8
  65. data/features/{api/command/stdout.feature → 04_aruba_api/command/read_stdout_of_command.feature} +7 -7
  66. data/features/{api/command/run.feature → 04_aruba_api/command/run_command.feature} +53 -44
  67. data/features/{api → 04_aruba_api}/command/run_simple.feature +46 -34
  68. data/features/{api/command/send_signal.feature → 04_aruba_api/command/send_signal_to_command.feature} +8 -8
  69. data/features/{api → 04_aruba_api}/command/stop_all_commands.feature +18 -14
  70. data/features/{api/command/stop.feature → 04_aruba_api/command/stop_single_command.feature} +19 -18
  71. data/features/{api → 04_aruba_api}/command/terminate_all_commands.feature +16 -12
  72. data/features/{api/command/last_command_started.feature → 04_aruba_api/command/use_last_command_started.feature} +0 -0
  73. data/features/{api/command/last_command_stopped.feature → 04_aruba_api/command/use_last_command_stopped.feature} +2 -2
  74. data/features/{api → 04_aruba_api}/core/expand_path.feature +0 -0
  75. data/features/{api → 04_aruba_api}/environment/append_environment_variable.feature +0 -0
  76. data/features/{api → 04_aruba_api}/environment/delete_environment_variable.feature +0 -0
  77. data/features/{api → 04_aruba_api}/environment/prepend_environment_variable.feature +0 -0
  78. data/features/{api → 04_aruba_api}/environment/set_environment_variable.feature +0 -0
  79. data/features/{api/filesystem/cd.feature → 04_aruba_api/filesystem/cd_to_directory.feature} +0 -0
  80. data/features/{api/filesystem/does_exist.feature → 04_aruba_api/filesystem/check_existence_file_or_directory.feature} +0 -0
  81. data/features/{api/filesystem/is_absolute.feature → 04_aruba_api/filesystem/check_if_path_is_absolute.feature} +0 -0
  82. data/features/{api/filesystem/is_directory.feature → 04_aruba_api/filesystem/check_if_path_is_directory.feature} +0 -0
  83. data/features/{api/filesystem/is_file.feature → 04_aruba_api/filesystem/check_if_path_is_file.feature} +0 -0
  84. data/features/{api/filesystem/is_relative.feature → 04_aruba_api/filesystem/check_if_path_is_relative.feature} +0 -0
  85. data/features/{api → 04_aruba_api}/filesystem/create_directory.feature +0 -0
  86. data/features/{api/filesystem/move.feature → 04_aruba_api/filesystem/move_file_or_directory.feature} +0 -0
  87. data/features/{api/filesystem/disk_usage.feature → 04_aruba_api/filesystem/report_disk_usage.feature} +0 -0
  88. data/features/{api/filesystem/fixtures.feature → 04_aruba_api/filesystem/use_fixtures.feature} +0 -0
  89. data/features/{api → 04_aruba_api}/text/extract_text.feature +8 -8
  90. data/features/{api → 04_aruba_api}/text/replace_variables.feature +2 -2
  91. data/features/{api → 04_aruba_api}/text/sanitize_text.feature +22 -22
  92. data/features/{api → 04_aruba_api}/text/unescape_text.feature +12 -12
  93. data/features/{matchers/timeouts.feature → 05_use_rspec_matchers/command/check_timeouts.feature} +4 -4
  94. data/features/{matchers → 05_use_rspec_matchers}/directory/have_sub_directory.feature +0 -0
  95. data/features/{matchers → 05_use_rspec_matchers}/file/be_a_command_found_in_path.feature +0 -0
  96. data/features/{matchers → 05_use_rspec_matchers}/file/be_existing_executable.feature +0 -0
  97. data/features/{matchers → 05_use_rspec_matchers}/file/be_existing_file.feature +0 -0
  98. data/features/{matchers → 05_use_rspec_matchers}/file/have_file_content.feature +0 -0
  99. data/features/{matchers → 05_use_rspec_matchers}/file/have_file_size.feature +0 -0
  100. data/features/{matchers → 05_use_rspec_matchers}/path/be_an_absolute_path.feature +0 -0
  101. data/features/{matchers → 05_use_rspec_matchers}/path/be_an_existing_path.feature +0 -0
  102. data/features/{matchers → 05_use_rspec_matchers}/path/have_permissions.feature +4 -4
  103. data/features/{cli/init.feature → 06_use_aruba_cli/initialize_project_with_aruba.feature} +0 -0
  104. data/features/{cli/console.feature → 06_use_aruba_cli/open_console.feature} +0 -0
  105. data/features/08_other/improve_performance_if_using_jruby.feature +37 -0
  106. data/features/step_definitions/hooks.rb +0 -10
  107. data/features/support/env.rb +1 -1
  108. data/features/support/simplecov_setup.rb +9 -6
  109. data/fixtures/cli-app/bin/{cli → aruba-test-cli} +0 -0
  110. data/fixtures/cli-app/spec/spec_helper.rb +1 -0
  111. data/fixtures/empty-app/lib/cli/app.rb +0 -6
  112. data/lib/aruba/api/commands.rb +24 -0
  113. data/lib/aruba/api/core.rb +9 -2
  114. data/lib/aruba/api/deprecated.rb +2 -73
  115. data/lib/aruba/api/filesystem.rb +1 -1
  116. data/lib/aruba/colorizer.rb +10 -99
  117. data/lib/aruba/config/jruby.rb +15 -5
  118. data/lib/aruba/cucumber.rb +1 -0
  119. data/lib/aruba/cucumber/command.rb +63 -93
  120. data/lib/aruba/cucumber/deprecated.rb +93 -0
  121. data/lib/aruba/cucumber/file.rb +0 -12
  122. data/lib/aruba/cucumber/hooks.rb +0 -44
  123. data/lib/aruba/in_process.rb +2 -0
  124. data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
  125. data/lib/aruba/platforms/announcer.rb +1 -1
  126. data/lib/aruba/platforms/command_monitor.rb +0 -3
  127. data/lib/aruba/processes/spawn_process.rb +17 -5
  128. data/lib/aruba/spawn_process.rb +4 -1
  129. data/lib/aruba/version.rb +1 -1
  130. data/script/bootstrap +0 -4
  131. data/spec/aruba/api/core_spec.rb +142 -0
  132. data/spec/aruba/api/deprecated_spec.rb +113 -0
  133. data/spec/aruba/api/filesystem_spec.rb +746 -0
  134. data/spec/aruba/api_spec.rb +1 -885
  135. data/spec/aruba/jruby_spec.rb +46 -28
  136. data/spec/aruba/{spawn_process_spec.rb → processes/spawn_process_spec.rb} +18 -2
  137. data/spec/spec_helper.rb +5 -3
  138. metadata +108 -115
  139. data/features/development/build.feature +0 -15
  140. data/features/getting_started/writing_good_feature_tests.feature +0 -38
  141. data/features/matchers/collection/include_an_object.feature +0 -72
  142. data/features/platforms/jruby.feature +0 -14
  143. data/features/step_definitions/aruba_dev_steps.rb +0 -56
  144. data/features/steps/command/shell.feature +0 -155
  145. data/features/steps/filesystem/check_file_content.feature +0 -61
  146. data/features/steps/filesystem/fixtures.feature +0 -64
  147. data/features/steps/overview.feature +0 -25
  148. data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
  149. data/spec/aruba/api/environment/set_env_spec.rb +0 -46
  150. data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db02b356180d59cbb7130462250f2cafebd1c6c8291ddaba3ad35aea0627f42c
4
- data.tar.gz: d87419e2e9919ef52a11f3df15c26d69f1dd420ba82836891cb658132febd318
3
+ metadata.gz: aac7113c05858afc5a48b644bdb6e29427357319e13d6b7c5fb0c2a4d5afef4b
4
+ data.tar.gz: 463b5d14a0f1c0a2cbab30a5f51ab188916e077e8e00364d635353cdcb9346af
5
5
  SHA512:
6
- metadata.gz: 7fdd47811f42d432484946e87196aa413bc245b7b0dbe02598c7739a17b148813f69b3b4257f914ed8043c42f688265115b9e702976ac96e94a2a3fd41a1cbea
7
- data.tar.gz: 7ee7be3262b56ebb59c68e0ee67f1804b03e2bd56f09f0e20b1070db2fae199090ffc27a1bd35a4d97c20abdf927df465f37708492a0f4da9584f38b8b66131e
6
+ metadata.gz: e525789f39d2f6cb13f178a174eae0c55a02ea8b8487353da9f075cc7dcab54498638ea101a7727bb9c87265d1232f711d9294988c81eb0de71408fa26113dde
7
+ data.tar.gz: 9604df096eb13935a3fe24114c9c381dc8cd0f3f749b01bcdde73e315dd1d8d23ba0dd819c0277517974b0a588788b787f9b648131a1a257a5cc954aea7ef966
@@ -1,7 +1,9 @@
1
1
  AllCops:
2
2
  Exclude:
3
3
  - tmp/**/*
4
+ - vendor/bundle/**/*
4
5
  DisplayCopNames: true
6
+
5
7
  # Cop supports --auto-correct.
6
8
  # Configuration parameters: SupportedStyles.
7
9
  Style/HashSyntax:
@@ -1,54 +1,34 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  script: script/test
4
- install: script/bootstrap --without development debug
4
+ bundler_args: --without development debug
5
+ cache: bundler
6
+
5
7
  rvm:
6
8
  - 1.8.7
7
9
  - 1.9.2
8
10
  - 1.9.3
9
11
  - 2.0.0
10
12
  - 2.1.8
11
- - 2.2.4
12
- - 2.3.8
13
- - 2.4.5
14
- - 2.5.3
15
- - 2.6.0
16
- - jruby-1.7.26
17
- - jruby-20mode
18
- - jruby-21mode
19
- - rbx
13
+ - 2.2
14
+ - 2.3
15
+ - 2.4
16
+ - 2.5
17
+ - 2.6
18
+ - jruby-1.7
19
+ - jruby-9.0
20
+ - jruby-9.1
21
+ - jruby-9.2.6.0
22
+ - rbx-3
20
23
  matrix:
21
24
  include:
22
- - rvm: jruby-9.0.1.0
23
- env: JRUBY_OPTS='--dev'
24
- - rvm: jruby-9.0.1.0-20mode
25
- env: JRUBY_OPTS='--dev'
26
- - rvm: jruby-9.0.1.0-21mode
27
- env: JRUBY_OPTS='--dev'
25
+ - rvm: jruby-1.7
26
+ env: JRUBY_OPTS='--dev --1.8'
28
27
  allow_failures:
29
- - rvm: rbx
30
- - rvm: jruby-9.0.1.0
31
- env: JRUBY_OPTS='--dev'
32
- - rvm: jruby-9.0.1.0-20mode
33
- env: JRUBY_OPTS='--dev'
34
- - rvm: jruby-9.0.1.0-21mode
35
- env: JRUBY_OPTS='--dev'
28
+ - rvm: rbx-3
36
29
  branches:
37
30
  only:
38
31
  - master
39
32
  - still
40
- notifications:
41
- email:
42
- - cukes-devs@googlegroups.com
43
- webhooks:
44
- urls:
45
- - https://webhooks.gitter.im/e/d4d9080e2a8c4910f609
46
33
  env:
47
- global:
48
- - secure: l8uznA5K4K9mZ1krmP3lTMD8WcJ32qGxFOR3jubKHcOBSLB4xSzU2aIqjyJdO+rLzebkwamhJc8pGSIWOUDQYvFiX7splK+uEkbBJ5huAhXtLF4Qgl86bCWbEXYzN7rvn0DQfpJAovyFMNRMnfo70XhwqWzFsaYa7Z0YbqYsJE4=
49
- - JRUBY_OPTS='--dev'
50
- cache: apt
51
- addons:
52
- apt:
53
- packages:
54
- - zsh
34
+ - JRUBY_OPTS='--dev'
@@ -6,6 +6,24 @@ This project will adhere to [Semantic Versioning][1] once version 1.0.0 is relea
6
6
 
7
7
  This document is formatted according to the principles of [Keep A CHANGELOG][2].
8
8
 
9
+ ## [v0.14.10]
10
+
11
+ * Backport replacement of problematic AnsiColor module with simple
12
+ implementation ([#642])
13
+ * Undo preprecation of `#all_output`, `#all_stdout`, `#all_stderr` and
14
+ `#in_current_directory` API methods, as well as of checking the combined
15
+ output from all commands in cucumber steps ([#638])
16
+ * Warn when deprecated files `aruba/in_process` and `aruba/spawn_process` are
17
+ required ([#639])
18
+ * Backport allowing decimal timeout values ([#621])
19
+ * Move deprecated cucumber steps into a separate file ([#622])
20
+ * Backport renaming of bin/cli in features ([#620])
21
+ * Improve build set for CI ([#611])
22
+ * Make JRuby before :command helper hook work on the environment the command
23
+ will actually be run in ([#610], [#612])
24
+ * Reorganize spec files to match master branch ([#603])
25
+ * Reorganize feature files to match master branch ([#602])
26
+
9
27
  ## [v0.14.9]
10
28
 
11
29
  * Formally deprecate `#use_clean_gemset` ([#597])
@@ -649,7 +667,18 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
649
667
 
650
668
  <!-- issues & pull requests -->
651
669
 
670
+ [#642]: https://github.com/cucumber/aruba/pull/642
671
+ [#639]: https://github.com/cucumber/aruba/pull/639
672
+ [#638]: https://github.com/cucumber/aruba/pull/638
673
+ [#622]: https://github.com/cucumber/aruba/pull/622
674
+ [#621]: https://github.com/cucumber/aruba/pull/621
675
+ [#620]: https://github.com/cucumber/aruba/pull/620
676
+ [#612]: https://github.com/cucumber/aruba/pull/612
677
+ [#611]: https://github.com/cucumber/aruba/pull/611
678
+ [#610]: https://github.com/cucumber/aruba/pull/610
652
679
  [#604]: https://github.com/cucumber/aruba/pull/604
680
+ [#603]: https://github.com/cucumber/aruba/pull/603
681
+ [#602]: https://github.com/cucumber/aruba/pull/602
653
682
  [#601]: https://github.com/cucumber/aruba/pull/601
654
683
  [#597]: https://github.com/cucumber/aruba/pull/597
655
684
  [#591]: https://github.com/cucumber/aruba/pull/591
@@ -831,6 +860,7 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
831
860
 
832
861
  <!-- Releases -->
833
862
 
863
+ [v0.14.10]: https://github.com/cucumber/aruba/compare/v0.14.9...v0.14.10
834
864
  [v0.14.9]: https://github.com/cucumber/aruba/compare/v0.14.8...v0.14.9
835
865
  [v0.14.8]: https://github.com/cucumber/aruba/compare/v0.14.7...v0.14.8
836
866
  [v0.14.7]: https://github.com/cucumber/aruba/compare/v0.14.6...v0.14.7
data/Gemfile CHANGED
@@ -70,7 +70,7 @@ group :development, :test do
70
70
  end
71
71
 
72
72
  # Code Coverage
73
- gem 'simplecov', '~> 0.10'
73
+ gem 'simplecov', '~> 0.10' unless RUBY_PLATFORM.include?('java')
74
74
 
75
75
  # Test api
76
76
  gem 'rspec', '~> 3.4'
@@ -84,6 +84,12 @@ group :development, :test do
84
84
  gem 'cucumber', '~> 2.0'
85
85
  end
86
86
 
87
+ if RUBY_VERSION < '1.9.2'
88
+ gem 'childprocess', '~> 0.6.3'
89
+ else
90
+ gem 'childprocess', '~> 1.0.1'
91
+ end
92
+
87
93
  if RUBY_VERSION < '1.9.2'
88
94
  gem 'contracts', '~> 0.15.0'
89
95
  else
@@ -99,5 +105,9 @@ group :development, :test do
99
105
  gem 'cucumber-pro', '~> 0.0'
100
106
  end
101
107
 
108
+ if RUBY_VERSION < '2.0.0'
109
+ gem 'ffi', '< 1.11.0'
110
+ end
111
+
102
112
  gem 'minitest', '~> 5.8'
103
113
  end
@@ -1,10 +1,9 @@
1
1
  Feature: Cleanup Aruba Working Directory
2
2
 
3
- By default Aruba removes its scratch directory before
4
- every scenario. This isn't always the right thing
5
- to do, especially when the path to the default directory
6
- has been changed. Use @no-clobber to stop Aruba from
7
- cleaning up after itself.
3
+ By default Aruba removes its scratch directory *before* every scenario. This
4
+ isn't always the right thing to do, especially when the path to the default
5
+ directory has been changed. Use the `@no-clobber`-tag on your scenarios to
6
+ stop Aruba from cleaning up *before* it runs.
8
7
 
9
8
  Background:
10
9
  Given I use a fixture named "cli-app"
@@ -12,25 +12,25 @@ Feature: Run commands with Aruba
12
12
 
13
13
  Background:
14
14
  Given I use a fixture named "getting-started-app"
15
+
16
+ @requires-bash
17
+ Scenario: Bash Program
18
+ Given an executable named "bin/aruba-test-cli" with:
19
+ """bash
20
+ #!/usr/bin/env bash
21
+
22
+ echo "Hello, Aruba!"
23
+ """
15
24
  And a file named "features/hello_aruba.feature" with:
16
25
  """
17
26
  Feature: Getting Started With Aruba
18
27
  Scenario: First Run of Command
19
- Given I successfully run `cli`
28
+ Given I successfully run `aruba-test-cli`
20
29
  Then the output should contain:
21
30
  \"\"\"
22
31
  Hello, Aruba!
23
32
  \"\"\"
24
33
  """
25
-
26
- @requires-bash
27
- Scenario: Bash Program
28
- Given an executable named "bin/cli" with:
29
- """bash
30
- #!/usr/bin/env bash
31
-
32
- echo "Hello, Aruba!"
33
- """
34
34
  When I successfully run `cucumber`
35
35
  Then the features should all pass
36
36
 
@@ -55,12 +55,22 @@ Feature: Run commands with Aruba
55
55
 
56
56
  @requires-ruby
57
57
  Scenario: Ruby Program
58
- Given an executable named "bin/cli" with:
58
+ Given an executable named "bin/aruba-test-cli" with:
59
59
  """ruby
60
60
  #!/usr/bin/env ruby
61
61
 
62
62
  puts "Hello, Aruba!"
63
63
  """
64
+ And a file named "features/hello_aruba.feature" with:
65
+ """
66
+ Feature: Getting Started With Aruba
67
+ Scenario: First Run of Command
68
+ Given I successfully run `aruba-test-cli`
69
+ Then the output should contain:
70
+ \"\"\"
71
+ Hello, Aruba!
72
+ \"\"\"
73
+ """
64
74
  When I successfully run `cucumber`
65
75
  Then the features should all pass
66
76
 
@@ -85,12 +95,22 @@ Feature: Run commands with Aruba
85
95
 
86
96
  @requires-python
87
97
  Scenario: Python Program
88
- Given an executable named "bin/cli" with:
98
+ Given an executable named "bin/aruba-test-cli" with:
89
99
  """python
90
100
  #!/usr/bin/env python
91
101
 
92
102
  print("Hello, Aruba!")
93
103
  """
104
+ And a file named "features/hello_aruba.feature" with:
105
+ """
106
+ Feature: Getting Started With Aruba
107
+ Scenario: First Run of Command
108
+ Given I successfully run `aruba-test-cli`
109
+ Then the output should contain:
110
+ \"\"\"
111
+ Hello, Aruba!
112
+ \"\"\"
113
+ """
94
114
  When I successfully run `cucumber`
95
115
  Then the features should all pass
96
116
 
@@ -115,12 +135,22 @@ Feature: Run commands with Aruba
115
135
 
116
136
  @requires-perl
117
137
  Scenario: Perl Program
118
- Given an executable named "bin/cli" with:
138
+ Given an executable named "bin/aruba-test-cli" with:
119
139
  """perl
120
140
  #!/usr/bin/env perl
121
141
 
122
142
  print "Hello, Aruba!\n";
123
143
  """
144
+ And a file named "features/hello_aruba.feature" with:
145
+ """
146
+ Feature: Getting Started With Aruba
147
+ Scenario: First Run of Command
148
+ Given I successfully run `aruba-test-cli`
149
+ Then the output should contain:
150
+ \"\"\"
151
+ Hello, Aruba!
152
+ \"\"\"
153
+ """
124
154
  When I successfully run `cucumber`
125
155
  Then the features should all pass
126
156
 
@@ -160,7 +190,7 @@ Feature: Run commands with Aruba
160
190
  }
161
191
  }
162
192
  \"\"\"
163
- And I successfully run `javac tmp/HelloArubaApp.java`
193
+ And I successfully run `javac tmp/HelloArubaApp.java` for up to 20 seconds
164
194
  And I cd to "tmp/"
165
195
  And I successfully run `java HelloArubaApp`
166
196
  Then the output should contain:
@@ -168,7 +198,7 @@ Feature: Run commands with Aruba
168
198
  Hello, Aruba!
169
199
  \"\"\"
170
200
  """
171
- When I successfully run `cucumber`
201
+ When I successfully run `cucumber` for up to 21 seconds
172
202
  Then the features should all pass
173
203
 
174
204
  @requires-posix-standard-tools
@@ -31,19 +31,11 @@ Feature: Supported Testing Frameworks
31
31
  Then the features should all pass
32
32
 
33
33
  Scenario: Use "aruba" with "RSpec"
34
- Given a file named "spec/support/aruba.rb" with:
35
- """
36
- require 'aruba/rspec'
37
- """
38
- And a file named "spec/spec_helper.rb" with:
34
+ Given a file named "spec/spec_helper.rb" with:
39
35
  """
40
36
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
41
37
 
42
- if RUBY_VERSION < '1.9.3'
43
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
44
- else
45
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
46
- end
38
+ require 'aruba/rspec'
47
39
  """
48
40
  And a file named "spec/use_aruba_with_rspec_spec.rb" with:
49
41
  """
@@ -63,19 +55,11 @@ Feature: Supported Testing Frameworks
63
55
 
64
56
 
65
57
  Scenario: Use "aruba" with "Minitest"
66
- Given a file named "test/support/aruba.rb" with:
67
- """
68
- require 'aruba/api'
69
- """
70
- And a file named "test/test_helper.rb" with:
58
+ Given a file named "test/test_helper.rb" with:
71
59
  """
72
60
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
73
61
 
74
- if RUBY_VERSION < '1.9.3'
75
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require File.join(File.dirname(f), File.basename(f, '.rb')) }
76
- else
77
- ::Dir.glob(::File.expand_path('../support/**/*.rb', __FILE__)).each { |f| require_relative f }
78
- end
62
+ require 'aruba/api'
79
63
  """
80
64
  And a file named "test/use_aruba_with_minitest.rb" with:
81
65
  """
@@ -93,7 +77,7 @@ Feature: Supported Testing Frameworks
93
77
 
94
78
  def getting_started_with_aruba
95
79
  file = 'file.txt'
96
- content = 'Hello World'
80
+ content = 'Hello World'
97
81
 
98
82
  write_file file, content
99
83
  read(file).must_equal [content]
@@ -8,7 +8,7 @@ Feature: Configure announcer activation on command failure
8
8
  Given I use the fixture "cli-app"
9
9
 
10
10
  Scenario: Default value
11
- Given a file named "features/support/aruba.rb" with:
11
+ Given a file named "features/support/aruba_config.rb" with:
12
12
  """ruby
13
13
  Aruba.configure do |config|
14
14
  puts %(The default value is "#{config.activate_announcer_on_command_failure.inspect}")
@@ -21,7 +21,7 @@ Feature: Configure announcer activation on command failure
21
21
  """
22
22
 
23
23
  Scenario: Modify value
24
- Given a file named "features/support/aruba.rb" with:
24
+ Given a file named "features/support/aruba_config.rb" with:
25
25
  """ruby
26
26
  Aruba.configure do |config|
27
27
  config.activate_announcer_on_command_failure = [:foo, :bar]
@@ -13,7 +13,7 @@ Feature: Usage of configuration
13
13
 
14
14
  Background:
15
15
  Given I use a fixture named "cli-app"
16
- And an executable named "bin/cli" with:
16
+ And an executable named "bin/aruba-test-cli" with:
17
17
  """bash
18
18
  #!/bin/bash
19
19
  trap "exit 128" SIGTERM SIGINT
@@ -21,12 +21,10 @@ Feature: Usage of configuration
21
21
  """
22
22
 
23
23
  Scenario: Setting default values for option for RSpec
24
- Given a file named "spec/support/aruba.rb" with:
24
+ Given a file named "spec/support/aruba_config.rb" with:
25
25
  """ruby
26
- require 'aruba/rspec'
27
-
28
26
  Aruba.configure do |config|
29
- config.exit_timeout = 1
27
+ config.exit_timeout = 0.1
30
28
  end
31
29
  """
32
30
  And a file named "spec/usage_configuration_spec.rb" with:
@@ -35,12 +33,12 @@ Feature: Usage of configuration
35
33
 
36
34
  RSpec.describe 'Run command', :type => :aruba do
37
35
  context 'when fast command' do
38
- before(:each) { run_command('cli 0') }
36
+ before(:each) { run_command('aruba-test-cli 0') }
39
37
  it { expect(last_command_started).to be_successfully_executed }
40
38
  end
41
39
 
42
40
  context 'when slow command' do
43
- before(:each) { run_command('cli 2') }
41
+ before(:each) { run_command('aruba-test-cli 0.2') }
44
42
  it { expect(last_command_started).not_to be_successfully_executed }
45
43
  end
46
44
  end
@@ -54,12 +52,10 @@ Feature: Usage of configuration
54
52
  want to set the default timeout for all commands to the maximum value only
55
53
  to prevent those commands from failing.
56
54
 
57
- Given a file named "spec/support/aruba.rb" with:
55
+ Given a file named "spec/support/aruba_config.rb" with:
58
56
  """ruby
59
- require 'aruba/rspec'
60
-
61
57
  Aruba.configure do |config|
62
- config.exit_timeout = 1
58
+ config.exit_timeout = 0.1
63
59
  end
64
60
  """
65
61
  And a file named "spec/support/hooks.rb" with:
@@ -68,7 +64,7 @@ Feature: Usage of configuration
68
64
  config.before :each do |example|
69
65
  next unless example.metadata.key? :slow_command
70
66
 
71
- aruba.config.exit_timeout = 5
67
+ aruba.config.exit_timeout = 0.3
72
68
  end
73
69
  end
74
70
  """
@@ -78,17 +74,17 @@ Feature: Usage of configuration
78
74
 
79
75
  RSpec.describe 'Run command', :type => :aruba do
80
76
  context 'when fast command' do
81
- before(:each) { run_command('cli 0') }
77
+ before(:each) { run_command('aruba-test-cli 0') }
82
78
  it { expect(last_command_started).to be_successfully_executed }
83
79
  end
84
80
 
85
81
  context 'when slow command and this is known by the developer', :slow_command => true do
86
- before(:each) { run_command('cli 2') }
82
+ before(:each) { run_command('aruba-test-cli 0.2') }
87
83
  it { expect(last_command_started).to be_successfully_executed }
88
84
  end
89
85
 
90
86
  context 'when slow command, but this might be a failure' do
91
- before(:each) { run_command('cli 2') }
87
+ before(:each) { run_command('aruba-test-cli 0.2') }
92
88
  it { expect(last_command_started).not_to be_successfully_executed }
93
89
  end
94
90
  end
@@ -97,23 +93,21 @@ Feature: Usage of configuration
97
93
  Then the specs should all pass
98
94
 
99
95
  Scenario: Setting default values for option for Cucumber
100
- Given a file named "features/support/aruba.rb" with:
96
+ Given a file named "features/support/aruba_config.rb" with:
101
97
  """ruby
102
- require 'aruba/cucumber'
103
-
104
98
  Aruba.configure do |config|
105
- config.exit_timeout = 1
99
+ config.exit_timeout = 0.1
106
100
  end
107
101
  """
108
102
  And a file named "features/run.feature" with:
109
103
  """
110
104
  Feature: Run it
111
105
  Scenario: Fast command
112
- When I run `cli 0`
106
+ When I run `aruba-test-cli 0`
113
107
  Then the exit status should be 0
114
108
 
115
109
  Scenario: Slow command
116
- When I run `cli 2`
110
+ When I run `aruba-test-cli 0.2`
117
111
  Then the exit status should be 128
118
112
  """
119
113
  When I run `cucumber`
@@ -125,34 +119,32 @@ Feature: Usage of configuration
125
119
  want to set the default timeout for all commands to the maximum value only
126
120
  to prevent those commands from failing.
127
121
 
128
- Given a file named "features/support/aruba.rb" with:
122
+ Given a file named "features/support/aruba_config.rb" with:
129
123
  """ruby
130
- require 'aruba/cucumber'
131
-
132
124
  Aruba.configure do |config|
133
- config.exit_timeout = 1
125
+ config.exit_timeout = 0.1
134
126
  end
135
127
  """
136
128
  And a file named "features/support/hooks.rb" with:
137
129
  """ruby
138
130
  Before '@slow-command' do
139
- aruba.config.exit_timeout = 5
131
+ aruba.config.exit_timeout = 0.3
140
132
  end
141
133
  """
142
134
  And a file named "features/usage_configuration.feature" with:
143
135
  """
144
136
  Feature: Run it
145
137
  Scenario: Fast command
146
- When I run `cli 0`
138
+ When I run `aruba-test-cli 0`
147
139
  Then the exit status should be 0
148
140
 
149
141
  @slow-command
150
142
  Scenario: Slow command known by the developer
151
- When I run `cli 2`
143
+ When I run `aruba-test-cli 0.2`
152
144
  Then the exit status should be 0
153
145
 
154
146
  Scenario: Slow command which might be a failure
155
- When I run `cli 3`
147
+ When I run `aruba-test-cli 0.2`
156
148
  Then the exit status should be 128
157
149
  """
158
150
  When I run `cucumber`