aruba-win-fix 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +37 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +188 -0
  6. data/.simplecov +34 -0
  7. data/.travis.yml +47 -0
  8. data/.yardopts +8 -0
  9. data/CONTRIBUTING.md +71 -0
  10. data/Gemfile +83 -0
  11. data/History.md +579 -0
  12. data/LICENSE +20 -0
  13. data/README.md +226 -0
  14. data/Rakefile +49 -0
  15. data/TODO.md +13 -0
  16. data/appveyor.yml +32 -0
  17. data/aruba.gemspec +48 -0
  18. data/bin/aruba +7 -0
  19. data/config/.gitignore +1 -0
  20. data/cucumber.yml +26 -0
  21. data/features/.nav +72 -0
  22. data/features/api/command/find_command.feature +83 -0
  23. data/features/api/command/last_command_started.feature +50 -0
  24. data/features/api/command/last_command_stopped.feature +89 -0
  25. data/features/api/command/run.feature +414 -0
  26. data/features/api/command/run_simple.feature +242 -0
  27. data/features/api/command/send_signal.feature +53 -0
  28. data/features/api/command/stderr.feature +46 -0
  29. data/features/api/command/stdout.feature +46 -0
  30. data/features/api/command/stop.feature +131 -0
  31. data/features/api/command/stop_all_commands.feature +53 -0
  32. data/features/api/command/terminate_all_commands.feature +53 -0
  33. data/features/api/command/which.feature +37 -0
  34. data/features/api/core/expand_path.feature +88 -0
  35. data/features/api/environment/append_environment_variable.feature +128 -0
  36. data/features/api/environment/delete_environment_variable.feature +63 -0
  37. data/features/api/environment/prepend_environment_variable.feature +128 -0
  38. data/features/api/environment/set_environment_variable.feature +376 -0
  39. data/features/api/filesystem/cd.feature +184 -0
  40. data/features/api/filesystem/create_directory.feature +57 -0
  41. data/features/api/filesystem/disk_usage.feature +152 -0
  42. data/features/api/filesystem/does_exist.feature +62 -0
  43. data/features/api/filesystem/fixtures.feature +104 -0
  44. data/features/api/filesystem/is_absolute.feature +48 -0
  45. data/features/api/filesystem/is_directory.feature +53 -0
  46. data/features/api/filesystem/is_file.feature +54 -0
  47. data/features/api/filesystem/is_relative.feature +48 -0
  48. data/features/api/filesystem/move.feature +119 -0
  49. data/features/api/text/extract_text.feature +87 -0
  50. data/features/api/text/replace_variables.feature +45 -0
  51. data/features/api/text/sanitize_text.feature +228 -0
  52. data/features/api/text/unescape_text.feature +127 -0
  53. data/features/cli/console.feature +52 -0
  54. data/features/cli/init.feature +79 -0
  55. data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
  56. data/features/configuration/command_runtime_environment.feature +129 -0
  57. data/features/configuration/console_history_file.feature +38 -0
  58. data/features/configuration/exit_timeout.feature +52 -0
  59. data/features/configuration/fixtures_directories.feature +38 -0
  60. data/features/configuration/fixtures_path_prefix.feature +23 -0
  61. data/features/configuration/home_directory.feature +80 -0
  62. data/features/configuration/io_timeout.feature +30 -0
  63. data/features/configuration/keep_ansi.feature +30 -0
  64. data/features/configuration/log_level.feature +38 -0
  65. data/features/configuration/physical_block_size.feature +53 -0
  66. data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
  67. data/features/configuration/root_directory.feature +30 -0
  68. data/features/configuration/startup_wait_time.feature +48 -0
  69. data/features/configuration/usage.feature +159 -0
  70. data/features/configuration/working_directory.feature +33 -0
  71. data/features/development/build.feature +15 -0
  72. data/features/development/test.feature +24 -0
  73. data/features/getting_started/cleanup.feature +67 -0
  74. data/features/getting_started/install.feature +8 -0
  75. data/features/getting_started/run_commands.feature +177 -0
  76. data/features/getting_started/supported_testing_frameworks.feature +104 -0
  77. data/features/getting_started/writing_good_feature_tests.feature +38 -0
  78. data/features/hooks/after/command.feature +44 -0
  79. data/features/hooks/before/command.feature +71 -0
  80. data/features/matchers/collection/include_an_object.feature +72 -0
  81. data/features/matchers/directory/have_sub_directory.feature +110 -0
  82. data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
  83. data/features/matchers/file/be_existing_executable.feature +88 -0
  84. data/features/matchers/file/be_existing_file.feature +82 -0
  85. data/features/matchers/file/have_file_content.feature +123 -0
  86. data/features/matchers/file/have_file_size.feature +107 -0
  87. data/features/matchers/path/be_an_absolute_path.feature +74 -0
  88. data/features/matchers/path/be_an_existing_path.feature +97 -0
  89. data/features/matchers/path/have_permissions.feature +118 -0
  90. data/features/matchers/timeouts.feature +48 -0
  91. data/features/platforms/jruby.feature +14 -0
  92. data/features/rspec/integration.feature +179 -0
  93. data/features/step_definitions/aruba_dev_steps.rb +56 -0
  94. data/features/step_definitions/hooks.rb +96 -0
  95. data/features/steps/command/debug.feature +92 -0
  96. data/features/steps/command/exit_statuses.feature +136 -0
  97. data/features/steps/command/in_process.feature +485 -0
  98. data/features/steps/command/interactive.feature +90 -0
  99. data/features/steps/command/output.feature +588 -0
  100. data/features/steps/command/run.feature +66 -0
  101. data/features/steps/command/send_signal.feature +104 -0
  102. data/features/steps/command/shell.feature +155 -0
  103. data/features/steps/command/stderr.feature +68 -0
  104. data/features/steps/command/stdout.feature +109 -0
  105. data/features/steps/command/stop.feature +313 -0
  106. data/features/steps/core/announce.feature +283 -0
  107. data/features/steps/environment/append_environment_variable.feature +52 -0
  108. data/features/steps/environment/home_variable.feature +62 -0
  109. data/features/steps/environment/prepend_environment_variable.feature +52 -0
  110. data/features/steps/environment/set_environment_variable.feature +49 -0
  111. data/features/steps/filesystem/append_to_file.feature +45 -0
  112. data/features/steps/filesystem/cd_to_directory.feature +33 -0
  113. data/features/steps/filesystem/check_file_content.feature +61 -0
  114. data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
  115. data/features/steps/filesystem/compare_files.feature +42 -0
  116. data/features/steps/filesystem/copy.feature +45 -0
  117. data/features/steps/filesystem/create_directory.feature +57 -0
  118. data/features/steps/filesystem/create_file.feature +76 -0
  119. data/features/steps/filesystem/existence_of_directory.feature +57 -0
  120. data/features/steps/filesystem/existence_of_file.feature +43 -0
  121. data/features/steps/filesystem/file_content.feature +86 -0
  122. data/features/steps/filesystem/fixtures.feature +64 -0
  123. data/features/steps/filesystem/move.feature +45 -0
  124. data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
  125. data/features/steps/filesystem/non_existence_of_file.feature +80 -0
  126. data/features/steps/filesystem/overwrite_file.feature +72 -0
  127. data/features/steps/filesystem/remove_directory.feature +38 -0
  128. data/features/steps/filesystem/remove_file.feature +38 -0
  129. data/features/steps/filesystem/use_fixture.feature +77 -0
  130. data/features/steps/overview.feature +60 -0
  131. data/features/support/aruba.rb +7 -0
  132. data/features/support/env.rb +33 -0
  133. data/features/support/jruby.rb +5 -0
  134. data/features/support/simplecov_setup.rb +8 -0
  135. data/fixtures/cli-app/.gitignore +9 -0
  136. data/fixtures/cli-app/.rspec +2 -0
  137. data/fixtures/cli-app/README.md +39 -0
  138. data/fixtures/cli-app/Rakefile +1 -0
  139. data/fixtures/cli-app/bin/cli +6 -0
  140. data/fixtures/cli-app/cli-app.gemspec +26 -0
  141. data/fixtures/cli-app/features/support/env.rb +1 -0
  142. data/fixtures/cli-app/lib/cli/app.rb +13 -0
  143. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
  144. data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
  145. data/fixtures/cli-app/script/console +14 -0
  146. data/fixtures/cli-app/spec/spec_helper.rb +9 -0
  147. data/fixtures/cli-app/spec/support/aruba.rb +1 -0
  148. data/fixtures/copy/file.txt +1 -0
  149. data/fixtures/empty-app/.gitignore +9 -0
  150. data/fixtures/empty-app/.rspec +2 -0
  151. data/fixtures/empty-app/README.md +24 -0
  152. data/fixtures/empty-app/Rakefile +1 -0
  153. data/fixtures/empty-app/cli-app.gemspec +26 -0
  154. data/fixtures/empty-app/lib/cli/app.rb +13 -0
  155. data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
  156. data/fixtures/getting-started-app/.gitignore +4 -0
  157. data/fixtures/getting-started-app/Gemfile +4 -0
  158. data/fixtures/getting-started-app/README.md +3 -0
  159. data/fixtures/getting-started-app/features/support/env.rb +1 -0
  160. data/fixtures/spawn_process/stderr.sh +3 -0
  161. data/lib/aruba.rb +1 -0
  162. data/lib/aruba/api.rb +34 -0
  163. data/lib/aruba/api/command.rb +307 -0
  164. data/lib/aruba/api/core.rb +191 -0
  165. data/lib/aruba/api/deprecated.rb +897 -0
  166. data/lib/aruba/api/environment.rb +89 -0
  167. data/lib/aruba/api/filesystem.rb +392 -0
  168. data/lib/aruba/api/rvm.rb +44 -0
  169. data/lib/aruba/api/text.rb +56 -0
  170. data/lib/aruba/aruba_path.rb +133 -0
  171. data/lib/aruba/basic_configuration.rb +240 -0
  172. data/lib/aruba/basic_configuration/option.rb +32 -0
  173. data/lib/aruba/cli.rb +26 -0
  174. data/lib/aruba/colorizer.rb +108 -0
  175. data/lib/aruba/command.rb +74 -0
  176. data/lib/aruba/config.rb +108 -0
  177. data/lib/aruba/config/jruby.rb +17 -0
  178. data/lib/aruba/config_wrapper.rb +58 -0
  179. data/lib/aruba/console.rb +70 -0
  180. data/lib/aruba/console/help.rb +35 -0
  181. data/lib/aruba/contracts/absolute_path.rb +20 -0
  182. data/lib/aruba/contracts/enum.rb +26 -0
  183. data/lib/aruba/contracts/is_power_of_two.rb +22 -0
  184. data/lib/aruba/contracts/relative_path.rb +20 -0
  185. data/lib/aruba/cucumber.rb +13 -0
  186. data/lib/aruba/cucumber/command.rb +422 -0
  187. data/lib/aruba/cucumber/core.rb +5 -0
  188. data/lib/aruba/cucumber/environment.rb +42 -0
  189. data/lib/aruba/cucumber/file.rb +201 -0
  190. data/lib/aruba/cucumber/hooks.rb +160 -0
  191. data/lib/aruba/cucumber/rvm.rb +3 -0
  192. data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
  193. data/lib/aruba/errors.rb +37 -0
  194. data/lib/aruba/event_bus.rb +59 -0
  195. data/lib/aruba/event_bus/name_resolver.rb +168 -0
  196. data/lib/aruba/events.rb +39 -0
  197. data/lib/aruba/extensions/string/strip.rb +25 -0
  198. data/lib/aruba/file_size.rb +63 -0
  199. data/lib/aruba/generators/script_file.rb +46 -0
  200. data/lib/aruba/hooks.rb +56 -0
  201. data/lib/aruba/in_config_wrapper.rb +24 -0
  202. data/lib/aruba/in_process.rb +14 -0
  203. data/lib/aruba/initializer.rb +222 -0
  204. data/lib/aruba/jruby.rb +4 -0
  205. data/lib/aruba/matchers/base/base_matcher.rb +96 -0
  206. data/lib/aruba/matchers/base/object_formatter.rb +114 -0
  207. data/lib/aruba/matchers/collection.rb +1 -0
  208. data/lib/aruba/matchers/collection/all.rb +11 -0
  209. data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
  210. data/lib/aruba/matchers/command.rb +1 -0
  211. data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
  212. data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
  213. data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
  214. data/lib/aruba/matchers/command/have_output.rb +36 -0
  215. data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
  216. data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
  217. data/lib/aruba/matchers/command/have_output_size.rb +28 -0
  218. data/lib/aruba/matchers/directory.rb +1 -0
  219. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
  220. data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
  221. data/lib/aruba/matchers/environment.rb +1 -0
  222. data/lib/aruba/matchers/file.rb +1 -0
  223. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
  224. data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
  225. data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
  226. data/lib/aruba/matchers/file/have_file_content.rb +62 -0
  227. data/lib/aruba/matchers/file/have_file_size.rb +47 -0
  228. data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
  229. data/lib/aruba/matchers/path.rb +1 -0
  230. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
  231. data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
  232. data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
  233. data/lib/aruba/matchers/path/have_permissions.rb +64 -0
  234. data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
  235. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
  236. data/lib/aruba/matchers/string.rb +1 -0
  237. data/lib/aruba/matchers/string/include_output_string.rb +36 -0
  238. data/lib/aruba/matchers/string/match_output_string.rb +37 -0
  239. data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
  240. data/lib/aruba/platform.rb +25 -0
  241. data/lib/aruba/platforms/announcer.rb +232 -0
  242. data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
  243. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
  244. data/lib/aruba/platforms/aruba_logger.rb +81 -0
  245. data/lib/aruba/platforms/command_monitor.rb +229 -0
  246. data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
  247. data/lib/aruba/platforms/determine_file_size.rb +22 -0
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
  249. data/lib/aruba/platforms/filesystem_status.rb +68 -0
  250. data/lib/aruba/platforms/local_environment.rb +29 -0
  251. data/lib/aruba/platforms/simple_table.rb +54 -0
  252. data/lib/aruba/platforms/unix_command_string.rb +27 -0
  253. data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
  254. data/lib/aruba/platforms/unix_platform.rb +276 -0
  255. data/lib/aruba/platforms/unix_which.rb +85 -0
  256. data/lib/aruba/platforms/windows_command_string.rb +31 -0
  257. data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
  258. data/lib/aruba/platforms/windows_platform.rb +42 -0
  259. data/lib/aruba/platforms/windows_which.rb +106 -0
  260. data/lib/aruba/processes/basic_process.rb +143 -0
  261. data/lib/aruba/processes/debug_process.rb +69 -0
  262. data/lib/aruba/processes/in_process.rb +125 -0
  263. data/lib/aruba/processes/spawn_process.rb +278 -0
  264. data/lib/aruba/reporting.rb +126 -0
  265. data/lib/aruba/rspec.rb +107 -0
  266. data/lib/aruba/runtime.rb +96 -0
  267. data/lib/aruba/setup.rb +90 -0
  268. data/lib/aruba/spawn_process.rb +11 -0
  269. data/lib/aruba/version.rb +3 -0
  270. data/script/bootstrap +28 -0
  271. data/script/console +16 -0
  272. data/script/test +3 -0
  273. data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
  274. data/spec/aruba/api/environment/set_env_spec.rb +42 -0
  275. data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
  276. data/spec/aruba/api/runtime_spec.rb +28 -0
  277. data/spec/aruba/api_spec.rb +1209 -0
  278. data/spec/aruba/aruba_path_spec.rb +103 -0
  279. data/spec/aruba/basic_configuration_spec.rb +5 -0
  280. data/spec/aruba/configuration_spec.rb +5 -0
  281. data/spec/aruba/hooks_spec.rb +17 -0
  282. data/spec/aruba/in_config_wrapper_spec.rb +25 -0
  283. data/spec/aruba/jruby_spec.rb +55 -0
  284. data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
  285. data/spec/aruba/matchers/command_spec.rb +174 -0
  286. data/spec/aruba/matchers/directory_spec.rb +57 -0
  287. data/spec/aruba/matchers/file_spec.rb +127 -0
  288. data/spec/aruba/matchers/path_spec.rb +88 -0
  289. data/spec/aruba/platform/simple_table_spec.rb +23 -0
  290. data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
  291. data/spec/aruba/rspec_spec.rb +15 -0
  292. data/spec/aruba/runtime_spec.rb +29 -0
  293. data/spec/aruba/spawn_process_spec.rb +60 -0
  294. data/spec/event_bus/name_resolver_spec.rb +68 -0
  295. data/spec/event_bus_spec.rb +160 -0
  296. data/spec/spec_helper.rb +23 -0
  297. data/spec/support/configs/.keep +0 -0
  298. data/spec/support/configs/aruba.rb +5 -0
  299. data/spec/support/configs/pry.rb +3 -0
  300. data/spec/support/configs/rspec.rb +15 -0
  301. data/spec/support/helpers/.keep +0 -0
  302. data/spec/support/helpers/reporting.rb +44 -0
  303. data/spec/support/matchers/.keep +0 -0
  304. data/spec/support/matchers/option.rb +35 -0
  305. data/spec/support/shared_contexts/.keep +0 -0
  306. data/spec/support/shared_contexts/aruba.rb +48 -0
  307. data/spec/support/shared_examples/.keep +0 -0
  308. data/spec/support/shared_examples/configuration.rb +116 -0
  309. data/spec/support/shared_examples/directory.rb +7 -0
  310. data/spec/support/shared_examples/file.rb +7 -0
  311. data/templates/css/console.css +24 -0
  312. data/templates/css/filesystem.css +42 -0
  313. data/templates/css/pygments-autumn.css +59 -0
  314. data/templates/files.erb +14 -0
  315. data/templates/images/LICENSE +22 -0
  316. data/templates/images/folder.png +0 -0
  317. data/templates/images/page_white.png +0 -0
  318. data/templates/images/page_white_gherkin.png +0 -0
  319. data/templates/images/page_white_ruby.png +0 -0
  320. data/templates/index.erb +20 -0
  321. data/templates/js/filesystem.js +5 -0
  322. data/templates/js/jquery-1.11.3.min.js +5 -0
  323. data/templates/main.erb +34 -0
  324. metadata +629 -0
@@ -0,0 +1,52 @@
1
+ Feature: Configure timeout for command execution
2
+
3
+ As a developer
4
+ I want to configure the timeout when executing a command
5
+ In order to support some longer running commands
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.exit_timeout}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "15"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given an executable named "bin/cli" with:
25
+ """bash
26
+ #!/bin/bash
27
+ sleep 1
28
+ """
29
+ And a file named "features/support/aruba.rb" with:
30
+ """ruby
31
+ Aruba.configure do |config|
32
+ config.exit_timeout = 2
33
+ end
34
+ """
35
+ And the default feature-test
36
+ Then I successfully run `cucumber`
37
+
38
+ Scenario: Fails if takes longer
39
+ Given an executable named "bin/cli" with:
40
+ """ruby
41
+ #!/bin/bash
42
+ sleep 2
43
+ """
44
+ And a file named "features/support/aruba.rb" with:
45
+ """ruby
46
+ Aruba.configure do |config|
47
+ config.exit_timeout = 1
48
+ end
49
+ """
50
+ And the default feature-test
51
+ Then I run `cucumber`
52
+ And the exit status should be 1
@@ -0,0 +1,38 @@
1
+ Feature: Configure directory where to look for fixtures
2
+
3
+ As a developer
4
+ I want to configure the directory where aruba looks for fixtures
5
+ In order to use them in my tests
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "%w(#{config.fixtures_directories.join(" ")})")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "%w(features/fixtures spec/fixtures test/fixtures fixtures)"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """ruby
26
+ Aruba.configure do |config|
27
+ config.fixtures_directories = %w(spec/fixtures)
28
+ end
29
+
30
+ Aruba.configure do |config|
31
+ puts %(The default value is "%w(#{config.fixtures_directories.join(" ")})")
32
+ end
33
+ """
34
+ When I successfully run `cucumber`
35
+ Then the output should contain:
36
+ """
37
+ The default value is "%w(spec/fixtures)"
38
+ """
@@ -0,0 +1,23 @@
1
+ Feature: Use fixtures path prefix of aruba
2
+
3
+ As a developer
4
+ I want to use the fixtures path prefix in aruba
5
+ In some API-method for using the fixtures path
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts "The prefix is \"#{config.fixtures_path_prefix}\"."
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The prefix is "%".
21
+ """
22
+
23
+
@@ -0,0 +1,80 @@
1
+ Feature: Configure the home directory to be used with aruba
2
+
3
+ As a developer
4
+ I want to configure the home directory
5
+ In order to have a better isolation of tests
6
+
7
+ Be careful to set the HOME-variable aka `config.home_directory` to something
8
+ else than `<project_root>/tmp/aruba`. This is a dance with the devil and
9
+ violates the isolation of your test suite. Thus will be not supported from
10
+ aruba as of 1.0.0.
11
+
12
+ Background:
13
+ Given I use the fixture "cli-app"
14
+
15
+ Scenario: Default value
16
+ Given a file named "features/support/aruba.rb" with:
17
+ """ruby
18
+ Aruba.configure do |config|
19
+ puts %(The default value is "#{config.home_directory}")
20
+ end
21
+ """
22
+ When I successfully run `cucumber`
23
+ Then the output should contain:
24
+ """
25
+ The default value is "/home/
26
+ """
27
+
28
+ Scenario: Set to current working directory
29
+ Given a file named "features/support/aruba.rb" with:
30
+ """ruby
31
+ Aruba.configure do |config|
32
+ # use current working directory
33
+ config.home_directory = '.'
34
+ end
35
+
36
+ Aruba.configure do |config|
37
+ puts %(The default value is "#{config.home_directory}")
38
+ end
39
+ """
40
+ Then I successfully run `cucumber`
41
+ Then the output should contain:
42
+ """
43
+ The default value is "."
44
+ """
45
+
46
+ Scenario: Set to aruba's working directory
47
+ Given a file named "features/support/aruba.rb" with:
48
+ """ruby
49
+ Aruba.configure do |config|
50
+ # Use aruba working directory
51
+ config.home_directory = File.join(config.root_directory, config.working_directory)
52
+ end
53
+
54
+ Aruba.configure do |config|
55
+ puts %(The default value is "#{config.home_directory}")
56
+ end
57
+ """
58
+ Then I successfully run `cucumber`
59
+ Then the output should contain:
60
+ """
61
+ The default value is "/home/
62
+ """
63
+
64
+ Scenario: Set to some other path (deprecated)
65
+ Given a file named "features/support/aruba.rb" with:
66
+ """ruby
67
+ Aruba.configure do |config|
68
+ # use current working directory
69
+ config.home_directory = '/tmp/home'
70
+ end
71
+
72
+ Aruba.configure do |config|
73
+ puts %(The default value is "#{config.home_directory}")
74
+ end
75
+ """
76
+ Then I successfully run `cucumber`
77
+ Then the output should contain:
78
+ """
79
+ The default value is "/tmp/home"
80
+ """
@@ -0,0 +1,30 @@
1
+ Feature: Configure timeout for io of commands
2
+
3
+ As a developer
4
+ I want to configure the timeout waiting for io of a command
5
+ In order to support some longer running commands
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.io_wait_timeout}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "0.1"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """ruby
26
+ Aruba.configure do |config|
27
+ config.io_wait_timeout = 2
28
+ end
29
+ """
30
+ Then I successfully run `cucumber`
@@ -0,0 +1,30 @@
1
+ Feature: Configure if ansi color codes should be stripped off from command output (deprecated)
2
+
3
+ As a developer
4
+ I want to strip off ansi color codes
5
+ In order to make checking of those outputs easier
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.keep_ansi}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "false"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """ruby
26
+ Aruba.configure do |config|
27
+ config.keep_ansi = true
28
+ end
29
+ """
30
+ Then I successfully run `cucumber`
@@ -0,0 +1,38 @@
1
+ Feature: Configure Log level of aruba logger
2
+
3
+ As a developer
4
+ I want to configure the level of information put to output by logger
5
+ In order to modify the amount of information
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.log_level}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """ruby
20
+ The default value is "info"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """ruby
26
+ Aruba.configure do |config|
27
+ config.log_level = :warn
28
+ end
29
+
30
+ Aruba.configure do |config|
31
+ puts %(The default value is "#{config.log_level}")
32
+ end
33
+ """
34
+ Then I successfully run `cucumber`
35
+ Then the output should contain:
36
+ """
37
+ The default value is "warn"
38
+ """
@@ -0,0 +1,53 @@
1
+ Feature: Configure the phsical block size of disk
2
+
3
+ As a developer
4
+ I want to configure the physical block size
5
+ In order to make the disk usage work for my application's setup
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """ruby
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.physical_block_size}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "512"
21
+ """
22
+
23
+ Scenario: Set the block size to something else which is a power of two
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """ruby
26
+ Aruba.configure do |config|
27
+ # use current working directory
28
+ config.physical_block_size = 4096
29
+ end
30
+
31
+ Aruba.configure do |config|
32
+ puts %(The default value is "#{config.physical_block_size}")
33
+ end
34
+ """
35
+ When I successfully run `cucumber`
36
+ Then the output should contain:
37
+ """
38
+ The default value is "4096"
39
+ """
40
+
41
+ Scenario: The value needs to be a power of two, otherwise it will fail
42
+ Given a file named "features/support/aruba.rb" with:
43
+ """ruby
44
+ Aruba.configure do |config|
45
+ config.physical_block_size = 3
46
+ end
47
+ """
48
+ When I run `cucumber`
49
+ Then the output should contain:
50
+ """
51
+ Contract violation for argument
52
+ """
53
+
@@ -0,0 +1,38 @@
1
+ Feature: Configure if ansi color codes should be stripped off from command output
2
+
3
+ As a developer
4
+ I want to strip off ansi color codes
5
+ In order to make checking of those outputs easier
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default value
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """
13
+ Aruba.configure do |config|
14
+ puts %(The default value is "#{config.remove_ansi_escape_sequences}")
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ The default value is "true"
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """
26
+ Aruba.configure do |config|
27
+ config.remove_ansi_escape_sequences = false
28
+ end
29
+
30
+ Aruba.configure do |config|
31
+ puts %(The value is "#{config.remove_ansi_escape_sequences}")
32
+ end
33
+ """
34
+ Then I successfully run `cucumber`
35
+ And the output should contain:
36
+ """
37
+ The value is "false"
38
+ """
@@ -0,0 +1,30 @@
1
+ Feature: Use root directory of aruba
2
+
3
+ As a developer
4
+ I want to use the root directory of aruba
5
+ In order to use it elsewhere
6
+
7
+ Background:
8
+ Given I use the fixture "cli-app"
9
+
10
+ Scenario: Default configuration
11
+ Given a file named "features/support/aruba.rb" with:
12
+ """
13
+ Aruba.configure do |config|
14
+ puts config.root_directory
15
+ end
16
+ """
17
+ When I successfully run `cucumber`
18
+ Then the output should contain:
19
+ """
20
+ tmp/aruba
21
+ """
22
+
23
+ Scenario: Modify value
24
+ Given a file named "features/support/aruba.rb" with:
25
+ """
26
+ Aruba.configure do |config|
27
+ config.root_directory = '/tmp/'
28
+ end
29
+ """
30
+ Then I successfully run `cucumber`
@@ -0,0 +1,48 @@
1
+ Feature: Set time to wait after spawning command
2
+
3
+ As a developer
4
+ I want to configure a time span to wait after the command was spawned
5
+ In order to prevent failure of some commands which take a little bit longer
6
+ to load.
7
+
8
+
9
+ If you setup a ruby script, this may load bundler. This makes the script to
10
+ start up a little bit longer. If you want to run a command in background,
11
+ starting the command in a background process may take longer then sending it
12
+ a signal.
13
+
14
+ If you experience some brittle tests with background commands, try to set the
15
+ `#startup_wait_time`.
16
+
17
+ Background:
18
+ Given I use the fixture "cli-app"
19
+
20
+ Scenario: Default value
21
+ Given a file named "features/support/aruba.rb" with:
22
+ """ruby
23
+ Aruba.configure do |config|
24
+ puts %(The default value is "#{config.startup_wait_time}")
25
+ end
26
+ """
27
+ When I successfully run `cucumber`
28
+ Then the output should contain:
29
+ """
30
+ The default value is "0"
31
+ """
32
+
33
+ Scenario: Modify value
34
+ Given a file named "features/support/aruba.rb" with:
35
+ """ruby
36
+ Aruba.configure do |config|
37
+ config.startup_wait_time = 2
38
+ end
39
+
40
+ Aruba.configure do |config|
41
+ puts %(The new value is "#{config.startup_wait_time}")
42
+ end
43
+ """
44
+ Then I successfully run `cucumber`
45
+ Then the output should contain:
46
+ """
47
+ The new value is "2"
48
+ """