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.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +1 -5
  8. data/.travis.yml +35 -27
  9. data/CONTRIBUTING.md +131 -29
  10. data/Dockerfile +67 -0
  11. data/Gemfile +33 -80
  12. data/History.md +602 -0
  13. data/README.md +24 -196
  14. data/Rakefile +87 -27
  15. data/appveyor.yml +0 -1
  16. data/aruba.gemspec +30 -40
  17. data/bin/bootstrap +34 -0
  18. data/bin/build +3 -0
  19. data/{script → bin}/console +0 -0
  20. data/bin/release +3 -0
  21. data/bin/test +9 -0
  22. data/cucumber.yml +1 -3
  23. data/docker-compose.yml +26 -0
  24. data/{bin → exec}/aruba +0 -0
  25. data/fixtures/cli-app/README.md +1 -1
  26. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  27. data/fixtures/cli-app/features/support/env.rb +1 -1
  28. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  29. data/fixtures/cli-app/spec/spec_helper.rb +1 -6
  30. data/fixtures/empty-app/lib/cli/app.rb +2 -0
  31. data/lib/aruba/api.rb +3 -3
  32. data/lib/aruba/api/{commands.rb → command.rb} +4 -30
  33. data/lib/aruba/api/core.rb +8 -25
  34. data/lib/aruba/api/deprecated.rb +150 -408
  35. data/lib/aruba/api/filesystem.rb +17 -2
  36. data/lib/aruba/api/rvm.rb +44 -0
  37. data/lib/aruba/aruba_path.rb +56 -32
  38. data/lib/aruba/basic_configuration.rb +3 -5
  39. data/lib/aruba/colorizer.rb +99 -10
  40. data/lib/aruba/command.rb +0 -2
  41. data/lib/aruba/config.rb +5 -5
  42. data/lib/aruba/config/jruby.rb +5 -15
  43. data/lib/aruba/console.rb +2 -0
  44. data/lib/aruba/console/help.rb +1 -7
  45. data/lib/aruba/cucumber.rb +0 -2
  46. data/lib/aruba/cucumber/command.rb +98 -72
  47. data/lib/aruba/cucumber/file.rb +15 -3
  48. data/lib/aruba/cucumber/hooks.rb +71 -10
  49. data/lib/aruba/event_bus/name_resolver.rb +2 -10
  50. data/lib/aruba/generators/script_file.rb +1 -1
  51. data/lib/aruba/in_process.rb +0 -2
  52. data/lib/aruba/initializer.rb +4 -14
  53. data/lib/aruba/matchers/base/object_formatter.rb +0 -5
  54. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -5
  55. data/lib/aruba/matchers/string/output_string_eq.rb +1 -1
  56. data/lib/aruba/platforms/announcer.rb +11 -16
  57. data/lib/aruba/platforms/aruba_file_creator.rb +1 -5
  58. data/lib/aruba/platforms/aruba_logger.rb +1 -5
  59. data/lib/aruba/platforms/command_monitor.rb +10 -14
  60. data/lib/aruba/platforms/determine_disk_usage.rb +8 -3
  61. data/lib/aruba/platforms/filesystem_status.rb +1 -5
  62. data/lib/aruba/platforms/unix_command_string.rb +1 -8
  63. data/lib/aruba/platforms/unix_environment_variables.rb +6 -8
  64. data/lib/aruba/platforms/unix_platform.rb +9 -22
  65. data/lib/aruba/platforms/unix_which.rb +4 -0
  66. data/lib/aruba/platforms/windows_command_string.rb +6 -14
  67. data/lib/aruba/platforms/windows_environment_variables.rb +4 -16
  68. data/lib/aruba/platforms/windows_which.rb +4 -0
  69. data/lib/aruba/processes/basic_process.rb +22 -18
  70. data/lib/aruba/processes/spawn_process.rb +12 -35
  71. data/lib/aruba/rspec.rb +1 -0
  72. data/lib/aruba/runtime.rb +3 -4
  73. data/lib/aruba/setup.rb +9 -11
  74. data/lib/aruba/spawn_process.rb +1 -4
  75. data/lib/aruba/tasks/docker_helpers.rb +158 -0
  76. data/lib/aruba/version.rb +1 -1
  77. metadata +62 -230
  78. data/CHANGELOG.md +0 -991
  79. data/features/.nav +0 -72
  80. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  81. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  82. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  83. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  84. data/features/02_configure_aruba/basics.feature +0 -151
  85. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  86. data/features/02_configure_aruba/console_history_file.feature +0 -38
  87. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  88. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  89. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  90. data/features/02_configure_aruba/home_directory.feature +0 -80
  91. data/features/02_configure_aruba/io_timeout.feature +0 -30
  92. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  93. data/features/02_configure_aruba/log_level.feature +0 -38
  94. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  95. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  96. data/features/02_configure_aruba/root_directory.feature +0 -30
  97. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  98. data/features/02_configure_aruba/working_directory.feature +0 -38
  99. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  100. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  101. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  102. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  103. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  104. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  105. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  106. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  107. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  108. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  109. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  110. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  111. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  112. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  113. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  114. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  115. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  116. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  117. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  118. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  119. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  120. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  121. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  122. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  123. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  124. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  125. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  126. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  127. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  128. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  129. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  130. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  131. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  132. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  133. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  134. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  135. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  136. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  137. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  138. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  139. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  140. data/features/04_aruba_api/command/run_command.feature +0 -423
  141. data/features/04_aruba_api/command/run_simple.feature +0 -254
  142. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  143. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  144. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  145. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  146. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  147. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  148. data/features/04_aruba_api/core/expand_path.feature +0 -88
  149. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  150. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  151. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  152. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  153. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  154. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  155. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  156. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  157. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  158. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  159. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  160. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  161. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  162. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  163. data/features/04_aruba_api/text/extract_text.feature +0 -87
  164. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  165. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  166. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  167. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  168. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  169. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  170. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  171. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  172. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  173. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  174. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  175. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  176. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  177. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  178. data/features/06_use_aruba_cli/open_console.feature +0 -55
  179. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  180. data/features/step_definitions/hooks.rb +0 -146
  181. data/features/support/aruba.rb +0 -7
  182. data/features/support/env.rb +0 -33
  183. data/features/support/simplecov_setup.rb +0 -11
  184. data/lib/aruba/api/bundler.rb +0 -16
  185. data/lib/aruba/cucumber/deprecated.rb +0 -93
  186. data/lib/aruba/matchers/deprecated.rb +0 -1
  187. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  188. data/lib/aruba/reporting.rb +0 -126
  189. data/script/bootstrap +0 -24
  190. data/script/test +0 -3
  191. data/spec/aruba/api/bundler_spec.rb +0 -15
  192. data/spec/aruba/api/commands_spec.rb +0 -30
  193. data/spec/aruba/api/core_spec.rb +0 -184
  194. data/spec/aruba/api/deprecated_spec.rb +0 -421
  195. data/spec/aruba/api/filesystem_spec.rb +0 -746
  196. data/spec/aruba/api/runtime_spec.rb +0 -28
  197. data/spec/aruba/api_spec.rb +0 -73
  198. data/spec/aruba/aruba_path_spec.rb +0 -103
  199. data/spec/aruba/basic_configuration_spec.rb +0 -5
  200. data/spec/aruba/configuration_spec.rb +0 -5
  201. data/spec/aruba/hooks_spec.rb +0 -17
  202. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  203. data/spec/aruba/jruby_spec.rb +0 -73
  204. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  205. data/spec/aruba/matchers/command_spec.rb +0 -174
  206. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  207. data/spec/aruba/matchers/directory_spec.rb +0 -57
  208. data/spec/aruba/matchers/file_spec.rb +0 -208
  209. data/spec/aruba/matchers/path_spec.rb +0 -58
  210. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  211. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  212. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  213. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  214. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  215. data/spec/aruba/rspec_spec.rb +0 -15
  216. data/spec/aruba/runtime_spec.rb +0 -29
  217. data/spec/event_bus/name_resolver_spec.rb +0 -68
  218. data/spec/event_bus_spec.rb +0 -158
  219. data/spec/spec_helper.rb +0 -22
  220. data/spec/support/configs/.keep +0 -0
  221. data/spec/support/configs/aruba.rb +0 -5
  222. data/spec/support/configs/pry.rb +0 -3
  223. data/spec/support/configs/rspec.rb +0 -15
  224. data/spec/support/helpers/.keep +0 -0
  225. data/spec/support/helpers/reporting.rb +0 -44
  226. data/spec/support/matchers/.keep +0 -0
  227. data/spec/support/matchers/option.rb +0 -35
  228. data/spec/support/shared_contexts/.keep +0 -0
  229. data/spec/support/shared_contexts/aruba.rb +0 -49
  230. data/spec/support/shared_examples/.keep +0 -0
  231. data/spec/support/shared_examples/configuration.rb +0 -116
  232. data/spec/support/shared_examples/directory.rb +0 -7
  233. data/spec/support/shared_examples/file.rb +0 -7
  234. data/templates/css/console.css +0 -24
  235. data/templates/css/filesystem.css +0 -42
  236. data/templates/css/pygments-autumn.css +0 -59
  237. data/templates/files.erb +0 -14
  238. data/templates/images/LICENSE +0 -22
  239. data/templates/images/folder.png +0 -0
  240. data/templates/images/page_white.png +0 -0
  241. data/templates/images/page_white_gherkin.png +0 -0
  242. data/templates/images/page_white_ruby.png +0 -0
  243. data/templates/index.erb +0 -20
  244. data/templates/js/filesystem.js +0 -5
  245. data/templates/js/jquery-1.11.3.min.js +0 -5
  246. data/templates/main.erb +0 -34
data/Gemfile CHANGED
@@ -3,54 +3,34 @@ source 'https://rubygems.org'
3
3
  # Use dependencies from gemspec
4
4
  gemspec
5
5
 
6
+ # Load local Gemfile
7
+ load File.expand_path('../Gemfile.local', __FILE__) if File.file? File.expand_path('../Gemfile.local', __FILE__)
8
+
6
9
  # Debug aruba
7
10
  group :debug do
8
- unless RUBY_PLATFORM.include?('java')
9
- if RUBY_VERSION >= '2.2'
10
- gem 'byebug', '~> 10.0'
11
- gem 'pry-byebug', '~> 3.4'
12
- elsif RUBY_VERSION >= '2'
13
- gem 'byebug', '~> 9.0'
14
- gem 'pry-byebug', '~> 3.4'
15
- elsif RUBY_VERSION > '1.9'
16
- gem 'debugger', '~> 1.6.8'
17
- gem 'pry-debugger', '~> 0.2.3'
18
- end
11
+ if RUBY_VERSION >= '2' && !RUBY_PLATFORM.include?('java')
12
+ gem 'byebug', '~> 4.0.5'
13
+ gem 'pry-byebug', '~> 3.1.0'
19
14
  end
20
15
 
21
- if RUBY_VERSION < '2'
22
- gem 'pry-doc', '~> 0.8.0'
23
- else
24
- gem 'pry-doc', '~> 1.0.0'
16
+ if RUBY_VERSION < '2' && !RUBY_PLATFORM.include?('java')
17
+ gem 'debugger', '~> 1.6.8'
18
+ gem 'pry-debugger', '~> 0.2.3'
25
19
  end
26
- end
27
20
 
28
- # Tools to run during development
29
- group :development do
30
- # License compliance
31
- if RUBY_VERSION >= '2.3'
32
- gem 'license_finder', '~> 5.0'
33
- elsif RUBY_VERSION >= '2.0.0'
34
- gem 'license_finder', '~> 2.0.4'
35
- end
21
+ gem 'pry-doc', '~> 0.8.0'
36
22
  end
37
23
 
38
24
  group :development, :test do
39
25
  # we use this to demonstrate interactive debugging within our feature tests
40
26
  if RUBY_VERSION >= '2'
41
- gem 'pry', '~> 0.12.2'
27
+ gem 'pry', '~> 0.10.1'
42
28
  else
43
- gem 'pry', '~> 0.9.12'
29
+ gem 'pry', '~>0.9.12'
44
30
  end
45
31
 
46
- # Run development and test tasks
47
- if RUBY_VERSION >= '2.0.0'
48
- gem 'rake', '~> 12.3'
49
- elsif RUBY_VERSION >= '1.9.3'
50
- gem 'rake', '~> 12.2.0'
51
- else
52
- gem 'rake', '~> 10.5.0'
53
- end
32
+ # Run development tasks
33
+ gem 'rake', '~> 10.4.2'
54
34
 
55
35
  if RUBY_VERSION >= '2.0.0'
56
36
  # Lint travis yaml
@@ -58,64 +38,37 @@ group :development, :test do
58
38
 
59
39
  # Reporting
60
40
  gem 'bcat', '~> 0.6.2'
61
- end
62
-
63
- # YARD documentation
64
- if RUBY_VERSION >= '2.3.0'
65
- gem 'yard', '~> 0.9.11'
66
- gem 'kramdown', '~> 2.1'
67
- elsif RUBY_VERSION >= '2.0.0'
68
- gem 'yard', '~> 0.9.11'
69
41
  gem 'kramdown', '~> 1.7.0'
70
42
  end
71
43
 
72
44
  # Code Coverage
73
- unless RUBY_PLATFORM.include?('java')
74
- gem 'simplecov', '~> 0.10'
75
- if RUBY_VERSION < '2.0.0'
76
- gem 'json', '< 2.3.0'
77
- end
78
- end
79
-
45
+ gem 'simplecov', '~> 0.10'
80
46
 
81
47
  # Test api
82
48
  gem 'rspec', '~> 3.4'
83
- gem 'fuubar', '~> 2.0'
49
+ gem 'fuubar', '~> 2.0.0'
84
50
 
85
- # using platform for this make bundler complain about the same gem given
51
+ # using platform for this makes bundler complain about the same gem given
86
52
  # twice
87
- if RUBY_VERSION < '1.9.3'
88
- gem 'cucumber', '~> 1.3.20'
89
- else
90
- gem 'cucumber', '~> 2.0'
91
- end
53
+ gem 'cucumber', '~> 2.0'
92
54
 
93
- if RUBY_VERSION < '1.9.2'
94
- gem 'childprocess', '~> 0.6.3'
95
- elsif RUBY_VERSION < '2.3.0'
96
- gem 'childprocess', '~> 1.0.1'
97
- else
98
- gem 'childprocess', ['>= 2.0', '< 4.0']
99
- end
55
+ # Make aruba compliant to ruby community guide
56
+ gem 'rubocop', '~> 0.32', '< 0.41.1'
100
57
 
101
- if RUBY_VERSION < '1.9.2'
102
- gem 'contracts', '~> 0.15.0'
103
- else
104
- gem 'contracts', '~> 0.16.0'
105
- end
58
+ # gem 'cucumber-pro', '~> 0.0'
106
59
 
107
- if RUBY_VERSION >= '2.0.0'
108
- # Make aruba compliant to ruby community guide
109
- gem 'rubocop', '~> 0.32', '< 0.41.1'
110
- end
60
+ # License compliance
61
+ gem 'license_finder', '~> 2.0.4'
111
62
 
112
- if RUBY_VERSION < '2.0.0'
113
- gem 'ffi', '< 1.11.0'
114
- end
63
+ # Upload documentation
64
+ # gem 'relish', '~> 0.7.1'
115
65
 
116
- if RUBY_VERSION < '1.9.3'
117
- gem 'minitest', '~> 5.8.0'
118
- else
119
- gem 'minitest', '~> 5.8'
120
- end
66
+ gem 'minitest', '~> 5.8.0'
67
+
68
+ gem 'json', '~>1.8'
69
+ end
70
+
71
+ platforms :rbx do
72
+ gem 'rubysl', '~> 2.0'
73
+ gem 'rubinius-developer_tools'
121
74
  end
@@ -0,0 +1,602 @@
1
+ ## [v1.0.0-alpha.1](https://github.com/cucumber/aruba/compare/v0.14.1...v1.0.0.alpha)
2
+
3
+ * Use new proposed structure for gems by bundler (#439)
4
+ * Rename methods which run commands (#438)
5
+ * Fix dependency error for install (#427)
6
+ * Actually fail the build if rake test fails (#433)
7
+ * Improve frozen-string-literals compatibility. (#436)
8
+ * Fix running commands on Windows (#387)
9
+ * Fix running commands on Windows (#387)
10
+ * Set permissions to values which are supported on Windows (PR [#398](https://github.com/cucumber/aruba/issues/398), issue [#388](https://github.com/cucumber/aruba/issues/388)
11
+ * Remove Aruba::Reporting (PR #389)
12
+ * Rename bin/cli to bin/aruba-test-cli to prevent name conflict (PR #390)
13
+ * Drop support for `ruby < 1.9.3` and rubinius (PR #385)
14
+ * Fixed wrong number of arguments in `Aruba::Platforms::WindowsEnvironmentVariables#delete` (issue #349, PR #358, credit @e2)
15
+ * Fixed colors in `script/bootstrap` (PR #352, credit @e2)
16
+ * Fixed use of removed `Utils`-module (PR #347, credit @e2)
17
+ * Fixed exception handler in BasicProcess (PR #357, credit @e2)
18
+ * Fixed step to check for existing of files (PR #375, credit @rubbish)
19
+ * Fixed unset instance variable (PR ##372, credit @e2)
20
+ * Added vision and hints to project README (PR #366)
21
+ * Fixed setting environment variables on Windows (PR #358, credit @e2)
22
+ * Fixed the logic to determine disk usage (PR #359, credit @e2)
23
+ * Prefixed exception in `rescue`-call to make it fail with a proper error message (issue #376)
24
+ * Run and build aruba in isolated environment via docker (credit @e2 in #353, PR #382)
25
+ * Run container with docker-compose without making docker-compose a required dependency. Rake tasks read in the docker-compose.yml instead (PR #382)
26
+ * Document developer rake tasks via cucumber features (PR #382)
27
+ * Add more hints to CONTRIBUTING.md (PR #382)
28
+ * Add TESTING.md (WIP) (credit @e2) (PR #382)
29
+ * Cleanup rake tasks via separate namespaces (PR #382)
30
+ * Some more minor fixes (PR #382)
31
+ * Don't run feature test if executable required for test is not installed (python, bash, zsh, javac, ...) (PR #382)
32
+ * Support for rubies older than 1.9.3 is discontinued - e.g 1.8.7 and 1.9.2
33
+ * aruba requires "cucumber 2" for the feature steps. The rest of aruba should
34
+ be usable by whatever testing framework you are using.
35
+ * Overwriting methods for configuration is discontinued. You need to use
36
+ `aruba.config.<variable>` or `Aruba.configure { |config| config.<variable>`
37
+ instead.
38
+ * "aruba/reporting" will be removed. Please use `@debug`-tag + `byebug`,
39
+ `debugger`, `pry` to troubleshoot your feature tests.
40
+ * Set environment variables will have only effect on `#run` and the like +
41
+ `#with_environment { }`.
42
+ * The process environment will be fully resetted between tests. Sharing state
43
+ via ENV['VAR'] = 'shared state' between tests will not be possible anymore.
44
+ Please make that obvious by using explicit steps or use the aruba API for
45
+ that.
46
+ * There will be a major cleanup for command execution. There will be only
47
+ `run` and `run_simple` left. `run_interactive` is replaced by `run`.
48
+ * Setting the root directory of aruba via method overwrite or configuration -
49
+ this should be your project root directory where the test suite is run.
50
+ * The direct use of "InProcess", "DebugProcess" and "SpawnProcess" is not
51
+ supported anymore. You need to use "Command" instead. But be careful, it has
52
+ a different API.
53
+ * HOME can be configured via `Aruba.configure {}` and defaults to
54
+ `File.join(aruba.config.root_directory, aruba.config.working_directory?)`
55
+ if `aruba/cucumber` or `aruba/rspec` is used.
56
+ * Use different working directories based on test suite - RSpec, Cucumber.
57
+ It's `tmp/rspec` and `tmp/cucumber` now to make sure they do not overwrite
58
+ the test results from each other.
59
+ * The use of `@interactive` is discontinued. You need to use
60
+ `#last_command_started`-method to get access to the interactively started
61
+ command.
62
+ * If multiple commands have been started, each output has to be check
63
+ separately
64
+
65
+ ```cucumber
66
+ Scenario: Detect stdout from all processes
67
+ When I run `printf "hello world!\n"`
68
+ And I run `cat` interactively
69
+ And I type "hola"
70
+ And I type ""
71
+ Then the stdout should contain:
72
+ """
73
+ hello world!
74
+ """
75
+ And the stdout should contain:
76
+ """
77
+ hola
78
+ """
79
+ And the stderr should not contain anything
80
+ ```
81
+
82
+ ## [v0.14.1](https://github.com/cucumber/aruba/compare/v0.14.0...v0.14.1)
83
+
84
+ * Fixed bug in framework step
85
+
86
+ ## [v0.14.0](https://github.com/cucumber/aruba/compare/v0.13.0...v0.14.0)
87
+
88
+ * Add `<project_root>/exe` to search path for commands: This is the new default if you setup a
89
+ project with bundler.
90
+ * Add some more steps to modify environment
91
+
92
+ ## [v0.13.0](https://github.com/cucumber/aruba/compare/v0.12.0...v0.13.0)
93
+
94
+ * Add two new hooks for rspec and cucumber to make troubleshooting feature
95
+ files easier (PR #338):
96
+ * command_content: Outputs command content - helpful for scripts
97
+ * command_filesystem_status: Outputs information like group, owner, mode,
98
+ atime, mtime
99
+ * Add generator to create ad hoc script file (PR #323, @AdrieanKhisbe)
100
+ * Colored announcer output similar to the color of `cucumber` tags: cyan
101
+ * Fixed bug in announcer. It announces infomation several times due to
102
+ duplicate announce-calls.
103
+ * Refactorings to internal `#simple_table`-method (internal)
104
+ * Refactored Announcer, now it supports blocks for announce as well (internal)
105
+ * Fix circular require warnings (issue #339)
106
+ * Fix use of old instances variable "@io_wait" (issue #341). Now the
107
+ default value for io_wait_timeout can be set correctly.
108
+ * Make it possible to announce information on command error, using a new option
109
+ called `activate_announcer_on_command_failure` (PR #335, @njam)
110
+ * Re-integrate `event-bus`-library into `aruba`-core (PR #342)
111
+
112
+ ## [v0.12.0](https://github.com/cucumber/aruba/compare/v0.11.2...v0.12.0)
113
+
114
+ * Add matcher to check if a command can be found in PATH (PR #336)
115
+ * Fixed issue with environment variables set by external libraries (fix #321,
116
+ issue #320)
117
+
118
+ ## [v0.11.2](https://github.com/cucumber/aruba/compare/v0.11.1...v0.11.2)
119
+
120
+ * Fixed problem with positional arguments in `#run_simple()` (issue #322)
121
+
122
+
123
+ ## [v0.11.1](https://github.com/cucumber/aruba/compare/v0.11.0...v0.11.1)
124
+
125
+ * Use fixed version of event-bus
126
+ * Refactored and improved documentation (feature tests) in PR #309
127
+
128
+ ## [v0.11.0](https://github.com/cucumber/aruba/compare/v0.11.0.pre4...v0.11.0)
129
+
130
+ * Accidently pushed to rubygems.org - yanked it afterwards
131
+
132
+ ## [v0.11.0.pre4](https://github.com/cucumber/aruba/compare/v0.11.0.pre3...v0.11.0.pre4)
133
+
134
+ * Fixed syntax for Hash on ruby 1.8.7
135
+ * Reorder rubies in .travis.yml
136
+
137
+ ## [v0.11.0.pre3](https://github.com/cucumber/aruba/compare/v0.11.0.pre2...v0.11.0.pre3)
138
+
139
+ * Fixed syntax for proc on ruby 1.8.7
140
+
141
+ ## [v0.11.0.pre2](https://github.com/cucumber/aruba/compare/v0.11.0.pre...v0.11.0.pre2)
142
+
143
+ * Integrate `EventBus` to decouple announcers from starting, stopping commands
144
+ etc. This uses nearly the same implementation like `cucumber`. (PR #309)
145
+ * Starting/Stopping a command directly (`command.start`, `command.stop`) is now
146
+ reported to the command monitor and `last_command_stopped` is updated
147
+ correctly
148
+ * Added `#restart` to `Command` to make it possible to restart a command
149
+ * Added check to prevent a command which has already been started, to be
150
+ started again. Otherwise you've got hidden commands which are not stopped
151
+ after a cucumber/rspec/minitest run.
152
+ * Adding alot of documentation to `aruba`
153
+ * Refactored `#run`: Now it wants you to pass a `Hash` containing the options.
154
+ The old syntax is still supported, but is deprecated.
155
+ * Added `#find_command` as experimental feature. It searches the started
156
+ commands from last to first.
157
+ * Added `be_an_executable` matcher
158
+
159
+
160
+ ## [v0.11.0.pre](https://github.com/cucumber/aruba/compare/v0.10.2...v0.11.0.pre)
161
+
162
+ * Set stop signal which should be used to stop a process after a timeout or
163
+ used to terminate a process. This can be used to stop processes running
164
+ docker + "systemd". If you send a systemd-enable container SIGINT it will be
165
+ stopped.
166
+ * Added a configurable amount of time after a command was started -
167
+ startup_wait_time. Otherwise you get problems when a process takes to long to
168
+ startup when you run in background and want to sent it a signal.
169
+ * Replace `<variable>` in commandline, e.g. `<pid-last-command-started>`
170
+ [experimental]
171
+ * Added announce formatter for time spans, e.g. `startup_wait_time`
172
+ * All `*Process`-classes e.g. `BasicProcess`, `SpawnProcess` etc. are marked as
173
+ private. Users should use `#run('cmd')` and don't use the classes directly.
174
+ * `rvm`-methods are deprecated. They too ruby specific.
175
+
176
+
177
+ ## [v0.10.2](https://github.com/cucumber/aruba/compare/v0.10.1...v0.10.2)
178
+
179
+ * Fixed problem in regex after merge of step definitions
180
+
181
+
182
+ ## [v0.10.1](https://github.com/cucumber/aruba/compare/v0.10.0...v0.10.1)
183
+
184
+ * Merged remove steps for file and directory from 4 into 2 step definitions
185
+
186
+
187
+ ## [v0.10.0](https://github.com/cucumber/aruba/compare/v0.10.0.pre2...v0.10.0)
188
+
189
+ * Fix '"#exit_timeout" is deprecated' error (issue #314)
190
+
191
+ ## [v0.10.0.pre2](https://github.com/cucumber/aruba/compare/v0.10.0.pre...v0.10.0.pre2)
192
+
193
+ * Take over code from `RSpec::Support::ObjectFormatter` since `rspec-support`
194
+ is not intended for public use.
195
+
196
+ ## [v0.10.0.pre](https://github.com/cucumber/aruba/compare/v0.9.0...v0.10.0)
197
+
198
+ * Add some new steps to make writing documentation easier using "cucumber",
199
+ "rspec", "minitest" together with "aruba" - see [Feature](features/getting_started/supported_testing_frameworks.feature)
200
+ for some examples
201
+ * Write output of commands directly to disk if SpawnProcess is used (see https://github.com/cucumber/aruba/commit/85d74fcca4fff4e753776925d8b003cddaa8041d)
202
+ * Refactored API of cucumber steps to reduce the need for more methods and make
203
+ it easier for users to write their own steps (issue #306)
204
+ * Added `aruba init` to the cli command to setup environment for aruba (issue
205
+ #308)
206
+ * Added new method `delete_environment_variable` to remove environment variable
207
+ * Added work around because of method name conflict between Capybara and RSpec
208
+ (https://github.com/cucumber/aruba/commit/1939c4049d5195ffdd967485f50119bdd86e98a0)
209
+
210
+
211
+ ## [v0.9.0](https://github.com/cucumber/aruba/compare/v0.9.0.pre2...v0.9.0)
212
+
213
+ * Fix feature test
214
+ * Fix ordering in console
215
+ * Fix bug in console handling SIGINT
216
+ * Deprecated Aruba/Reporting before we remove it
217
+
218
+ ## [v0.9.0.pre2](https://github.com/cucumber/aruba/compare/v0.9.0.pre...v0.9.0.pre2)
219
+
220
+ * Redefine #to_s and #inspect for BasicProcess to reduce the sheer amount of
221
+ information, if a command produces a lot of output
222
+ * Added new matcher `#all_objects` to check if an object is included + a error message for
223
+ failures which is similar to the `#all`-matcher of `RSpec`
224
+ * Add `have_output`-, `have_output_on_stderr`, `have_output_on_stdout`-matchers
225
+ * Replace all `assert_*` and `check_*`-methods through expectations
226
+ * Add hook `@announce-output` to output both, stderr and stdout
227
+ * Add a lot of documentation (issue #260)
228
+ * Replace `#last_command` through `#last_command_started` and
229
+ `#last_command_stopped` to make it more explicit
230
+ * Improve syntax highlighting in cucumber feature tests by adding programming
231
+ language to `"""`-blocks
232
+ * Rename tags `@ignore-*` to `@unsupported-on-*`
233
+ * Introduce our own `BaseMatcher`-class to remove the dependency to `RSpec`'s
234
+ private matcher APIs
235
+ * Now we make the process started via `SpawnProcess` the leader of the group to
236
+ kill all sub-processes more reliably
237
+
238
+
239
+ ## [v0.9.0.pre](https://github.com/cucumber/aruba/compare/v0.8.1...v0.9.0.pre)
240
+
241
+ * Improve documentation for filesystem api and move it to feature tests
242
+ * Add logger to aruba. Its output can be captured by rspec.
243
+ * Fix incorrect deprecation message for check_file_presence (issue #292)
244
+ * Fix for Gemfile excludes windows for many gems (issue #282)
245
+ * Make feature tests compatible with ruby 1.9.2
246
+ * Gather disk usage for file(s) (issue #294)
247
+ * Replace keep_ansi-config option by remove_ansi_escape_sequences-option
248
+ * Split up `#unescape` into `#extract_text` and `#unescape_text`
249
+ * Use `UnixPlatform` and `WindowsPlatform` to make code for different platforms maintainable
250
+ * Work around `ENV`-bug in `Jruby` buy using `#dup` on `ENV.to_h` (issue jruby/jruby#3162)
251
+ * Speed up test on `JRuby` by using `--dev`-flag
252
+ * Work around problems when copying files with `cp` on MRI-ruby 1.9.2
253
+ * Add cmd.exe /c for SpawnProcess on Windows (issue #302)
254
+ * Split up `#which` for Windows and Unix/Linux (issue #304)
255
+ * Add `aruba console`-command to play around with aruba (issue 305)
256
+
257
+
258
+ ## [v0.8.1](https://github.com/cucumber/aruba/compare/v0.8.0...v0.8.1)
259
+
260
+ * Fix problem if working directory of aruba does not exist (issue #286)
261
+ * Re-Add removed method only_processes
262
+ * Fixed problem with last exit status
263
+ * Added appveyor to run tests of aruba on Windows (issue #287)
264
+ * Make the home directory configurable and use Around/around-hook to apply it
265
+ * Add announcer to output the full environment before a command is run
266
+ * Use prepend_environment_variable to modify PATH for rspec integration
267
+ * Add VERSION-constant to aruba and use it for code which should be activated on >= 1.0.0
268
+
269
+ ## [v0.8.0](https://github.com/cucumber/aruba/compare/v0.8.0.pre3...v0.8.0)
270
+ * Build with cucumber 1.3.x on ruby 1.8.7, with cucumber 2.x on all other platforms
271
+ * Fixed bugs in aruba's cucumber steps
272
+ * Disable use of `win32/file`
273
+ * Fixed but in `in_current_dir*` not returning the result of the block
274
+ * Fixed checks for file content
275
+ * Fixed selectors for DebugProcess and InProcess to support sub-classes as well
276
+
277
+
278
+ ## [v0.8.0.pre3](https://github.com/cucumber/aruba/compare/v0.8.0.pre2...v0.8.0.pre3)
279
+ * Depend on cucumber 1.3.x for compatibility on ruby 1.8.7
280
+ * Change PWD and OLDPW when `cd('path') {}` is used within that block
281
+ * Make nesting of `cd` possible
282
+ * Make `run` inside `cd` possible
283
+ * Fixed some bugs
284
+ * Move `Aruba.proces = InProcess|SpawnProcess|DebugProcess` to `aruba.config`
285
+ * Deprecate direct use of `InProcess|SpawnProcess|DebugProcess`. Now `Command`
286
+ needs to be used
287
+ * Add new configuration options `command_launcher` and `main_klass` for
288
+ deprecation of old-style `Aruba.process = <class>`, `:spawn` is the default
289
+ value for the `command_launcher`-option
290
+ * Added checks for version of `rspec-expectations` to support older `rspec`
291
+ versions like `2.11`
292
+ * Now each `path/to/dir` pushed to `aruba.current_directory` is `pop`ed as whole
293
+ * Make testing of `aruba.current_directory` easier by supporting `end_with?` and `start_with?`
294
+
295
+ ## [v0.8.0.pre2](https://github.com/cucumber/aruba/compare/v0.8.0...v0.8.0.pre2)
296
+ * Relax requirement on rspec-expectations (3.3 -> 2.11)
297
+
298
+ ## [v0.8.0.pre](https://github.com/cucumber/aruba/compare/v0.7.4...v0.8.0.pre)
299
+ * Make aruba compatible with "ruby 1.8.7" and "ruby 1.9.3" again (fixes #279)
300
+ * Move more and more documentation to cucumber steps (partly fixes #268)
301
+ * Refactoring of test suits, now rspec tests run randomly
302
+ * Move Aruba constants to configuration class (fixes #271)
303
+ * Added runtime configuration via `aruba.config` which is reset for each test run
304
+ * Refactored hooks: now there are `after()` and `before()`-hooks, old
305
+ before_cmd-hook is still working, but is deprecated, added new
306
+ `after(:command)`-hook.
307
+ * Refactored jruby-startup helper
308
+ * Cleanup API by moving deprecated methods to separate class
309
+ * Cleanup Core API - reduced to `cd`, `expand_path`, `setup_aruba` and use expand_path wherever possible (fixes #253)
310
+ * Better isolation for environment variable manipulation - really helpful from 1.0.0 on
311
+ * Move configuration files like `jruby.rb` to `aruba/config/`-directory
312
+ * Change default exit timeout to 15 seconds to work around long running processes on travis
313
+ * Use of instance variables like @aruba_timeout_seconds or
314
+ @aruba_io_wait_seconds are deprecated. Use `Aruba.configure do |config|
315
+ config.exit_timeout = 10` etc. for this.
316
+
317
+ ## [v0.7.4](https://github.com/cucumber/aruba/compare/v0.7.2...v0.7.4)
318
+ * Really Fixed post install message
319
+
320
+ ## [v0.7.3](https://github.com/cucumber/aruba/compare/v0.7.2...v0.7.3)
321
+ * Fixed post install message
322
+
323
+ ## [v0.7.2](https://github.com/cucumber/aruba/compare/v0.7.1...v0.7.2)
324
+ * Do not trigger Announcer API deprecation warning (issue #277)
325
+
326
+ ## [v0.7.1](https://github.com/cucumber/aruba/compare/v0.7.0...v0.7.1)
327
+ * Do not break if @interactive is used
328
+
329
+ ## [v0.7.0](https://github.com/cucumber/aruba/compare/v0.6.2...v0.7.0)
330
+ * Introducing root_directory (issue #232)
331
+ * Introducing fixtures directory (issue #224)
332
+ * Make sure a file/directory does not exist + Cleanup named file/directory steps (issue #234)
333
+ * Make matcher have_permisions public and add documentation (issue #239)
334
+ * Added matcher for file content (issue #238)
335
+ * Add rspec integrator (issue #244)
336
+ * Deprecate _file/_directory in method names (issue #243)
337
+ * Improve development environment (issue #240)
338
+ * Cleanup process management (issue #257)
339
+ * Make path content available through matchers and api metchods (issue #250)
340
+ * Refactor announcer to support user defined announce channels (fixes #267)
341
+ * `InProcess` requires that the working directory is determined on runtime not no loadtime
342
+
343
+ ## [v0.6.2](https://github.com/cucumber/aruba/compare/v0.6.1...v0.6.2)
344
+ * Fixed minor issue #223)
345
+ * Added support for ruby 2.1.3 -- 2.1.5
346
+ * Added support for comparison to a fixture file
347
+
348
+ ## [v0.6.1](https://github.com/cucumber/aruba/compare/v0.6.0...v0.6.1)
349
+ * Added support for ruby 2.1.2
350
+ * Added support for ~ expansion
351
+ * Added support for with_env
352
+
353
+ ## [v0.6.0](https://github.com/cucumber/aruba/compare/v0.5.4...v0.6.0)
354
+ * Dropped support for ruby 1.8
355
+ * Added support for ruby 2.1.0 and 2.1.1
356
+ * Added rspec 3.0.0 support
357
+
358
+ ## [v0.5.4](https://github.com/cucumber/aruba/compare/v0.5.3...v0.5.4)
359
+ * Added support for piping in files (#154 maxmeyer, dg-vrnetze)
360
+ * Added cucumber steps for environment variables (#156 dg-vrnetze)
361
+ * Added support for file mode (#157 maxmeyer, dg-vrnetze)
362
+
363
+ ## [v0.5.3](https://github.com/cucumber/aruba/compare/v0.5.2...v0.5.3)
364
+ * Fix for UTF-8 support (#151 Matt Wynne, Jarl Friis)
365
+ * Fix for open file leakage (#150 @JonRowe)
366
+
367
+ ## [v0.5.2](https://github.com/cucumber/aruba/compare/v0.5.1...v0.5.2)
368
+
369
+ * Plugin API for greater speed. Test Ruby CLI programs in a single Ruby process (#148 Aslak Hellesøy)
370
+ * Fix memory leak when several commands are executed in a single run (#144 @y-higuchi)
371
+
372
+ ## [v0.5.1](https://github.com/cucumber/aruba/compare/v0.5.0...v0.5.1)
373
+ * Individual timeout settings when running commands (#124 Jarl Friis)
374
+ * Varous fixes for JRuby tests, should now work on more versions of JRuby
375
+
376
+ ## [v0.5.0](https://github.com/cucumber/aruba/compare/v0.4.10...v0.5.0)
377
+ * Add #with_file_content to the DSL (#110 Pavel Argentov)
378
+ * Make JRuby performance tweaks optional (#102 Taylor Carpenter, #125 Andy Lindeman)
379
+ * Add assert_partial_output_interactive so you can peek at the output from a running process (#104 Taylor Carpenter)
380
+ * Add assert_not_matching_output (#111 Pavel Argentov)
381
+ * Add remove_dir (#121 Piotr Niełacny)
382
+
383
+ ## [v0.4.11](https://github.com/cucumber/aruba/compare/v0.4.10...v0.4.11)
384
+ * Fix duplicated output (#91 Robert Wahler, Matt Wynne)
385
+ * Fix Gemspec format (#101 Matt Wynne)
386
+
387
+ ## [v0.4.10](https://github.com/cucumber/aruba/compare/v0.4.9...v0.4.10)
388
+ * Fix broken JRuby file following rename of hook (Thomas Reynolds)
389
+ * Add terminate method to API (Taylor Carpenter)
390
+
391
+ ## [v0.4.9](https://github.com/cucumber/aruba/compare/v0.4.8...v0.4.9)
392
+ * Rename before_run hook to before_cmd (Matt Wynne)
393
+ * Fix 1.8.7 compatibility (#95 Dave Copeland)
394
+
395
+ ## [v0.4.8](https://github.com/cucumber/aruba/compare/v0.4.7...v0.4.8)
396
+
397
+ * Add before_run hook (Matt Wynne)
398
+ * Add JRuby performance tweaks (#93 Myron Marston / Matt Wynne)
399
+ * Invalid/Corrupt spec file for 0.4.7 - undefined method call for nil:Nilclass (#47 Aslak Hellesøy)
400
+
401
+ ## [v0.4.7](https://github.com/cucumber/aruba/compare/v0.4.6...v0.4.7)
402
+
403
+ * Remove rdiscount dependency. (#85 Aslak Hellesøy)
404
+ * Pin to ffi 1.0.9 since 1.0.10 is broken. (Aslak Hellesøy)
405
+ * Added file size specific steps to the Aruba API. (#89 Hector Castro)
406
+
407
+ ## [v0.4.6](https://github.com/cucumber/aruba/compare/v0.4.5...v0.4.6)
408
+
409
+ * Upgraded deps to latest gems. (Aslak Hellesøy)
410
+ * Added Regexp support to Aruba::Api#assert_no_partial_output (Aslak Hellesøy)
411
+
412
+ ## [v0.4.5](https://github.com/cucumber/aruba/compare/v0.4.4...v0.4.5)
413
+
414
+ * Better assertion failure message when an exit code is not as expected. (Matt Wynne)
415
+
416
+ ## [v0.4.4](https://github.com/cucumber/aruba/compare/v0.4.3...v0.4.4)
417
+
418
+ * Fix various bugs with interative processes. (Matt Wynne)
419
+
420
+ ## [v0.4.3](https://github.com/cucumber/aruba/compare/v0.4.2...v0.4.3)
421
+
422
+ * Aruba reporting now creates an index file for reports, linking them all together. (Aslak Hellesøy)
423
+
424
+ ## [v0.4.2](https://github.com/cucumber/aruba/compare/v0.4.1...v0.4.2)
425
+
426
+ * Appending to a file creates the parent directory if it doesn't exist. (Aslak Hellesøy)
427
+
428
+ ## [v0.4.1](https://github.com/cucumber/aruba/compare/v0.4.0...v0.4.1)
429
+
430
+ * Move more logic into Aruba::Api (Aslak Hellesøy)
431
+
432
+ ## [v0.4.0](https://github.com/cucumber/aruba/compare/v0.3.7...v0.4.0)
433
+
434
+ * New, awesome HTML reporting feature that captures everything that happens during a scenario. (Aslak Hellesøy)
435
+ * ANSI escapes from output are stripped by default. Override this with the @ansi tag. (Aslak Hellesøy)
436
+
437
+ ## [v0.3.7](https://github.com/cucumber/aruba/compare/v0.3.6...v0.3.7)
438
+
439
+ * Make Aruba::Api#get_process return the last executed process with passed cmd (Potapov Sergey)
440
+ * Replace announce with puts to comply with cucumber 0.10.6 (Aslak Hellesøy)
441
+ * Fix childprocess STDIN to be synchronous (#40, #71 Tim Ekl)
442
+
443
+ ## [v0.3.6](https://github.com/cucumber/aruba/compare/v0.3.5...v0.3.6)
444
+
445
+ * Changed default value of @aruba_timeout_seconds from 1 to 3. (Aslak Hellesøy)
446
+ * Separate hooks and steps to make it easier to build your own steps on top of Aruba's API (Mike Sassak)
447
+ * @no-clobber to prevent cleanup before each scenario (Mike Sassak)
448
+
449
+ ## [v0.3.5](https://github.com/cucumber/aruba/compare/v0.3.4...v0.3.5)
450
+
451
+ * Store processes in an array to ensure order of operations on Ruby 1.8.x (#48 Mike Sassak)
452
+
453
+ ## [v0.3.4](https://github.com/cucumber/aruba/compare/v0.3.3...v0.3.4)
454
+
455
+ * Use backticks (\`) instead of quotes (") to specify command line. Quote still works, but is deprecated. (Anthony Eden, Aslak Hellesøy)
456
+
457
+ ## [v0.3.3](https://github.com/cucumber/aruba/compare/v0.3.2...v0.3.3)
458
+
459
+ * Updated RSpec development requirement to 2.5 (Robert Speicher, Mike Sassak, Aslak Hellesøy)
460
+ * Updated RubyGems dependency to 1.6.1 (Robert Speicher)
461
+
462
+ ## [v0.3.2](https://github.com/cucumber/aruba/compare/v0.3.1...v0.3.2)
463
+
464
+ * Wrong number of args in the When I overwrite step (Aslak Hellesøy)
465
+
466
+ ## [v0.3.1](https://github.com/cucumber/aruba/compare/v0.3.0...v0.3.1)
467
+
468
+ * Broken 0.3.0 release (#43, #44 Mike Sassak)
469
+ * Quotes (") and newline (\n) in step arguments are no longer unescaped. (Aslak Hellesøy)
470
+
471
+ ## [v0.3.0](https://github.com/cucumber/aruba/compare/v0.2.8...v0.3.0)
472
+
473
+ * Remove latency introduced in the 0.2.8 release (#42 Mike Sassak)
474
+ * New stepdef Then /^the stdout should contain:$/ do |partial_output| (Aslak Hellesøy)
475
+ * Quotes (") and newline (\n) in step arguments no longer need to be backslash-escaped. (Aslak Hellesøy)
476
+
477
+ ## [v0.2.8](https://github.com/cucumber/aruba/compare/v0.2.7...v0.2.8)
478
+
479
+ * Replaced background_process with childprocess, a cross-platform process control library. This will allow Aruba to run on Windows and JRuby in addition to *nix MRI. (#16, #27, #31 Mike Sassak, Jari Bakken, Matt Wynne, Arve Knudsen)
480
+
481
+ ## [v0.2.7](https://github.com/cucumber/aruba/compare/v0.2.6...v0.2.7)
482
+
483
+ * Upgrade to Cucumber 0.10.0. (Aslak Hellesøy)
484
+ * require 'aruba' does nothing - you have to require 'aruba/cucumber' now. This is to prevent bundler from loading it when we don't want to. (Aslak Hellesøy)
485
+ * Outputting a lot of data causes process to time out (#30 Mike Sassak)
486
+
487
+ ## [v0.2.6](https://github.com/cucumber/aruba/compare/v0.2.5...v0.2.6)
488
+
489
+ * You can set @aruba_timeout_seconds in a Before hook to tell Aruba to wait for a process to complete. Default: 1 second. (Aslak Hellesøy)
490
+ * Fixed small bug in /^the stdout should contain exactly:$/ (Aslak Hellesøy)
491
+
492
+ ## [v0.2.5](https://github.com/cucumber/aruba/compare/v0.2.4...v0.2.5)
493
+
494
+ * Added 'a file named "whatever" should (not) exist' (Robert Speicher)
495
+ * Added 'a directory named "whatever" should (not) exist' (Robert Speicher)
496
+ * Added /^the stderr should contain exactly:"$/ (Aslak Hellesøy)
497
+ * Added /^the stdout should contain exactly:"$/ (Aslak Hellesøy)
498
+ * Added /it should pass with exactly:/ (Aslak Hellesøy)
499
+ * @announce, @announce-dir and @announce-cmd for interactive processes (Mike Sassak)
500
+ * Add step defs for detecting output, stdout and stderr by process name (Mike Sassak)
501
+ * Stop all processes before verifying filesystem changes to ensure async operations are complete (#17 Mike Sassak)
502
+ * Outputting large amounts of data causes run steps to hang (#18 Mike Sassak)
503
+
504
+ ## [v0.2.4](https://github.com/cucumber/aruba/compare/v0.2.3...v0.2.4)
505
+
506
+ * Added step definitions for removing files and checking presence of a single file. (Aslak Hellesøy)
507
+
508
+ ## [v0.2.3](https://github.com/cucumber/aruba/compare/v0.2.2...v0.2.3)
509
+
510
+ * Directory should not exist gives false-positive (#13,#15 Nicholas Rutherford)
511
+ * Added step definitions for comparing file contents with regexps (#9 Aslak Hellesøy)
512
+ * Always put ./bin at the beginning of $PATH to make it easier to run own executables (#7 Aslak Hellesøy)
513
+ * Communication with interactive processes (#4 Mike Sassak)
514
+ * Remove hyphens separating stdout and stderr (Arve Knudsen)
515
+
516
+ ## [v0.2.2](https://github.com/cucumber/aruba/compare/v0.2.1...v0.2.2)
517
+
518
+ * Added a @bin tag that sets up './bin' first on the path (Aslak Hellesøy)
519
+ * Richer API making aruba easier to use from Ruby code. (Mark Nijhof, Aslak Hellesøy)
520
+ * No more support for RVM. Use rvm 1.9.2,1.8.7 exec cucumber .... instead. (Mark Nijhof, Aslak Hellesøy)
521
+
522
+ ## [v0.2.1](https://github.com/cucumber/aruba/compare/v0.2.0...v0.2.1)
523
+
524
+ * Always compare with RSpec should =~ instead of should match. This gives a diff when there is no match. (Aslak Hellesøy)
525
+
526
+ ## [v0.2.0](https://github.com/cucumber/aruba/compare/v0.1.9...v0.2.0)
527
+
528
+ * Added aruba.gemspec. (David Chelimsky)
529
+ * Several step definitions regarding output have changed. (#1 Aslak Hellesøy)
530
+
531
+ - /^I should see "([^\"]*)"$/
532
+ + /^the output should contain "([^"]*)"$/
533
+
534
+ - /^I should not see "([^\"]*)"$/
535
+ + /^the output should not contain "([^"]*)"$/
536
+
537
+ - /^I should see:$/
538
+ + /^the output should contain:$/
539
+
540
+ - /^I should not see:$/
541
+ + /^the output should not contain:$/
542
+
543
+ - /^I should see exactly "([^\"]*)"$/
544
+ + /^the output should contain exactly "([^"]*)"$/
545
+
546
+ - /^I should see exactly:$/
547
+ + /^the output should contain exactly:$/
548
+
549
+ - /^I should see matching \/([^\/]*)\/$/
550
+ + /^the output should match \/([^\/]*)\/$/
551
+
552
+ - /^I should see matching:$/
553
+ + /^the output should match:$/
554
+
555
+ ## [v0.1.9](https://github.com/cucumber/aruba/compare/v0.1.8...v0.1.9)
556
+
557
+ * If the GOTGEMS environment variable is set, bundler won't run (faster). (Aslak Hellesøy)
558
+
559
+ ## [v0.1.8](https://github.com/cucumber/aruba/compare/v0.1.7...v0.1.8)
560
+
561
+ * Use // instead of "" for "I should see matching" step. (Aslak Hellesøy)
562
+ * Replace rvm gemset character '%' with '@' for rvm 0.1.24 (#5 Ashley Moran)
563
+ * Support gem bundler, making it easier to specify gems. (Aslak Hellesøy)
564
+
565
+ ## [v0.1.7](https://github.com/cucumber/aruba/compare/v0.1.6...v0.1.7)
566
+
567
+ * New @announce-stderr tag (Robert Wahler)
568
+ * New "I should see matching" steps using Regexp (Robert Wahler)
569
+
570
+ ## [v0.1.6](https://github.com/cucumber/aruba/compare/v0.1.5...v0.1.6)
571
+
572
+ * When /^I successfully run "(.*)"$/ now prints the combined output if exit status is not 0. (Aslak Hellesøy)
573
+ * Add bundle to list of common ruby scripts. (Aslak Hellesøy)
574
+
575
+ ## [v0.1.5](https://github.com/cucumber/aruba/compare/v0.1.4...v0.1.5)
576
+
577
+ * Added ability to map rvm versions to a specific version with config/aruba-rvm.yml. (Aslak Hellesøy)
578
+ * Check for presence of files. (Aslak Hellesøy)
579
+ * Allow specification of rvm gemsets. (Aslak Hellesøy)
580
+ * Detect ruby commands and use current ruby when rvm is not explicitly used. (Aslak Hellesøy)
581
+ * Added support for rvm, making it possible to choose Ruby interpreter. (Aslak Hellesøy)
582
+ * Added @announce-cmd, @announce-stdout and @announce tags, useful for seeing what's executed and outputted. (Aslak Hellesøy)
583
+
584
+ ## [v0.1.4](https://github.com/cucumber/aruba/compare/v0.1.3...v0.1.4)
585
+
586
+ * New step definition for appending to a file (Aslak Hellesøy)
587
+
588
+ ## [v0.1.3](https://github.com/cucumber/aruba/compare/v0.1.2...v0.1.3)
589
+
590
+ * New step definition for cd (change directory) (Aslak Hellesøy)
591
+
592
+ ## [v0.1.2](https://github.com/cucumber/aruba/compare/v0.1.1...v0.1.2)
593
+
594
+ * Separated API from Cucumber step definitions, makes this usable without Cucumber. (Aslak Hellesøy)
595
+
596
+ ## [v0.1.1](https://github.com/cucumber/aruba/compare/v0.1.0...v0.1.1)
597
+
598
+ * Better Regexp escaping (David Chelimsky)
599
+
600
+ ## [v0.1.0](https://github.com/cucumber/aruba/compare/ed6a175d23aaff62dbf355706996f276f304ae8b...v0.1.1)
601
+
602
+ * First release (David Chelimsky and Aslak Hellesøy)