aruba 0.14.14 → 1.0.0

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 (299) hide show
  1. checksums.yaml +4 -4
  2. data/.cucumberproignore +3 -0
  3. data/.github/ISSUE_TEMPLATE.md +48 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +41 -0
  5. data/.gitignore +1 -0
  6. data/.rspec +1 -1
  7. data/.rubocop.yml +20 -181
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +53 -28
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +301 -2
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -114
  16. data/LICENSE +1 -1
  17. data/README.md +57 -180
  18. data/Rakefile +63 -32
  19. data/appveyor.yml +8 -11
  20. data/aruba.gemspec +47 -41
  21. data/bin/console +7 -0
  22. data/bin/test +9 -0
  23. data/cucumber.yml +4 -24
  24. data/doc/dependency_decisions.yml +35 -13
  25. data/docker-compose.yml +26 -0
  26. data/{bin → exe}/aruba +1 -1
  27. data/fixtures/cli-app/Rakefile +1 -1
  28. data/fixtures/cli-app/bin/aruba-test-cli +1 -1
  29. data/fixtures/cli-app/cli-app.gemspec +1 -2
  30. data/fixtures/cli-app/features/support/aruba.rb +1 -0
  31. data/fixtures/cli-app/features/support/env.rb +1 -1
  32. data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +3 -3
  33. data/fixtures/cli-app/lib/cli/app/version.rb +1 -1
  34. data/fixtures/cli-app/lib/cli/app.rb +1 -5
  35. data/fixtures/cli-app/spec/spec_helper.rb +4 -7
  36. data/fixtures/empty-app/Rakefile +1 -1
  37. data/fixtures/empty-app/cli-app.gemspec +1 -2
  38. data/fixtures/empty-app/lib/cli/app/version.rb +1 -1
  39. data/fixtures/getting-started-app/Gemfile +1 -1
  40. data/lib/aruba/api/commands.rb +85 -143
  41. data/lib/aruba/api/core.rb +48 -41
  42. data/lib/aruba/api/environment.rb +16 -7
  43. data/lib/aruba/api/filesystem.rb +43 -30
  44. data/lib/aruba/api/text.rb +3 -9
  45. data/lib/aruba/api.rb +6 -11
  46. data/lib/aruba/aruba_path.rb +27 -89
  47. data/lib/aruba/basic_configuration.rb +4 -24
  48. data/lib/aruba/cli.rb +1 -1
  49. data/lib/aruba/command.rb +2 -0
  50. data/lib/aruba/config/jruby.rb +1 -1
  51. data/lib/aruba/config_wrapper.rb +1 -1
  52. data/lib/aruba/configuration.rb +92 -0
  53. data/lib/aruba/console/help.rb +1 -7
  54. data/lib/aruba/console.rb +5 -5
  55. data/lib/aruba/contracts/absolute_path.rb +2 -2
  56. data/lib/aruba/contracts/relative_path.rb +2 -2
  57. data/lib/aruba/cucumber/command.rb +133 -92
  58. data/lib/aruba/cucumber/environment.rb +1 -1
  59. data/lib/aruba/cucumber/file.rb +21 -23
  60. data/lib/aruba/cucumber/hooks.rb +18 -13
  61. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  62. data/lib/aruba/cucumber.rb +0 -6
  63. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  64. data/lib/aruba/hooks.rb +1 -1
  65. data/lib/aruba/in_config_wrapper.rb +5 -1
  66. data/lib/aruba/initializer.rb +36 -42
  67. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  68. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  69. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  70. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  71. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  72. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  73. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  74. data/lib/aruba/matchers/command/have_output.rb +10 -5
  75. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  76. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  77. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  78. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  79. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  80. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  81. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  82. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  83. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  84. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  85. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  86. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  87. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  88. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  89. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  90. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  91. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  92. data/lib/aruba/matchers/string/output_string_eq.rb +8 -10
  93. data/lib/aruba/platform.rb +0 -8
  94. data/lib/aruba/platforms/announcer.rb +30 -72
  95. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  96. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  97. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  98. data/lib/aruba/platforms/command_monitor.rb +11 -103
  99. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  100. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  101. data/lib/aruba/platforms/local_environment.rb +2 -2
  102. data/lib/aruba/platforms/simple_table.rb +3 -11
  103. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  104. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  105. data/lib/aruba/platforms/unix_platform.rb +16 -50
  106. data/lib/aruba/platforms/unix_which.rb +2 -1
  107. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  108. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  109. data/lib/aruba/platforms/windows_platform.rb +4 -0
  110. data/lib/aruba/platforms/windows_which.rb +4 -3
  111. data/lib/aruba/processes/basic_process.rb +18 -20
  112. data/lib/aruba/processes/debug_process.rb +12 -3
  113. data/lib/aruba/processes/in_process.rb +17 -8
  114. data/lib/aruba/processes/spawn_process.rb +36 -39
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +1 -1
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -242
  121. data/features/.nav +0 -72
  122. data/features/01_getting_started_with_aruba/cleanup_working_directory.feature +0 -57
  123. data/features/01_getting_started_with_aruba/run_commands.feature +0 -217
  124. data/features/01_getting_started_with_aruba/supported_testing_frameworks.feature +0 -88
  125. data/features/02_configure_aruba/activate_announcer_on_command_failure.feature +0 -38
  126. data/features/02_configure_aruba/basics.feature +0 -151
  127. data/features/02_configure_aruba/command_runtime_environment.feature +0 -129
  128. data/features/02_configure_aruba/console_history_file.feature +0 -38
  129. data/features/02_configure_aruba/exit_timeout.feature +0 -60
  130. data/features/02_configure_aruba/fixtures_directories.feature +0 -38
  131. data/features/02_configure_aruba/fixtures_path_prefix.feature +0 -23
  132. data/features/02_configure_aruba/home_directory.feature +0 -80
  133. data/features/02_configure_aruba/io_timeout.feature +0 -30
  134. data/features/02_configure_aruba/keep_ansi.feature +0 -30
  135. data/features/02_configure_aruba/log_level.feature +0 -38
  136. data/features/02_configure_aruba/physical_block_size.feature +0 -53
  137. data/features/02_configure_aruba/remove_ansi_escape_sequences.feature +0 -38
  138. data/features/02_configure_aruba/root_directory.feature +0 -30
  139. data/features/02_configure_aruba/startup_wait_time.feature +0 -48
  140. data/features/02_configure_aruba/working_directory.feature +0 -38
  141. data/features/03_testing_frameworks/cucumber/announce_information_for_troubleshooting.feature +0 -306
  142. data/features/03_testing_frameworks/cucumber/disable_bunder.feature +0 -18
  143. data/features/03_testing_frameworks/cucumber/steps/command/check_for_exit_statuses.feature +0 -136
  144. data/features/03_testing_frameworks/cucumber/steps/command/check_output_of_command.feature +0 -514
  145. data/features/03_testing_frameworks/cucumber/steps/command/check_stderr_of_command.feature +0 -68
  146. data/features/03_testing_frameworks/cucumber/steps/command/check_stdout_of_command.feature +0 -109
  147. data/features/03_testing_frameworks/cucumber/steps/command/debug_your_command_in_aruba.feature +0 -118
  148. data/features/03_testing_frameworks/cucumber/steps/command/run_a_command.feature +0 -66
  149. data/features/03_testing_frameworks/cucumber/steps/command/run_command_in_process.feature +0 -485
  150. data/features/03_testing_frameworks/cucumber/steps/command/run_command_interactively.feature +0 -90
  151. data/features/03_testing_frameworks/cucumber/steps/command/run_commands_which_require_a_shell.feature +0 -79
  152. data/features/03_testing_frameworks/cucumber/steps/command/send_signal_to_command.feature +0 -83
  153. data/features/03_testing_frameworks/cucumber/steps/command/stop_command.feature +0 -285
  154. data/features/03_testing_frameworks/cucumber/steps/environment/append_environment_variable.feature +0 -52
  155. data/features/03_testing_frameworks/cucumber/steps/environment/modify_home_variable_for_testing.feature +0 -62
  156. data/features/03_testing_frameworks/cucumber/steps/environment/prepend_environment_variable.feature +0 -52
  157. data/features/03_testing_frameworks/cucumber/steps/environment/set_environment_variable.feature +0 -49
  158. data/features/03_testing_frameworks/cucumber/steps/filesystem/append_to_file.feature +0 -45
  159. data/features/03_testing_frameworks/cucumber/steps/filesystem/cd_to_directory.feature +0 -33
  160. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_directory.feature +0 -57
  161. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_existence_of_file.feature +0 -43
  162. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_file_content.feature +0 -143
  163. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_directory.feature +0 -69
  164. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_non_existence_of_file.feature +0 -80
  165. data/features/03_testing_frameworks/cucumber/steps/filesystem/check_permissions_of_file.feature +0 -39
  166. data/features/03_testing_frameworks/cucumber/steps/filesystem/compare_files.feature +0 -42
  167. data/features/03_testing_frameworks/cucumber/steps/filesystem/copy_file_or_directory.feature +0 -45
  168. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_directory.feature +0 -57
  169. data/features/03_testing_frameworks/cucumber/steps/filesystem/create_file.feature +0 -76
  170. data/features/03_testing_frameworks/cucumber/steps/filesystem/move_file_or_directory.feature +0 -44
  171. data/features/03_testing_frameworks/cucumber/steps/filesystem/overwrite_file.feature +0 -72
  172. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_directory.feature +0 -38
  173. data/features/03_testing_frameworks/cucumber/steps/filesystem/remove_file.feature +0 -38
  174. data/features/03_testing_frameworks/cucumber/steps/filesystem/use_fixtures_for_setup_test.feature +0 -77
  175. data/features/03_testing_frameworks/rspec/hooks/define_after_hook_for_commands.feature +0 -43
  176. data/features/03_testing_frameworks/rspec/hooks/define_before_hook_for_commands.feature +0 -71
  177. data/features/03_testing_frameworks/rspec/setup_aruba_for_rspec.feature +0 -179
  178. data/features/04_aruba_api/command/find_a_started_command.feature +0 -83
  179. data/features/04_aruba_api/command/find_command_in_PATH.feature +0 -37
  180. data/features/04_aruba_api/command/read_stderr_of_command.feature +0 -46
  181. data/features/04_aruba_api/command/read_stdout_of_command.feature +0 -46
  182. data/features/04_aruba_api/command/run_command.feature +0 -423
  183. data/features/04_aruba_api/command/run_simple.feature +0 -254
  184. data/features/04_aruba_api/command/send_signal_to_command.feature +0 -53
  185. data/features/04_aruba_api/command/stop_all_commands.feature +0 -57
  186. data/features/04_aruba_api/command/stop_single_command.feature +0 -132
  187. data/features/04_aruba_api/command/terminate_all_commands.feature +0 -57
  188. data/features/04_aruba_api/command/use_last_command_started.feature +0 -50
  189. data/features/04_aruba_api/command/use_last_command_stopped.feature +0 -89
  190. data/features/04_aruba_api/core/expand_path.feature +0 -88
  191. data/features/04_aruba_api/environment/append_environment_variable.feature +0 -128
  192. data/features/04_aruba_api/environment/delete_environment_variable.feature +0 -63
  193. data/features/04_aruba_api/environment/prepend_environment_variable.feature +0 -128
  194. data/features/04_aruba_api/environment/set_environment_variable.feature +0 -376
  195. data/features/04_aruba_api/filesystem/cd_to_directory.feature +0 -184
  196. data/features/04_aruba_api/filesystem/check_existence_file_or_directory.feature +0 -62
  197. data/features/04_aruba_api/filesystem/check_if_path_is_absolute.feature +0 -48
  198. data/features/04_aruba_api/filesystem/check_if_path_is_directory.feature +0 -53
  199. data/features/04_aruba_api/filesystem/check_if_path_is_file.feature +0 -54
  200. data/features/04_aruba_api/filesystem/check_if_path_is_relative.feature +0 -48
  201. data/features/04_aruba_api/filesystem/create_directory.feature +0 -57
  202. data/features/04_aruba_api/filesystem/move_file_or_directory.feature +0 -119
  203. data/features/04_aruba_api/filesystem/report_disk_usage.feature +0 -152
  204. data/features/04_aruba_api/filesystem/use_fixtures.feature +0 -104
  205. data/features/04_aruba_api/text/extract_text.feature +0 -87
  206. data/features/04_aruba_api/text/replace_variables.feature +0 -45
  207. data/features/04_aruba_api/text/sanitize_text.feature +0 -228
  208. data/features/04_aruba_api/text/unescape_text.feature +0 -127
  209. data/features/05_use_rspec_matchers/command/check_timeouts.feature +0 -48
  210. data/features/05_use_rspec_matchers/directory/have_sub_directory.feature +0 -110
  211. data/features/05_use_rspec_matchers/file/be_a_command_found_in_path.feature +0 -115
  212. data/features/05_use_rspec_matchers/file/be_existing_executable.feature +0 -88
  213. data/features/05_use_rspec_matchers/file/be_existing_file.feature +0 -82
  214. data/features/05_use_rspec_matchers/file/have_file_content.feature +0 -123
  215. data/features/05_use_rspec_matchers/file/have_file_size.feature +0 -107
  216. data/features/05_use_rspec_matchers/path/be_an_absolute_path.feature +0 -74
  217. data/features/05_use_rspec_matchers/path/be_an_existing_path.feature +0 -97
  218. data/features/05_use_rspec_matchers/path/have_permissions.feature +0 -118
  219. data/features/06_use_aruba_cli/initialize_project_with_aruba.feature +0 -79
  220. data/features/06_use_aruba_cli/open_console.feature +0 -55
  221. data/features/08_other/improve_performance_if_using_jruby.feature +0 -37
  222. data/features/step_definitions/hooks.rb +0 -146
  223. data/features/support/aruba.rb +0 -7
  224. data/features/support/env.rb +0 -33
  225. data/features/support/simplecov_setup.rb +0 -11
  226. data/fixtures/spawn_process/stderr.sh +0 -3
  227. data/lib/aruba/api/deprecated.rb +0 -1155
  228. data/lib/aruba/config.rb +0 -107
  229. data/lib/aruba/cucumber/core.rb +0 -5
  230. data/lib/aruba/cucumber/deprecated.rb +0 -93
  231. data/lib/aruba/cucumber/rvm.rb +0 -3
  232. data/lib/aruba/in_process.rb +0 -16
  233. data/lib/aruba/jruby.rb +0 -4
  234. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  235. data/lib/aruba/matchers/deprecated.rb +0 -1
  236. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  237. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  238. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  239. data/lib/aruba/reporting.rb +0 -126
  240. data/lib/aruba/spawn_process.rb +0 -14
  241. data/script/bootstrap +0 -24
  242. data/script/console +0 -16
  243. data/script/test +0 -3
  244. data/spec/aruba/api/bundler_spec.rb +0 -15
  245. data/spec/aruba/api/commands_spec.rb +0 -30
  246. data/spec/aruba/api/core_spec.rb +0 -184
  247. data/spec/aruba/api/deprecated_spec.rb +0 -421
  248. data/spec/aruba/api/filesystem_spec.rb +0 -746
  249. data/spec/aruba/api/runtime_spec.rb +0 -28
  250. data/spec/aruba/api_spec.rb +0 -73
  251. data/spec/aruba/aruba_path_spec.rb +0 -103
  252. data/spec/aruba/basic_configuration_spec.rb +0 -5
  253. data/spec/aruba/configuration_spec.rb +0 -5
  254. data/spec/aruba/hooks_spec.rb +0 -17
  255. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  256. data/spec/aruba/jruby_spec.rb +0 -73
  257. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  258. data/spec/aruba/matchers/command_spec.rb +0 -174
  259. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  260. data/spec/aruba/matchers/directory_spec.rb +0 -57
  261. data/spec/aruba/matchers/file_spec.rb +0 -208
  262. data/spec/aruba/matchers/path_spec.rb +0 -58
  263. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  264. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  265. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  266. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  267. data/spec/aruba/processes/spawn_process_spec.rb +0 -112
  268. data/spec/aruba/rspec_spec.rb +0 -15
  269. data/spec/aruba/runtime_spec.rb +0 -29
  270. data/spec/event_bus/name_resolver_spec.rb +0 -68
  271. data/spec/event_bus_spec.rb +0 -158
  272. data/spec/spec_helper.rb +0 -22
  273. data/spec/support/configs/.keep +0 -0
  274. data/spec/support/configs/aruba.rb +0 -5
  275. data/spec/support/configs/pry.rb +0 -3
  276. data/spec/support/configs/rspec.rb +0 -15
  277. data/spec/support/helpers/.keep +0 -0
  278. data/spec/support/helpers/reporting.rb +0 -44
  279. data/spec/support/matchers/.keep +0 -0
  280. data/spec/support/matchers/option.rb +0 -35
  281. data/spec/support/shared_contexts/.keep +0 -0
  282. data/spec/support/shared_contexts/aruba.rb +0 -49
  283. data/spec/support/shared_examples/.keep +0 -0
  284. data/spec/support/shared_examples/configuration.rb +0 -116
  285. data/spec/support/shared_examples/directory.rb +0 -7
  286. data/spec/support/shared_examples/file.rb +0 -7
  287. data/templates/css/console.css +0 -24
  288. data/templates/css/filesystem.css +0 -42
  289. data/templates/css/pygments-autumn.css +0 -59
  290. data/templates/files.erb +0 -14
  291. data/templates/images/LICENSE +0 -22
  292. data/templates/images/folder.png +0 -0
  293. data/templates/images/page_white.png +0 -0
  294. data/templates/images/page_white_gherkin.png +0 -0
  295. data/templates/images/page_white_ruby.png +0 -0
  296. data/templates/index.erb +0 -20
  297. data/templates/js/filesystem.js +0 -5
  298. data/templates/js/jquery-1.11.3.min.js +0 -5
  299. data/templates/main.erb +0 -34
data/lib/aruba/config.rb DELETED
@@ -1,107 +0,0 @@
1
- require 'contracts'
2
-
3
- require 'aruba/version'
4
- require 'aruba/basic_configuration'
5
- require 'aruba/in_config_wrapper'
6
- require 'aruba/hooks'
7
-
8
- require 'aruba/contracts/relative_path'
9
- require 'aruba/contracts/absolute_path'
10
- require 'aruba/contracts/enum'
11
-
12
- require 'aruba/contracts/is_power_of_two'
13
-
14
- # Aruba
15
- module Aruba
16
- # Aruba Configuration
17
- #
18
- # This defines the configuration options of aruba
19
- class Configuration < BasicConfiguration
20
- if Aruba::VERSION >= '1.0.0'
21
- option_reader :root_directory, :contract => { None => String }, :default => Dir.getwd
22
- else
23
- option_accessor :root_directory, :contract => { String => String }, :default => Dir.getwd
24
- end
25
-
26
- option_accessor :working_directory, :contract => { Aruba::Contracts::RelativePath => Aruba::Contracts::RelativePath }, :default => 'tmp/aruba'
27
-
28
- if RUBY_VERSION < '1.9'
29
- option_reader :fixtures_path_prefix, :contract => { None => String }, :default => '%'
30
- else
31
- option_reader :fixtures_path_prefix, :contract => { None => String }, :default => ?%
32
- end
33
-
34
- option_accessor :exit_timeout, :contract => { Num => Num }, :default => 15
35
- option_accessor :stop_signal, :contract => { Maybe[String] => Maybe[String] }, :default => nil
36
- option_accessor :io_wait_timeout, :contract => { Num => Num }, :default => 0.1
37
- option_accessor :startup_wait_time, :contract => { Num => Num }, :default => 0
38
- option_accessor :fixtures_directories, :contract => { Array => ArrayOf[String] }, :default => %w(features/fixtures spec/fixtures test/fixtures fixtures)
39
- option_accessor :command_runtime_environment, :contract => { Hash => Hash }, :default => ENV.to_hash
40
- # rubocop:disable Metrics/LineLength
41
- option_accessor(:command_search_paths, :contract => { ArrayOf[String] => ArrayOf[String] }) { |config| [File.join(config.root_directory.value, 'bin'), File.join(config.root_directory.value, 'exe')] }
42
- # rubocop:enable Metrics/LineLength
43
- option_accessor :keep_ansi, :contract => { Bool => Bool }, :default => false
44
- option_accessor :remove_ansi_escape_sequences, :contract => { Bool => Bool }, :default => true
45
- # rubocop:disable Metrics/LineLength
46
- option_accessor :command_launcher, :contract => { Aruba::Contracts::Enum[:in_process, :spawn, :debug] => Aruba::Contracts::Enum[:in_process, :spawn, :debug] }, :default => :spawn
47
- # rubocop:enable Metrics/LineLength
48
- option_accessor :main_class, :contract => { Class => Maybe[Class] }, :default => nil
49
-
50
- # rubocop:disable Metrics/LineLength
51
- if Aruba::VERSION >= '1.0.0'
52
- option_accessor :home_directory, :contract => { Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] => Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] } do |config|
53
- File.join(config.root_directory.value, config.working_directory.value)
54
- end
55
- else
56
- option_accessor :home_directory, :contract => { Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] => Or[Aruba::Contracts::AbsolutePath, Aruba::Contracts::RelativePath] }, :default => ENV['HOME']
57
- end
58
- # rubocop:enable Metrics/LineLength
59
-
60
- # rubocop:disable Metrics/LineLength
61
- option_accessor :log_level, :contract => { Aruba::Contracts::Enum[:fatal, :warn, :debug, :info, :error, :unknown, :silent] => Aruba::Contracts::Enum[:fatal, :warn, :debug, :info, :error, :unknown, :silent] }, :default => :info
62
- # rubocop:enable Metrics/LineLength
63
-
64
- option_accessor :physical_block_size, :contract => { Aruba::Contracts::IsPowerOfTwo => Aruba::Contracts::IsPowerOfTwo }, :default => 512
65
- option_accessor :console_history_file, :contract => { String => String }, :default => '~/.aruba_history'
66
-
67
- option_accessor :activate_announcer_on_command_failure, :contract => { ArrayOf[Symbol] => ArrayOf[Symbol] }, :default => []
68
- end
69
- end
70
-
71
- # Aruba
72
- module Aruba
73
- @config = Configuration.new
74
-
75
- class << self
76
- attr_reader :config
77
-
78
- # Configure aruba
79
- #
80
- # @example How to configure aruba
81
- #
82
- # Aruba.configure do |config|
83
- # config.<option> = <value>
84
- # end
85
- #
86
- def configure(&block)
87
- @config.configure(&block)
88
-
89
- self
90
- end
91
- end
92
- end
93
-
94
- # Aruba
95
- module Aruba
96
- # Old Config
97
- #
98
- # @private
99
- # @deprecated
100
- class Config < Configuration
101
- def initialize(*args)
102
- warn('The use of "Aruba::Config" is deprecated. Use "Aruba::Configuration" instead.')
103
-
104
- super
105
- end
106
- end
107
- end
@@ -1,5 +0,0 @@
1
- if Aruba::VERSION >= '1.0.0'
2
- Aruba.configure do |config|
3
- config.working_directory = 'tmp/cucumber'
4
- end
5
- end
@@ -1,93 +0,0 @@
1
- Before('@announce-cmd') do
2
- Aruba.platform.deprecated 'The use of "@announce-cmd"-hook is deprecated. Please use "@announce-command"'
3
-
4
- aruba.announcer.activate :command
5
- end
6
-
7
- Before('@announce-dir') do
8
- Aruba.platform.deprecated 'The use of "@announce-dir"-hook is deprecated. Please use "@announce-directory"'
9
-
10
- aruba.announcer.activate :directory
11
- end
12
-
13
- Before('@announce-env') do
14
- Aruba.platform.deprecated 'The use of "@announce-env"-hook is deprecated. Please use "@announce-changed-environment"'
15
-
16
- aruba.announcer.activate :environment
17
- end
18
-
19
- Before('@announce-environment') do
20
- Aruba.platform.deprecated '@announce-environment is deprecated. Use @announce-changed-environment instead'
21
-
22
- aruba.announcer.activate :changed_environment
23
- end
24
-
25
- Before('@announce-modified-environment') do
26
- Aruba.platform.deprecated '@announce-modified-environment is deprecated. Use @announce-changed-environment instead'
27
-
28
- aruba.announcer.activate :changed_environment
29
- end
30
-
31
- Before('@ansi') do
32
- # rubocop:disable Metrics/LineLength
33
- 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')
34
- # rubocop:enable Metrics/LineLength
35
-
36
- aruba.config.remove_ansi_escape_sequences = false
37
- end
38
-
39
-
40
- Before '@mocked_home_directory' do
41
- Aruba.platform.deprecated('The use of "@mocked_home_directory" is deprecated. Use "@mocked-home-directory" instead')
42
-
43
- set_environment_variable 'HOME', expand_path('.')
44
- end
45
-
46
- When(/^I run "(.*)"$/)do |cmd|
47
- warn(%{\e[35m The /^I run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
48
-
49
- cmd = sanitize_text(cmd)
50
- run_command_and_stop(cmd, false)
51
- end
52
-
53
- When(/^I successfully run "(.*)"$/)do |cmd|
54
- warn(%{\e[35m The /^I successfully run "(.*)"$/ step definition is deprecated. Please use the `backticks` version\e[0m})
55
-
56
- cmd = sanitize_text(cmd)
57
- run_command_and_stop(cmd)
58
- end
59
-
60
- When(/^I run "([^"]*)" interactively$/) do |cmd|
61
- Aruba.platform.deprecated(%{\e[35m The /^I run "([^"]*)" interactively$/ step definition is deprecated. Please use the `backticks` version\e[0m})
62
-
63
- step %(I run `#{cmd}` interactively)
64
- end
65
-
66
- Given(/the default aruba timeout is (\d+) seconds/) do |seconds|
67
- # rubocop:disable Metrics/LineLength
68
- 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.})
69
- # rubocop:enable Metrics/LineLength
70
-
71
- aruba.config.exit_timeout = seconds.to_i
72
- end
73
-
74
- Given(/The default aruba timeout is (\d+) seconds/) do |seconds|
75
- # rubocop:disable Metrics/LineLength
76
- 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.})
77
- # rubocop:enable Metrics/LineLength
78
-
79
- aruba.config.exit_timeout = seconds.to_i
80
- end
81
-
82
- Then(/^the mode of filesystem object "([^"]*)" should (not )?match "([^"]*)"$/) do |file, negated, permissions|
83
- # rubocop:disable Metrics/LineLength
84
- 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')
85
- # rubocop:enable Metrics/LineLength
86
-
87
- if negated
88
- expect(file).not_to have_permissions(permissions)
89
- else
90
- expect(file).to have_permissions(permissions)
91
- end
92
- end
93
-
@@ -1,3 +0,0 @@
1
- Given(/^I'm using a clean gemset "([^"]*)"$/) do |gemset|
2
- use_clean_gemset(gemset)
3
- end
@@ -1,16 +0,0 @@
1
- require 'aruba/processes/in_process'
2
- require 'aruba/platform'
3
-
4
- Aruba.platform.deprecated('The use of "Aruba::InProcess" is deprecated. Use "Aruba::Processes::InProcess" instead.')
5
-
6
- # Aruba
7
- module Aruba
8
- # @deprecated
9
- class InProcess < Aruba::Processes::InProcess
10
- def initialize(*args)
11
- Aruba.platform.deprecated('The use of "Aruba::InProcess" is deprecated. Use "Aruba::Processes::InProcess" instead.')
12
-
13
- super
14
- end
15
- end
16
- end
data/lib/aruba/jruby.rb DELETED
@@ -1,4 +0,0 @@
1
- require 'aruba/platform'
2
- Aruba.platform.deprecated('The use of "aruba/jruby" is deprecated. Use "aruba/config/jruby" instead')
3
-
4
- require 'aruba/config/jruby'
@@ -1,17 +0,0 @@
1
- module RSpec
2
- module Matchers
3
- # rubocop:disable Style/PredicateName
4
- def have_same_file_content_like(expected)
5
- RSpec.deprecate('`have_same_file_content_like`', :replacement => '`have_same_file_content_as`')
6
-
7
- have_same_file_content_as(expected)
8
- end
9
- # rubocop:enable Style/PredicateName
10
-
11
- def a_file_with_same_content_like(expected)
12
- RSpec.deprecate('`a_file_with_same_content_like`', :replacement => '`a_file_with_same_content_as`')
13
-
14
- a_file_with_same_content_as(expected)
15
- end
16
- end
17
- end
@@ -1 +0,0 @@
1
- Aruba.platform.require_matching_files('../deprecated/**/*.rb', __FILE__)
@@ -1,41 +0,0 @@
1
- # @!method match_path_pattern(pattern)
2
- # This matchers checks if <files>/directories match <pattern>
3
- #
4
- # @param [String, Regexp] pattern
5
- # The pattern to use.
6
- #
7
- # @return [TrueClass, FalseClass] The result
8
- #
9
- # false:
10
- # * if there are no files/directories which match the pattern
11
- # true:
12
- # * if there are files/directories which match the pattern
13
- #
14
- # @example Use matcher with regex
15
- #
16
- # RSpec.describe do
17
- # it { expect(Dir.glob(**/*)).to match_file_pattern(/.txt$/) }
18
- # end
19
- #
20
- # @example Use matcher with string
21
- #
22
- # RSpec.describe do
23
- # it { expect(Dir.glob(**/*)).to match_file_pattern('.txt$') }
24
- # end
25
- RSpec::Matchers.define :match_path_pattern do |_|
26
- match do |actual|
27
- Aruba.platform.deprecated('The use of `expect().to match_path_pattern` is deprecated. Please use `expect().to include pattern /regex/` instead.')
28
-
29
- next !actual.select { |a| a == expected }.empty? if expected.is_a? String
30
-
31
- !actual.grep(expected).empty?
32
- end
33
-
34
- failure_message do |actual|
35
- format("expected that path \"%s\" matches pattern \"%s\".", actual.join(", "), expected)
36
- end
37
-
38
- failure_message_when_negated do |actual|
39
- format("expected that path \"%s\" does not match pattern \"%s\".", actual.join(", "), expected)
40
- end
41
- end
@@ -1,25 +0,0 @@
1
- # @!method include_regexp(regexp)
2
- # This matchers checks if items of an <array> matches regexp
3
- #
4
- # @param [Regexp] regexp
5
- # The regular expression to use
6
- #
7
- # @return [TrueClass, FalseClass] The result
8
- #
9
- # false:
10
- # * if regexp does not match
11
- # true:
12
- # * if regexp matches
13
- #
14
- # @example Use matcher
15
- #
16
- # RSpec.describe do
17
- # it { expect(%w(asdf qwert)).to include_regexp(/asdf/) }
18
- # end
19
- RSpec::Matchers.define :include_regexp do |expected|
20
- match do |actual|
21
- Aruba.platform.deprecated('The use of "include_regexp"-matchers is deprecated. It will be removed soon.')
22
-
23
- !actual.grep(expected).empty?
24
- end
25
- end
@@ -1,20 +0,0 @@
1
- require 'aruba/file_size'
2
-
3
- # Aruba
4
- module Aruba
5
- # Platforms
6
- module Platforms
7
- # Calculate disk usage
8
- class DiskUsageCalculator
9
- # Calc
10
- #
11
- # @param [Integer] blocks
12
- # Count of blocks
13
- # @param [Integer] block_size
14
- # The size of a single block
15
- def call(blocks, block_size)
16
- Aruba::FileSize.new(blocks * block_size)
17
- end
18
- end
19
- end
20
- end
@@ -1,126 +0,0 @@
1
- require 'fileutils'
2
-
3
- if(ENV['ARUBA_REPORT_DIR'])
4
- require 'aruba/platform'
5
- Aruba.platform.deprecated 'The use of "aruba/reporting" is deprecated. This functionality will be removed with "1.0.0"'
6
-
7
- ENV['ARUBA_REPORT_TEMPLATES'] ||= File.dirname(__FILE__) + '/../../templates'
8
-
9
- require 'fileutils'
10
- require 'erb'
11
- require 'cgi'
12
- require 'bcat/ansi'
13
- require 'rdiscount'
14
- require 'aruba/spawn_process'
15
-
16
- module Aruba
17
- module Reporting
18
- class << self
19
- def reports
20
- @reports ||= Hash.new do |hash, feature|
21
- hash[feature] = []
22
- end
23
- end
24
- end
25
-
26
- def pygmentize(file)
27
- pygmentize = Processes::SpawnProcess.new(%{pygmentize -f html -O encoding=utf-8 "#{file}"}, 3, 0.5, Dir.getwd)
28
- pygmentize.run! do |p|
29
- exit_status = p.stop(false)
30
- if(exit_status == 0)
31
- p.stdout(false)
32
- elsif(p.stderr(false) =~ /no lexer/) # Pygment's didn't recognize it
33
- IO.read(file)
34
- else
35
- STDERR.puts "\e[31m#{p.stderr} - is pygments installed?\e[0m"
36
- exit $CHILD_STATUS.exitstatus
37
- end
38
- end
39
- end
40
-
41
- def title
42
- @scenario.title
43
- end
44
-
45
- def description
46
- unescaped_description = @scenario.description.gsub(/^(\s*)\\/, '\1')
47
- markdown = RDiscount.new(unescaped_description)
48
- markdown.to_html
49
- end
50
-
51
- def commands
52
- @commands || []
53
- end
54
-
55
- def output
56
- aruba.config.keep_ansi = true # We want the output coloured!
57
- escaped_stdout = CGI.escapeHTML(all_stdout)
58
- html = Bcat::ANSI.new(escaped_stdout).to_html
59
- Bcat::ANSI::STYLES.each do |name, style|
60
- html.gsub!(/style='#{style}'/, %{class="xterm_#{name}"})
61
- end
62
- html
63
- end
64
-
65
- def report
66
- erb = ERB.new(template('main.erb'), nil, '-')
67
- erb.result(binding)
68
- end
69
-
70
- def files
71
- erb = ERB.new(template('files.erb'), nil, '-')
72
- file = current_directory
73
- erb.result(binding)
74
- end
75
-
76
- def again(erb, erbout, file)
77
- erbout.concat(erb.result(binding))
78
- end
79
-
80
- def children(dir)
81
- Dir["#{dir}/*"].sort
82
- end
83
-
84
- def template(path)
85
- IO.read(File.join(ENV['ARUBA_REPORT_TEMPLATES'], path))
86
- end
87
-
88
- def depth
89
- File.dirname(@scenario.feature.file).split('/').length
90
- end
91
-
92
- def index
93
- erb = ERB.new(template('index.erb'), nil, '-')
94
- erb.result(binding)
95
- end
96
-
97
- def index_title
98
- "Examples"
99
- end
100
- end
101
- end
102
- World(Aruba::Reporting)
103
-
104
- After do |scenario|
105
- @scenario = scenario
106
- html_file = "#{scenario.feature.file}:#{scenario.line}.html"
107
- report_file = File.join(ENV['ARUBA_REPORT_DIR'], html_file)
108
- _mkdir(File.dirname(report_file))
109
- File.open(report_file, 'w') do |io|
110
- io.write(report)
111
- end
112
-
113
- Aruba::Reporting.reports[scenario.feature] << [scenario, html_file]
114
-
115
- FileUtils.cp_r(File.join(ENV['ARUBA_REPORT_TEMPLATES'], '.'), ENV['ARUBA_REPORT_DIR'])
116
- Dir["#{ENV['ARUBA_REPORT_DIR']}/**/*.erb"].each{|f| FileUtils.rm(f)}
117
- end
118
-
119
- at_exit do
120
- index_file = File.join(ENV['ARUBA_REPORT_DIR'], "index.html")
121
- extend(Aruba::Reporting)
122
- File.open(index_file, 'w') do |io|
123
- io.write(index)
124
- end
125
- end
126
- end
@@ -1,14 +0,0 @@
1
- require 'aruba/processes/spawn_process'
2
- require 'aruba/platform'
3
-
4
- Aruba.platform.deprecated('The use of "Aruba::SpawnProcess" is deprecated. Use "Aruba::Processes::SpawnProcess" instead.')
5
-
6
- module Aruba
7
- class SpawnProcess < Aruba::Processes::SpawnProcess
8
- def initialize(*args)
9
- Aruba.platform.deprecated('The use of "Aruba::SpawnProcess" is deprecated. Use "Aruba::Processes::SpawnProcess" instead.')
10
-
11
- super
12
- end
13
- end
14
- end
data/script/bootstrap DELETED
@@ -1,24 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- info_msg="\e[0;32m[INFO]\e[0;30m"
6
- error_msg="\e[0;31mFAILED\e[0;30m"
7
-
8
- function output_error_log {
9
- [[ -f error.log ]] && ( cat error.log >&2; rm error.log)
10
- }
11
-
12
- echo -ne "$info_msg Checking if ruby installed? "
13
- which 'ruby' >/dev/null 2>error.log || ( echo -e "$error_msg\n\nCould not find \`ruby\`. Please install ruby or add it to PATH"; output_error_log; exit 1 )
14
- echo OK
15
-
16
- echo -ne "$info_msg Checking if bash installed? "
17
- which 'bash' >/dev/null 2>error.log || ( echo -e "$error_msg\n\nCould not find \`bash\`. Please install bash or add it to PATH"; output_error_log; exit 1 )
18
- echo OK
19
-
20
- echo -e "$info_msg rubygem \"bundler\" "
21
- which bundle > /dev/null || gem install bundler --version '~> 1.17.3'
22
-
23
- echo -e "$info_msg \"bundle install\" "
24
- bundle install $*
data/script/console DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
-
5
- require 'pry'
6
-
7
- require 'aruba/api'
8
-
9
- module Aruba
10
- class MyConsole
11
- include Aruba::Api
12
- end
13
- end
14
-
15
- include Aruba
16
- Pry.start MyConsole.new
data/script/test DELETED
@@ -1,3 +0,0 @@
1
- #!/bin/sh
2
-
3
- bundle exec rake test $*
@@ -1,15 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/api'
3
-
4
- RSpec.describe Aruba::Api::Bundler do
5
- include_context 'uses aruba API'
6
-
7
- describe '#unset_bundler_env_vars' do
8
- it "sets up Aruba's environment to clear Bundler's variables" do
9
- @aruba.unset_bundler_env_vars
10
-
11
- expect(@aruba.aruba.environment['BUNDLE_PATH']).to be_nil
12
- expect(@aruba.aruba.environment['BUNDLE_GEMFILE']).to be_nil
13
- end
14
- end
15
- end
@@ -1,30 +0,0 @@
1
- require 'spec_helper'
2
- require 'aruba/api'
3
-
4
- RSpec.describe Aruba::Api::Commands do
5
- include_context 'uses aruba API'
6
-
7
- describe '#run_command' do
8
- before(:each){ @aruba.run_command 'cat' }
9
- after(:each) { @aruba.all_commands.each(&:stop) }
10
-
11
- it "responds to input" do
12
- @aruba.type "Hello"
13
- @aruba.type ""
14
- expect(@aruba.last_command_started).to have_output "Hello"
15
- end
16
-
17
- it "responds to close_input" do
18
- @aruba.type "Hello"
19
- @aruba.close_input
20
- expect(@aruba.last_command_started).to have_output "Hello"
21
- end
22
-
23
- it "pipes data" do
24
- @aruba.write_file(@file_name, "Hello\nWorld!")
25
- @aruba.pipe_in_file(@file_name)
26
- @aruba.close_input
27
- expect(@aruba.last_command_started).to have_output "Hello\nWorld!"
28
- end
29
- end
30
- end