aruba 0.14.10 → 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 -25
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +585 -248
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -106
  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 +42 -2
  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 +136 -95
  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 +42 -79
  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 +12 -104
  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 +20 -51
  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 +28 -30
  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 +40 -41
  115. data/lib/aruba/rspec.rb +14 -36
  116. data/lib/aruba/runtime.rb +3 -6
  117. data/lib/aruba/setup.rb +6 -6
  118. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  119. data/lib/aruba/version.rb +1 -1
  120. metadata +190 -236
  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 -263
  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 -92
  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 -52
  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/jruby.rb +0 -5
  226. data/features/support/simplecov_setup.rb +0 -11
  227. data/fixtures/spawn_process/stderr.sh +0 -3
  228. data/lib/aruba/api/deprecated.rb +0 -1163
  229. data/lib/aruba/config.rb +0 -107
  230. data/lib/aruba/cucumber/core.rb +0 -5
  231. data/lib/aruba/cucumber/deprecated.rb +0 -93
  232. data/lib/aruba/cucumber/rvm.rb +0 -3
  233. data/lib/aruba/in_process.rb +0 -16
  234. data/lib/aruba/jruby.rb +0 -4
  235. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  236. data/lib/aruba/matchers/deprecated.rb +0 -1
  237. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  238. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  239. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  240. data/lib/aruba/reporting.rb +0 -126
  241. data/lib/aruba/spawn_process.rb +0 -14
  242. data/script/bootstrap +0 -24
  243. data/script/console +0 -16
  244. data/script/test +0 -3
  245. data/spec/aruba/api/bundler_spec.rb +0 -15
  246. data/spec/aruba/api/core_spec.rb +0 -142
  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 -97
  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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aac7113c05858afc5a48b644bdb6e29427357319e13d6b7c5fb0c2a4d5afef4b
4
- data.tar.gz: 463b5d14a0f1c0a2cbab30a5f51ab188916e077e8e00364d635353cdcb9346af
3
+ metadata.gz: 63d0e00b28a69fa235c0586425c501669cb313ce3dae63a76a33386eb358085e
4
+ data.tar.gz: be16476fe85c35d571574194c46c426cbb5805fff5fe2277b04b3f32f7098dc8
5
5
  SHA512:
6
- metadata.gz: e525789f39d2f6cb13f178a174eae0c55a02ea8b8487353da9f075cc7dcab54498638ea101a7727bb9c87265d1232f711d9294988c81eb0de71408fa26113dde
7
- data.tar.gz: 9604df096eb13935a3fe24114c9c381dc8cd0f3f749b01bcdde73e315dd1d8d23ba0dd819c0277517974b0a588788b787f9b648131a1a257a5cc954aea7ef966
6
+ metadata.gz: 77fcdcd8b492e23fc72be16b48dd9913a3e7615ade362006cff3754661c0176c4483ce9d78ac7aa9d0c4da08ff1ae2c4f741b0f80ff93a221b10f7f2806b7c5f
7
+ data.tar.gz: 1d8f1f0f2879f5fef29c3baeee8d2041cd2d130e8cdfed5e77dac075960c0fd6ee0c813f6be1400e176b3a6846819946f1e5b56a02be2933b1e1b7682c313102
@@ -0,0 +1,3 @@
1
+ /
2
+ !features/
3
+ features/04_aruba_api/command/run_simple.feature
@@ -0,0 +1,48 @@
1
+ <!-- These sections are meant as guidance for you, to help you give the kind of information we'll need to help with your issue. If a section doesn't seem to fit, just skip it.
2
+
3
+ In general: Please provide as much information as you can to help us solving your problem -->
4
+
5
+ ## Summary
6
+
7
+ <!--- Provide a general summary description of the issue -->
8
+
9
+ ## Expected Behavior
10
+
11
+ <!--- If you're describing a bug, tell us what should happen -->
12
+ <!--- If you're suggesting a change/improvement, tell us how it should work -->
13
+ <!--- Feel free to use Given / Then / Then if that helps, but please add some plain-language context too -->
14
+
15
+ ## Current Behavior
16
+
17
+ <!--- If describing a bug, tell us what happens instead of the expected behavior -->
18
+ <!--- If suggesting a change/improvement, explain the difference from current behavior -->
19
+
20
+ <!--- If you have got some output place it in the code block below. Otherwise remove it. -->
21
+ ~~~
22
+ ~~~
23
+
24
+ ## Possible Solution
25
+
26
+ <!--- Not obligatory, but suggest a fix/reason for the bug, -->
27
+ <!--- or ideas how to implement the addition or change -->
28
+
29
+ ## Steps to Reproduce (for bugs)
30
+
31
+ <!--- Provide a link to a live example, or an unambiguous set of steps to -->
32
+ <!--- reproduce this bug. Include code to reproduce, if relevant -->
33
+ 1.
34
+ 2.
35
+ 3.
36
+ 4.
37
+
38
+ ## Context & Motivation
39
+
40
+ <!--- How has this issue affected you? What are you trying to accomplish? -->
41
+ <!--- Providing context helps us come up with a solution that is most useful in the real world -->
42
+
43
+ ## Your Environment
44
+
45
+ <!--- If you're reporting a bug, include as many relevant details about the environment you experienced the bug in -->
46
+ * Version used:
47
+ * Operating System and version:
48
+ * Link to your project:
@@ -0,0 +1,41 @@
1
+ <!-- These sections are meant as guidance for you. If something doesn't fit, you can just skip it. -->
2
+
3
+ ## Summary
4
+
5
+ <!--- Provide a general summary description of your changes -->
6
+
7
+ ## Details
8
+
9
+ <!--- Describe your changes in detail -->
10
+
11
+ ## Motivation and Context
12
+
13
+ <!--- Why is this change required? What problem does it solve? -->
14
+ <!--- If it fixes an open issue, please link to the issue here. -->
15
+
16
+ ## How Has This Been Tested?
17
+
18
+ <!--- Please add tests for changes to the code, otherwise we probably won't merge it -->
19
+
20
+ <!--- Please describe in detail how you tested your changes. -->
21
+ <!--- Include details of your testing environment, tests ran to see how -->
22
+ <!--- your change affects other areas of the code, etc. -->
23
+
24
+ ## Screenshots (if appropriate):
25
+
26
+ ## Types of changes
27
+
28
+ <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
29
+ - [ ] Bug fix (non-breaking change which fixes an issue)
30
+ - [ ] New feature (non-breaking change which adds functionality)
31
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
32
+ - [ ] Refactoring (cleanup of codebase without changing any existing functionality)
33
+ - [ ] Update documentation
34
+
35
+ ## Checklist:
36
+
37
+ <!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
38
+ <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
39
+ - [ ] I've added tests for my code
40
+ - [ ] My change requires a change to the documentation.
41
+ - [ ] I have updated the documentation accordingly.
data/.gitignore CHANGED
@@ -28,6 +28,7 @@ tmp
28
28
  .bundle
29
29
  doc
30
30
  Gemfile.lock
31
+ Gemfile.local
31
32
  cucumber-pro.log
32
33
 
33
34
  ## Ruby versioniser
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
1
  --color
2
- --format Fuubar
3
2
  --order random
3
+ --warnings
data/.rubocop.yml CHANGED
@@ -1,192 +1,31 @@
1
+ require:
2
+ - rubocop-performance
3
+
1
4
  AllCops:
2
5
  Exclude:
3
6
  - tmp/**/*
4
- - vendor/bundle/**/*
7
+ - vendor/**/*
5
8
  DisplayCopNames: true
9
+ TargetRubyVersion: 2.4
6
10
 
7
- # Cop supports --auto-correct.
8
- # Configuration parameters: SupportedStyles.
9
- Style/HashSyntax:
10
- Enabled: false
11
-
12
- Metrics/ModuleLength:
13
- Exclude:
14
- - lib/aruba/api.rb
15
- - lib/aruba/api/*.rb
16
- - lib/aruba/platform.rb
17
-
18
- Metrics/AbcSize:
19
- Enabled: false
20
-
21
- Lint/AmbiguousRegexpLiteral:
22
- Enabled: false
23
-
24
- # Cop supports --auto-correct.
25
- Lint/RescueException:
26
- Enabled: false
27
-
28
- # Cop supports --auto-correct.
29
- Lint/UnusedBlockArgument:
30
- Enabled: false
31
-
32
- # Cop supports --auto-correct.
33
- Lint/UnusedMethodArgument:
34
- Enabled: false
35
-
36
- Lint/UselessAssignment:
37
- Enabled: false
38
-
39
- # Configuration parameters: AllowURI.
40
- Metrics/LineLength:
41
- Max: 169
42
- Exclude:
43
- - lib/aruba/api.rb
44
- - aruba.gemspec
45
-
46
- # Configuration parameters: CountComments.
47
- Metrics/MethodLength:
48
- Max: 18
49
-
50
- # Cop supports --auto-correct.
51
- # Configuration parameters: EnforcedStyle, SupportedStyles.
52
- Style/AlignParameters:
53
- Enabled: false
54
-
55
- Style/CaseEquality:
56
- Enabled: false
57
-
58
- # Cop supports --auto-correct.
59
- Style/CharacterLiteral:
60
- Enabled: false
61
-
62
- # Cop supports --auto-correct.
63
- # Configuration parameters: EnforcedStyle, SupportedStyles.
64
- Style/ClassCheck:
65
- Enabled: false
66
-
67
- Style/ClassVars:
68
- Enabled: false
69
-
70
- Metrics/ClassLength:
71
- Enabled: false
72
-
73
- # Cop supports --auto-correct.
74
- # Configuration parameters: PreferredMethods.
75
- Style/CollectionMethods:
76
- Enabled: false
77
-
78
- Style/Documentation:
79
- Enabled: false
80
-
81
- Style/DotPosition:
82
- EnforcedStyle: trailing
83
-
84
- # Configuration parameters: MinBodyLength.
85
- Style/GuardClause:
86
- Enabled: false
87
-
88
- # Configuration parameters: MaxLineLength.
89
- Style/IfUnlessModifier:
90
- Enabled: false
91
-
92
- Style/Lambda:
93
- Enabled: false
94
-
95
- # Cop supports --auto-correct.
96
- Style/LeadingCommentSpace:
97
- Enabled: false
98
-
99
- # Cop supports --auto-correct.
100
- # Configuration parameters: PreferredDelimiters.
11
+ # Use older RuboCop default
101
12
  Style/PercentLiteralDelimiters:
102
- Enabled: false
103
-
104
- Metrics/PerceivedComplexity:
105
- Enabled: false
106
-
107
- # Configuration parameters: SupportedStyles.
108
- Style/RaiseArgs:
109
- # EnforcedStyle: compact
110
- Enabled: false
111
-
112
- # Cop supports --auto-correct.
113
- Style/RedundantSelf:
114
- Enabled: false
115
-
116
- # Configuration parameters: MaxSlashes.
117
- Style/RegexpLiteral:
118
- Enabled: false
119
-
120
- # Cop supports --auto-correct.
121
- # Configuration parameters: AllowAsExpressionSeparator.
122
- Style/Semicolon:
123
- Enabled: false
124
-
125
- # Cop supports --auto-correct.
126
- # Configuration parameters: EnforcedStyle, SupportedStyles.
127
- Style/SignalException:
128
- Enabled: false
129
-
130
- # Configuration parameters: Methods.
131
- Style/SingleLineBlockParams:
132
- Enabled: false
133
-
134
- # Cop supports --auto-correct.
135
- Style/SpaceBeforeFirstArg:
136
- Enabled: false
137
-
138
- # Cop supports --auto-correct.
139
- Style/SpaceAfterComma:
140
- Enabled: false
141
-
142
- # Cop supports --auto-correct.
143
- Style/SpaceAroundKeyword:
144
- Enabled: false
13
+ PreferredDelimiters:
14
+ '%w': ()
145
15
 
146
- # Cop supports --auto-correct.
147
- Style/SpaceAfterNot:
148
- Enabled: false
149
-
150
- # Cop supports --auto-correct.
151
- # Configuration parameters: EnforcedStyle, SupportedStyles.
152
- Style/SpaceBeforeBlockBraces:
153
- Enabled: false
154
-
155
- # Cop supports --auto-correct.
156
- Style/SpaceBeforeComma:
16
+ # Code is currently broken with frozen string literal comments applied.
17
+ # TODO: Enable and fix build
18
+ Style/FrozenStringLiteralComment:
157
19
  Enabled: false
158
20
 
21
+ # TODO: This is placed in here so the auto-gen-config doesn't destroy these.
22
+ # Most of these need to be manually tackled, the LineLength value currently is good enough to stop most of
23
+ # these leaking through into the codebase
24
+ # Offense count: 375+
159
25
  # Cop supports --auto-correct.
160
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
161
- Style/SpaceInsideBlockBraces:
162
- Enabled: false
163
-
164
- # Cop supports --auto-correct.
165
- Style/SpaceInsideBrackets:
166
- Enabled: false
167
-
168
- # Cop supports --auto-correct.
169
- Style/SpaceInsideParens:
170
- Enabled: false
26
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
27
+ # URISchemes: http, https
28
+ Layout/LineLength:
29
+ Max: 150
171
30
 
172
- # Cop supports --auto-correct.
173
- # Configuration parameters: EnforcedStyle, SupportedStyles.
174
- Style/StringLiterals:
175
- Enabled: false
176
-
177
- # Cop supports --auto-correct.
178
- # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, Whitelist.
179
- Style/TrivialAccessors:
180
- Enabled: false
181
-
182
- Style/RaiseArgs:
183
- Enabled: false
184
-
185
- Metrics/ParameterLists:
186
- Enabled: false
187
-
188
- Style/IfInsideElse:
189
- Enabled: false
190
-
191
- Style/IdenticalConditionalBranches:
192
- Enabled: false
31
+ inherit_from: .rubocop_todo.yml
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,262 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2020-01-01 19:49:41 +0100 using RuboCop version 0.78.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 7
10
+ Lint/AmbiguousBlockAssociation:
11
+ Exclude:
12
+ - 'lib/aruba/platforms/announcer.rb'
13
+
14
+ # Offense count: 12
15
+ Lint/AmbiguousRegexpLiteral:
16
+ Exclude:
17
+ - 'lib/aruba/cucumber/testing_frameworks.rb'
18
+
19
+ # Offense count: 2
20
+ # Configuration parameters: CheckForMethodsWithNoSideEffects.
21
+ Lint/Void:
22
+ Exclude:
23
+ - 'lib/aruba/platforms/announcer.rb'
24
+ - 'lib/aruba/platforms/unix_environment_variables.rb'
25
+
26
+ # Offense count: 29
27
+ Metrics/AbcSize:
28
+ Max: 116
29
+
30
+ # Offense count: 72
31
+ # Configuration parameters: CountComments, ExcludedMethods.
32
+ # ExcludedMethods: refine
33
+ Metrics/BlockLength:
34
+ Max: 587
35
+
36
+ # Offense count: 2
37
+ # Configuration parameters: CountComments.
38
+ Metrics/ClassLength:
39
+ Max: 145
40
+
41
+ # Offense count: 20
42
+ # Configuration parameters: CountComments, ExcludedMethods.
43
+ Metrics/MethodLength:
44
+ Max: 22
45
+
46
+ # Offense count: 2
47
+ # Configuration parameters: CountComments.
48
+ Metrics/ModuleLength:
49
+ Max: 175
50
+
51
+ # Offense count: 3
52
+ # Configuration parameters: CountKeywordArgs.
53
+ Metrics/ParameterLists:
54
+ Max: 8
55
+
56
+ # Offense count: 4
57
+ Metrics/PerceivedComplexity:
58
+ Max: 10
59
+
60
+ # Offense count: 1
61
+ Naming/ConstantName:
62
+ Exclude:
63
+ - 'lib/aruba/platform.rb'
64
+
65
+ # Offense count: 5
66
+ # Configuration parameters: ForbiddenDelimiters.
67
+ # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
68
+ Naming/HeredocDelimiterNaming:
69
+ Exclude:
70
+ - 'lib/aruba/initializer.rb'
71
+
72
+ # Offense count: 1
73
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
74
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
75
+ Naming/MemoizedInstanceVariableName:
76
+ Exclude:
77
+ - 'lib/aruba/api/core.rb'
78
+
79
+ # Offense count: 16
80
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
81
+ # AllowedNames: io, id, to, by, on, in, at, ip, db, os
82
+ Naming/MethodParameterName:
83
+ Exclude:
84
+ - 'lib/aruba/aruba_path.rb'
85
+ - 'lib/aruba/config_wrapper.rb'
86
+ - 'lib/aruba/matchers/base/object_formatter.rb'
87
+ - 'lib/aruba/platforms/announcer.rb'
88
+ - 'lib/aruba/platforms/aruba_logger.rb'
89
+ - 'lib/aruba/platforms/unix_platform.rb'
90
+ - 'lib/aruba/tasks/docker_helpers.rb'
91
+
92
+ # Offense count: 1
93
+ Performance/Caller:
94
+ Exclude:
95
+ - 'lib/aruba/platforms/unix_platform.rb'
96
+
97
+ # Offense count: 2
98
+ Security/Open:
99
+ Exclude:
100
+ - 'lib/aruba/processes/spawn_process.rb'
101
+
102
+ # Offense count: 3
103
+ # Configuration parameters: EnforcedStyle.
104
+ # SupportedStyles: inline, group
105
+ Style/AccessModifierDeclarations:
106
+ Exclude:
107
+ - 'lib/aruba/in_config_wrapper.rb'
108
+ - 'lib/aruba/matchers/base/base_matcher.rb'
109
+ - 'lib/aruba/matchers/collection/all.rb'
110
+
111
+ # Offense count: 3
112
+ Style/CaseEquality:
113
+ Exclude:
114
+ - 'lib/aruba/matchers/base/object_formatter.rb'
115
+
116
+ # Offense count: 1
117
+ # Cop supports --auto-correct.
118
+ Style/CharacterLiteral:
119
+ Exclude:
120
+ - 'spec/support/shared_contexts/aruba.rb'
121
+
122
+ # Offense count: 4
123
+ # Cop supports --auto-correct.
124
+ # Configuration parameters: EnforcedStyle.
125
+ # SupportedStyles: is_a?, kind_of?
126
+ Style/ClassCheck:
127
+ Exclude:
128
+ - 'lib/aruba/api/filesystem.rb'
129
+
130
+ # Offense count: 1
131
+ Style/CommentedKeyword:
132
+ Exclude:
133
+ - 'spec/aruba/api_spec.rb'
134
+
135
+ # Offense count: 12
136
+ Style/Documentation:
137
+ Exclude:
138
+ - 'spec/**/*'
139
+ - 'test/**/*'
140
+ - 'fixtures/cli-app/lib/cli/app.rb'
141
+ - 'fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb'
142
+ - 'fixtures/empty-app/lib/cli/app.rb'
143
+ - 'lib/aruba/api/bundler.rb'
144
+ - 'lib/aruba/matchers/collection/include_an_object.rb'
145
+ - 'lib/aruba/platforms/command_monitor.rb'
146
+ - 'lib/aruba/setup.rb'
147
+ - 'lib/aruba/tasks/docker_helpers.rb'
148
+
149
+ # Offense count: 1
150
+ Style/EvalWithLocation:
151
+ Exclude:
152
+ - 'spec/support/helpers/reporting.rb'
153
+
154
+ # Offense count: 84
155
+ # Configuration parameters: EnforcedStyle.
156
+ # SupportedStyles: annotated, template, unannotated
157
+ Style/FormatStringToken:
158
+ Enabled: false
159
+
160
+ # Offense count: 2
161
+ Style/IdenticalConditionalBranches:
162
+ Exclude:
163
+ - 'lib/aruba/hooks.rb'
164
+
165
+ # Offense count: 7
166
+ # Cop supports --auto-correct.
167
+ Style/IfUnlessModifier:
168
+ Exclude:
169
+ - 'lib/aruba/cucumber/command.rb'
170
+ - 'lib/aruba/matchers/collection/include_an_object.rb'
171
+ - 'lib/aruba/platforms/unix_environment_variables.rb'
172
+ - 'lib/aruba/setup.rb'
173
+ - 'spec/aruba/platform/windows_environment_variables_spec.rb'
174
+
175
+ # Offense count: 2
176
+ # Cop supports --auto-correct.
177
+ # Configuration parameters: EnforcedStyle.
178
+ # SupportedStyles: line_count_dependent, lambda, literal
179
+ Style/Lambda:
180
+ Exclude:
181
+ - 'spec/aruba/hooks_spec.rb'
182
+
183
+ # Offense count: 5
184
+ Style/MethodMissingSuper:
185
+ Exclude:
186
+ - 'lib/aruba/config_wrapper.rb'
187
+ - 'lib/aruba/in_config_wrapper.rb'
188
+ - 'lib/aruba/platforms/command_monitor.rb'
189
+ - 'lib/aruba/tasks/docker_helpers.rb'
190
+
191
+ # Offense count: 4
192
+ # Cop supports --auto-correct.
193
+ # Configuration parameters: AllowedMethods.
194
+ # AllowedMethods: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with
195
+ Style/NestedParenthesizedCalls:
196
+ Exclude:
197
+ - 'spec/aruba/matchers/collection_spec.rb'
198
+
199
+ # Offense count: 1
200
+ # Cop supports --auto-correct.
201
+ # Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
202
+ # SupportedStyles: predicate, comparison
203
+ Style/NumericPredicate:
204
+ Exclude:
205
+ - 'spec/**/*'
206
+ - 'lib/aruba/contracts/is_power_of_two.rb'
207
+
208
+ # Offense count: 3
209
+ # Cop supports --auto-correct.
210
+ # Configuration parameters: PreferredDelimiters.
211
+ Style/PercentLiteralDelimiters:
212
+ Exclude:
213
+ - 'Rakefile'
214
+ - 'lib/aruba/api/bundler.rb'
215
+
216
+ # Offense count: 2
217
+ # Cop supports --auto-correct.
218
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
219
+ # SupportedStyles: slashes, percent_r, mixed
220
+ Style/RegexpLiteral:
221
+ Exclude:
222
+ - 'lib/aruba/cucumber/command.rb'
223
+ - 'lib/aruba/cucumber/file.rb'
224
+
225
+ # Offense count: 4
226
+ # Cop supports --auto-correct.
227
+ # Configuration parameters: EnforcedStyle.
228
+ # SupportedStyles: implicit, explicit
229
+ Style/RescueStandardError:
230
+ Exclude:
231
+ - 'lib/aruba/contracts/absolute_path.rb'
232
+ - 'lib/aruba/contracts/is_power_of_two.rb'
233
+ - 'lib/aruba/contracts/relative_path.rb'
234
+ - 'lib/aruba/event_bus/name_resolver.rb'
235
+
236
+ # Offense count: 1
237
+ # Cop supports --auto-correct.
238
+ # Configuration parameters: AllowAsExpressionSeparator.
239
+ Style/Semicolon:
240
+ Exclude:
241
+ - 'lib/aruba/platforms/aruba_fixed_size_file_creator.rb'
242
+
243
+ # Offense count: 40
244
+ # Cop supports --auto-correct.
245
+ # Configuration parameters: EnforcedStyle.
246
+ # SupportedStyles: only_raise, only_fail, semantic
247
+ Style/SignalException:
248
+ Enabled: false
249
+
250
+ # Offense count: 2
251
+ # Cop supports --auto-correct.
252
+ Style/StderrPuts:
253
+ Exclude:
254
+ - 'Rakefile'
255
+ - 'lib/aruba/initializer.rb'
256
+
257
+ # Offense count: 6
258
+ # Cop supports --auto-correct.
259
+ # Configuration parameters: MinSize.
260
+ # SupportedStyles: percent, brackets
261
+ Style/SymbolArray:
262
+ EnforcedStyle: brackets
data/.simplecov CHANGED
@@ -1,10 +1,9 @@
1
- # Run simplecov by default
2
- SimpleCov.start unless ENV.key? 'ARUBA_NO_COVERAGE'
3
-
4
1
  SimpleCov.configure do
2
+ # Activate branch coverage
3
+ enable_coverage :branch
4
+
5
5
  # ignore this file
6
6
  add_filter '.simplecov'
7
- add_filter 'spec'
8
7
  add_filter 'features'
9
8
 
10
9
  # Rake tasks aren't tested with rspec
@@ -30,5 +29,8 @@ SimpleCov.configure do
30
29
 
31
30
  # Specs are reported on to ensure that all examples are being run and all
32
31
  # lets, befores, afters, etc are being used.
33
- add_group 'Specs', 'spec'
32
+ add_group 'Specs', 'spec/'
34
33
  end
34
+
35
+ # Run simplecov by default
36
+ SimpleCov.start unless ENV.key? 'ARUBA_NO_COVERAGE'