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
@@ -6,9 +6,7 @@ World(Aruba::Api)
6
6
  require 'aruba/cucumber/hooks'
7
7
  require 'aruba/cucumber/command'
8
8
  require 'aruba/cucumber/core'
9
- require 'aruba/cucumber/deprecated'
10
9
  require 'aruba/cucumber/environment'
11
10
  require 'aruba/cucumber/file'
12
11
  require 'aruba/cucumber/testing_frameworks'
13
12
  require 'aruba/cucumber/rvm'
14
- require 'aruba/reporting'
@@ -3,16 +3,30 @@ if Aruba::VERSION < '1.0.0'
3
3
  end
4
4
  require 'aruba/generators/script_file'
5
5
 
6
- When(/^I run `([^`]*)`$/) do |cmd|
6
+ When(/^I run "(.*)"$/)do |cmd|
7
+ warn(%{\e[35m The /^I run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
8
+
9
+ cmd = sanitize_text(cmd)
10
+ run_command_and_stop(cmd, false)
11
+ end
12
+
13
+ When(/^I run `([^`]*)`$/)do |cmd|
7
14
  cmd = sanitize_text(cmd)
8
15
  run_command_and_stop(cmd, :fail_on_error => false)
9
16
  end
10
17
 
18
+ When(/^I successfully run "(.*)"$/)do |cmd|
19
+ warn(%{\e[35m The /^I successfully run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
20
+
21
+ cmd = sanitize_text(cmd)
22
+ run_command_and_stop(cmd)
23
+ end
24
+
11
25
  ## I successfully run `echo -n "Hello"`
12
26
  ## I successfully run `sleep 29` for up to 30 seconds
13
- When(/^I successfully run `(.*?)`(?: for up to ([\d.]+) seconds)?$/) do |cmd, secs|
27
+ When(/^I successfully run `(.*?)`(?: for up to (\d+) seconds)?$/)do |cmd, secs|
14
28
  cmd = sanitize_text(cmd)
15
- run_command_and_stop(cmd, :fail_on_error => true, :exit_timeout => secs && secs.to_f)
29
+ run_command_and_stop(cmd, :fail_on_error => true, :exit_timeout => secs && secs.to_i)
16
30
  end
17
31
 
18
32
  When(/^I run the following (?:commands|script)(?: (?:with|in) `([^`]+)`)?:$/) do |shell, commands|
@@ -26,13 +40,19 @@ When(/^I run the following (?:commands|script)(?: (?:with|in) `([^`]+)`)?:$/) do
26
40
  step 'I run `myscript`'
27
41
  end
28
42
 
29
- When(/^I run `([^`]*)` interactively$/) do |cmd|
43
+ When(/^I run "([^"]*)" interactively$/) do |cmd|
44
+ Aruba.platform.deprecated(%{\e[35m The /^I run "([^"]*)" interactively$/ step definition is deprecated. Please use the `backticks` version\e[0m})
45
+
46
+ step %(I run `#{cmd}` interactively)
47
+ end
48
+
49
+ When(/^I run `([^`]*)` interactively$/)do |cmd|
30
50
  cmd = sanitize_text(cmd)
31
51
  @interactive = run_command(cmd)
32
52
  end
33
53
 
34
54
  # Merge interactive and background after refactoring with event queue
35
- When(/^I run `([^`]*)` in background$/) do |cmd|
55
+ When(/^I run `([^`]*)` in background$/)do |cmd|
36
56
  run_command(sanitize_text(cmd))
37
57
  end
38
58
 
@@ -79,11 +99,7 @@ When(/^I stop the command(?: started last)? if (output|stdout|stderr) contains:$
79
99
  begin
80
100
  Timeout.timeout(aruba.config.exit_timeout) do
81
101
  loop do
82
- output = if RUBY_VERSION < '1.9.3'
83
- last_command_started.send channel.to_sym, :wait_for_io => 0
84
- else
85
- last_command_started.public_send channel.to_sym, :wait_for_io => 0
86
- end
102
+ output = last_command_started.public_send channel.to_sym, :wait_for_io => 0
87
103
 
88
104
  output = sanitize_text(output)
89
105
  expected = sanitize_text(expected)
@@ -133,33 +149,10 @@ When(/^I wait for (?:output|stdout) to contain "([^"]*)"$/) do |expected|
133
149
  end
134
150
 
135
151
  Then(/^the output should be (\d+) bytes long$/) do |size|
136
- expect(last_command_started.output).to have_output_size size.to_i
137
- end
138
-
139
- Then(/^(?:the )?(output|stderr|stdout) should( not)? contain( exactly)? "([^"]*)"$/) do |channel, negated, exactly, expected|
140
- combined_output = case channel.to_sym
141
- when :output
142
- all_output
143
- when :stderr
144
- all_stderr
145
- when :stdout
146
- all_stdout
147
- end
148
-
149
- output_string_matcher = if exactly
150
- :an_output_string_being_eq
151
- else
152
- :an_output_string_including
153
- end
154
-
155
- if negated
156
- expect(combined_output).not_to send(output_string_matcher, expected)
157
- else
158
- expect(combined_output).to send(output_string_matcher, expected)
159
- end
152
+ expect(all_output).to have_output_size size.to_i
160
153
  end
161
154
 
162
- Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exactly)? "([^"]*)"$/) do |channel, cmd, negated, exactly, expected|
155
+ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain( exactly)? "([^"]*)"$/) do |channel, cmd, negated, exactly, expected|
163
156
  matcher = case channel.to_sym
164
157
  when :output
165
158
  :have_output
@@ -169,7 +162,11 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exa
169
162
  :have_output_on_stdout
170
163
  end
171
164
 
172
- command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
165
+ commands = if cmd
166
+ [aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))]
167
+ else
168
+ all_commands
169
+ end
173
170
 
174
171
  output_string_matcher = if exactly
175
172
  :an_output_string_being_eq
@@ -177,37 +174,31 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exa
177
174
  :an_output_string_including
178
175
  end
179
176
 
180
- if negated
181
- expect(command).not_to send(matcher, send(output_string_matcher, expected))
182
- else
183
- expect(command).to send(matcher, send(output_string_matcher, expected))
184
- end
185
- end
186
-
187
- Then(/^(?:the )?(output|stderr|stdout) should( not)? contain( exactly)?:$/) do |channel, negated, exactly, expected|
188
- combined_output = case channel.to_sym
189
- when :output
190
- all_output
191
- when :stderr
192
- all_stderr
193
- when :stdout
194
- all_stdout
195
- end
177
+ if Aruba::VERSION < '1.0'
178
+ combined_output = commands.map do |c|
179
+ c.stop
180
+ c.send(channel.to_sym).chomp
181
+ end.join("\n")
196
182
 
197
- output_string_matcher = if exactly
198
- :an_output_string_being_eq
199
- else
200
- :an_output_string_including
201
- end
202
-
203
- if negated
204
- expect(combined_output).not_to send(output_string_matcher, expected)
183
+ if negated
184
+ expect(combined_output).not_to send(output_string_matcher, expected)
185
+ else
186
+ expect(combined_output).to send(output_string_matcher, expected)
187
+ end
205
188
  else
206
- expect(combined_output).to send(output_string_matcher, expected)
189
+ if negated
190
+ expect(commands).not_to include_an_object send(matcher, send(output_string_matcher, expected))
191
+ else
192
+ expect(commands).to include_an_object send(matcher, send(output_string_matcher, expected))
193
+ end
207
194
  end
208
195
  end
209
196
 
210
- Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exactly)?:$/) do |channel, cmd, negated, exactly, expected|
197
+ ## the stderr should contain "hello"
198
+ ## the stderr from "echo -n 'Hello'" should contain "hello"
199
+ ## the stderr should contain exactly:
200
+ ## the stderr from "echo -n 'Hello'" should contain exactly:
201
+ Then(/^(?:the )?(output|stderr|stdout)(?: from "([^"]*)")? should( not)? contain( exactly)?:$/) do |channel, cmd, negated, exactly, expected|
211
202
  matcher = case channel.to_sym
212
203
  when :output
213
204
  :have_output
@@ -215,9 +206,15 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exa
215
206
  :have_output_on_stderr
216
207
  when :stdout
217
208
  :have_output_on_stdout
209
+ else
210
+ fail ArgumentError, %(Invalid channel "#{channel}" chosen. Only "output", "stderr" or "stdout" are allowed.)
218
211
  end
219
212
 
220
- command = aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))
213
+ commands = if cmd
214
+ [aruba.command_monitor.find(Aruba.platform.detect_ruby(cmd))]
215
+ else
216
+ all_commands
217
+ end
221
218
 
222
219
  output_string_matcher = if exactly
223
220
  :an_output_string_being_eq
@@ -225,10 +222,23 @@ Then(/^(?:the )?(output|stderr|stdout) from "([^"]*)" should( not)? contain( exa
225
222
  :an_output_string_including
226
223
  end
227
224
 
228
- if negated
229
- expect(command).not_to send(matcher, send(output_string_matcher, expected))
225
+ if Aruba::VERSION < '1.0'
226
+ combined_output = commands.map do |c|
227
+ c.stop
228
+ c.send(channel.to_sym).chomp
229
+ end.join("\n")
230
+
231
+ if negated
232
+ expect(combined_output).not_to send(output_string_matcher, expected)
233
+ else
234
+ expect(combined_output).to send(output_string_matcher, expected)
235
+ end
230
236
  else
231
- expect(command).to send(matcher, send(output_string_matcher, expected))
237
+ if negated
238
+ expect(commands).not_to include_an_object send(matcher, send(output_string_matcher, expected))
239
+ else
240
+ expect(commands).to include_an_object send(matcher, send(output_string_matcher, expected))
241
+ end
232
242
  end
233
243
  end
234
244
 
@@ -360,20 +370,36 @@ Then(/^(?:the )?(output|stdout|stderr) should( not)? contain all of these lines:
360
370
  end
361
371
  end
362
372
 
363
- Given(/^the (?:default )?aruba io wait timeout is ([\d.]+) seconds?$/) do |seconds|
364
- aruba.config.io_wait_timeout = seconds.to_f
373
+ Given(/the default aruba timeout is (\d+) seconds/) do |seconds|
374
+ # rubocop:disable Metrics/LineLength
375
+ Aruba.platform.deprecated(%{The /^the default aruba timeout is (\d+) seconds/ step definition is deprecated. Please use /^the default aruba exit timeout is (\d+) seconds/ step definition is deprecated.})
376
+ # rubocop:enable Metrics/LineLength
377
+
378
+ aruba.config.exit_timeout = seconds.to_i
379
+ end
380
+
381
+ Given(/The default aruba timeout is (\d+) seconds/) do |seconds|
382
+ # rubocop:disable Metrics/LineLength
383
+ Aruba.platform.deprecated(%{The /^The default aruba timeout is (\d+) seconds/ step definition is deprecated. Please use /^the default aruba exit timeout is (\d+) seconds/ step definition is deprecated.})
384
+ # rubocop:enable Metrics/LineLength
385
+
386
+ aruba.config.exit_timeout = seconds.to_i
387
+ end
388
+
389
+ Given(/^the (?:default )?aruba io wait timeout is (\d+) seconds?$/) do |seconds|
390
+ aruba.config.io_wait_timeout = seconds.to_i
365
391
  end
366
392
 
367
- Given(/^the (?:default )?aruba exit timeout is ([\d.]+) seconds?$/) do |seconds|
368
- aruba.config.exit_timeout = seconds.to_f
393
+ Given(/^the (?:default )?aruba exit timeout is (\d+) seconds?$/) do |seconds|
394
+ aruba.config.exit_timeout = seconds.to_i
369
395
  end
370
396
 
371
397
  Given(/^the (?:default )?aruba stop signal is "([^"]*)"$/) do |signal|
372
398
  aruba.config.stop_signal = signal
373
399
  end
374
400
 
375
- Given(/^I wait ([\d.]+) seconds? for (?:a|the) command to start up$/) do |seconds|
376
- aruba.config.startup_wait_time = seconds.to_f
401
+ Given(/^I wait (\d+) seconds? for (?:a|the) command to start up$/) do |seconds|
402
+ aruba.config.startup_wait_time = seconds.to_i
377
403
  end
378
404
 
379
405
  When(/^I send the signal "([^"]*)" to the command (?:"([^"]*)"|(?:started last))$/) do |signal, command|
@@ -79,7 +79,7 @@ When(/^I cd to "([^"]*)"$/) do |dir|
79
79
  end
80
80
 
81
81
  Then(/^the following files should (not )?exist:$/) do |negated, files|
82
- files = files.rows.flatten
82
+ files = files.raw.flatten
83
83
 
84
84
  if negated
85
85
  expect(files).not_to include an_existing_file
@@ -174,9 +174,21 @@ end
174
174
 
175
175
  Then(/^(?:a|the) file(?: named)? "([^"]*)" should (not )?be equal to file "([^"]*)"/) do |file, negated, reference_file|
176
176
  if negated
177
- expect(file).not_to have_same_file_content_as(reference_file)
177
+ expect(file).not_to have_same_file_content_like(reference_file)
178
178
  else
179
- expect(file).to have_same_file_content_as(reference_file)
179
+ expect(file).to have_same_file_content_like(reference_file)
180
+ end
181
+ end
182
+
183
+ Then(/^the mode of filesystem object "([^"]*)" should (not )?match "([^"]*)"$/) do |file, negated, permissions|
184
+ # rubocop:disable Metrics/LineLength
185
+ Aruba.platform.deprecated('The use of step "the mode of filesystem object "([^"]*)" should (not )?match "([^"]*)" is deprecated. Use "^the (?:file|directory)(?: named)? "([^"]*)" should have permissions "([^"]*)"$" instead')
186
+ # rubocop:enable Metrics/LineLength
187
+
188
+ if negated
189
+ expect(file).not_to have_permissions(permissions)
190
+ else
191
+ expect(file).to have_permissions(permissions)
180
192
  end
181
193
  end
182
194
 
@@ -16,14 +16,11 @@ Before do
16
16
  end
17
17
 
18
18
  After do
19
+ restore_env
19
20
  terminate_all_commands
20
21
  aruba.command_monitor.clear
21
22
  end
22
23
 
23
- Before('@no-clobber') do
24
- setup_aruba(false)
25
- end
26
-
27
24
  Before('~@no-clobber') do
28
25
  setup_aruba
29
26
  end
@@ -44,6 +41,12 @@ Before('@announce-command-filesystem-status') do
44
41
  aruba.announcer.activate :command_filesystem_status
45
42
  end
46
43
 
44
+ Before('@announce-cmd') do
45
+ Aruba.platform.deprecated 'The use of "@announce-cmd"-hook is deprecated. Please use "@announce-command"'
46
+
47
+ aruba.announcer.activate :command
48
+ end
49
+
47
50
  Before('@announce-output') do
48
51
  aruba.announcer.activate :stdout
49
52
  aruba.announcer.activate :stderr
@@ -57,6 +60,12 @@ Before('@announce-stderr') do
57
60
  aruba.announcer.activate :stderr
58
61
  end
59
62
 
63
+ Before('@announce-dir') do
64
+ Aruba.platform.deprecated 'The use of "@announce-dir"-hook is deprecated. Please use "@announce-directory"'
65
+
66
+ aruba.announcer.activate :directory
67
+ end
68
+
60
69
  Before('@announce-directory') do
61
70
  aruba.announcer.activate :directory
62
71
  end
@@ -65,10 +74,28 @@ Before('@announce-stop-signal') do
65
74
  aruba.announcer.activate :stop_signal
66
75
  end
67
76
 
77
+ Before('@announce-env') do
78
+ Aruba.platform.deprecated 'The use of "@announce-env"-hook is deprecated. Please use "@announce-changed-environment"'
79
+
80
+ aruba.announcer.activate :environment
81
+ end
82
+
83
+ Before('@announce-environment') do
84
+ Aruba.platform.deprecated '@announce-environment is deprecated. Use @announce-changed-environment instead'
85
+
86
+ aruba.announcer.activate :changed_environment
87
+ end
88
+
68
89
  Before('@announce-full-environment') do
69
90
  aruba.announcer.activate :full_environment
70
91
  end
71
92
 
93
+ Before('@announce-modified-environment') do
94
+ Aruba.platform.deprecated '@announce-modified-environment is deprecated. Use @announce-changed-environment instead'
95
+
96
+ aruba.announcer.activate :changed_environment
97
+ end
98
+
72
99
  Before('@announce-changed-environment') do
73
100
  aruba.announcer.activate :changed_environment
74
101
  end
@@ -97,19 +124,25 @@ Before('@announce') do
97
124
  aruba.announcer.activate :command_filesystem_status
98
125
  end
99
126
 
100
- Before('@debug') do
101
- aruba.config.command_launcher = :debug
102
- end
127
+ Before('@ansi') do
128
+ # rubocop:disable Metrics/LineLength
129
+ Aruba::Platform.deprecated('The use of "@ansi" is deprecated. Use "@keep-ansi-escape-sequences" instead. But be aware, that this hook uses the aruba configuration and not an instance variable')
130
+ # rubocop:enable Metrics/LineLength
103
131
 
104
- # After('@debug') do
105
- # aruba.config.command_launcher = :spawn
106
- # end
132
+ aruba.config.remove_ansi_escape_sequences = false
133
+ end
107
134
 
108
135
  Before('@keep-ansi-escape-sequences') do
109
136
  aruba.config.remove_ansi_escape_sequences = false
110
137
  aruba.config.keep_ansi = true
111
138
  end
112
139
 
140
+ Before '@mocked_home_directory' do
141
+ Aruba.platform.deprecated('The use of "@mocked_home_directory" is deprecated. Use "@mocked-home-directory" instead')
142
+
143
+ set_environment_variable 'HOME', expand_path('.')
144
+ end
145
+
113
146
  Before '@mocked-home-directory' do
114
147
  set_environment_variable 'HOME', expand_path('.')
115
148
  end
@@ -117,3 +150,31 @@ end
117
150
  Before('@disable-bundler') do
118
151
  unset_bundler_env_vars
119
152
  end
153
+
154
+ Before('@spawn') do
155
+ Aruba.platform.deprecated('The use of "@spawn" is deprecated. Use "@command-launcher-spawn" instead')
156
+
157
+ aruba.config.command_launcher = :spawn
158
+ end
159
+
160
+ Before('@in_process') do
161
+ Aruba.platform.deprecated('The use of "@in_process" is deprecated. Use "@command-launcher-in-process" instead')
162
+
163
+ aruba.config.command_launcher = :in_process
164
+ end
165
+
166
+ Before('@debug') do
167
+ aruba.config.command_launcher = :debug
168
+ end
169
+
170
+ Before('@command-launcher-spawn') do
171
+ aruba.config.command_launcher = :spawn
172
+ end
173
+
174
+ Before('@command-launcher-in-process') do
175
+ aruba.config.command_launcher = :in_process
176
+ end
177
+
178
+ Before('@command-launcher-debug') do
179
+ aruba.config.command_launcher = :debug
180
+ end
@@ -10,11 +10,7 @@ module Aruba
10
10
  # Helpers for Resolvers
11
11
  module ResolveHelpers
12
12
  def camel_case(underscored_name)
13
- if RUBY_VERSION < '1.9.3'
14
- underscored_name.to_s.split('_').map { |word| word.upcase.chars.to_a[0] + word.chars.to_a[1..-1].join }.join
15
- else
16
- underscored_name.to_s.split('_').map { |word| word.upcase[0] + word[1..-1] }.join
17
- end
13
+ underscored_name.to_s.split('_').map { |word| word.upcase[0] + word[1..-1] }.join
18
14
  end
19
15
 
20
16
  # Thanks ActiveSupport
@@ -36,11 +32,7 @@ module Aruba
36
32
  else
37
33
  candidate = constant.const_get(name)
38
34
 
39
- if RUBY_VERSION < '1.9.3'
40
- next candidate if constant.const_defined?(name)
41
- else
42
- next candidate if constant.const_defined?(name, false)
43
- end
35
+ next candidate if constant.const_defined?(name, false)
44
36
 
45
37
  next candidate unless Object.const_defined?(name)
46
38