aruba 0.14.9 → 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 (309) 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 -179
  8. data/.rubocop_todo.yml +262 -0
  9. data/.simplecov +7 -5
  10. data/.travis.yml +54 -46
  11. data/.yardopts +3 -0
  12. data/CHANGELOG.md +613 -246
  13. data/CONTRIBUTING.md +247 -45
  14. data/Dockerfile +67 -0
  15. data/Gemfile +5 -96
  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 +6 -0
  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 -6
  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/empty-app/lib/cli/app.rb +0 -6
  40. data/fixtures/getting-started-app/Gemfile +1 -1
  41. data/lib/aruba/api/commands.rb +109 -143
  42. data/lib/aruba/api/core.rb +57 -43
  43. data/lib/aruba/api/environment.rb +16 -7
  44. data/lib/aruba/api/filesystem.rb +42 -29
  45. data/lib/aruba/api/text.rb +3 -9
  46. data/lib/aruba/api.rb +6 -11
  47. data/lib/aruba/aruba_path.rb +27 -89
  48. data/lib/aruba/basic_configuration.rb +4 -24
  49. data/lib/aruba/cli.rb +1 -1
  50. data/lib/aruba/colorizer.rb +10 -99
  51. data/lib/aruba/command.rb +2 -0
  52. data/lib/aruba/config/jruby.rb +15 -5
  53. data/lib/aruba/config_wrapper.rb +1 -1
  54. data/lib/aruba/configuration.rb +92 -0
  55. data/lib/aruba/console/help.rb +1 -7
  56. data/lib/aruba/console.rb +5 -5
  57. data/lib/aruba/contracts/absolute_path.rb +2 -2
  58. data/lib/aruba/contracts/relative_path.rb +2 -2
  59. data/lib/aruba/cucumber/command.rb +171 -160
  60. data/lib/aruba/cucumber/environment.rb +1 -1
  61. data/lib/aruba/cucumber/file.rb +21 -35
  62. data/lib/aruba/cucumber/hooks.rb +17 -56
  63. data/lib/aruba/cucumber/testing_frameworks.rb +74 -50
  64. data/lib/aruba/cucumber.rb +0 -5
  65. data/lib/aruba/event_bus/name_resolver.rb +5 -16
  66. data/lib/aruba/hooks.rb +1 -1
  67. data/lib/aruba/in_config_wrapper.rb +5 -1
  68. data/lib/aruba/initializer.rb +36 -42
  69. data/lib/aruba/matchers/base/base_matcher.rb +2 -2
  70. data/lib/aruba/matchers/base/message_indenter.rb +19 -0
  71. data/lib/aruba/matchers/base/object_formatter.rb +2 -9
  72. data/lib/aruba/matchers/collection/include_an_object.rb +7 -9
  73. data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
  74. data/lib/aruba/matchers/command/have_exit_status.rb +14 -4
  75. data/lib/aruba/matchers/command/have_finished_in_time.rb +3 -5
  76. data/lib/aruba/matchers/command/have_output.rb +10 -5
  77. data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -2
  78. data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -2
  79. data/lib/aruba/matchers/command/have_output_size.rb +2 -2
  80. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +5 -7
  81. data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -6
  82. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +2 -4
  83. data/lib/aruba/matchers/file/be_an_existing_executable.rb +4 -6
  84. data/lib/aruba/matchers/file/be_an_existing_file.rb +5 -7
  85. data/lib/aruba/matchers/file/have_file_content.rb +4 -4
  86. data/lib/aruba/matchers/file/have_file_size.rb +6 -8
  87. data/lib/aruba/matchers/file/have_same_file_content.rb +5 -8
  88. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -4
  89. data/lib/aruba/matchers/path/be_an_absolute_path.rb +3 -5
  90. data/lib/aruba/matchers/path/be_an_existing_path.rb +4 -6
  91. data/lib/aruba/matchers/path/have_permissions.rb +6 -8
  92. data/lib/aruba/matchers/string/include_output_string.rb +8 -10
  93. data/lib/aruba/matchers/string/match_output_string.rb +9 -11
  94. data/lib/aruba/matchers/string/output_string_eq.rb +7 -9
  95. data/lib/aruba/platform.rb +0 -8
  96. data/lib/aruba/platforms/announcer.rb +42 -79
  97. data/lib/aruba/platforms/aruba_file_creator.rb +2 -6
  98. data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +2 -2
  99. data/lib/aruba/platforms/aruba_logger.rb +23 -7
  100. data/lib/aruba/platforms/command_monitor.rb +12 -107
  101. data/lib/aruba/platforms/determine_disk_usage.rb +56 -14
  102. data/lib/aruba/platforms/filesystem_status.rb +10 -14
  103. data/lib/aruba/platforms/local_environment.rb +2 -2
  104. data/lib/aruba/platforms/simple_table.rb +3 -11
  105. data/lib/aruba/platforms/unix_command_string.rb +7 -11
  106. data/lib/aruba/platforms/unix_environment_variables.rb +18 -27
  107. data/lib/aruba/platforms/unix_platform.rb +20 -51
  108. data/lib/aruba/platforms/unix_which.rb +2 -1
  109. data/lib/aruba/platforms/windows_command_string.rb +15 -10
  110. data/lib/aruba/platforms/windows_environment_variables.rb +43 -44
  111. data/lib/aruba/platforms/windows_platform.rb +4 -0
  112. data/lib/aruba/platforms/windows_which.rb +4 -3
  113. data/lib/aruba/processes/basic_process.rb +28 -30
  114. data/lib/aruba/processes/debug_process.rb +12 -3
  115. data/lib/aruba/processes/in_process.rb +17 -8
  116. data/lib/aruba/processes/spawn_process.rb +57 -46
  117. data/lib/aruba/rspec.rb +14 -36
  118. data/lib/aruba/runtime.rb +3 -6
  119. data/lib/aruba/setup.rb +6 -6
  120. data/lib/aruba/tasks/docker_helpers.rb +154 -0
  121. data/lib/aruba/version.rb +1 -1
  122. metadata +191 -244
  123. data/features/.nav +0 -72
  124. data/features/api/command/find_command.feature +0 -83
  125. data/features/api/command/last_command_started.feature +0 -50
  126. data/features/api/command/last_command_stopped.feature +0 -89
  127. data/features/api/command/run.feature +0 -414
  128. data/features/api/command/run_simple.feature +0 -242
  129. data/features/api/command/send_signal.feature +0 -53
  130. data/features/api/command/stderr.feature +0 -46
  131. data/features/api/command/stdout.feature +0 -46
  132. data/features/api/command/stop.feature +0 -131
  133. data/features/api/command/stop_all_commands.feature +0 -53
  134. data/features/api/command/terminate_all_commands.feature +0 -53
  135. data/features/api/command/which.feature +0 -37
  136. data/features/api/core/expand_path.feature +0 -88
  137. data/features/api/environment/append_environment_variable.feature +0 -128
  138. data/features/api/environment/delete_environment_variable.feature +0 -63
  139. data/features/api/environment/prepend_environment_variable.feature +0 -128
  140. data/features/api/environment/set_environment_variable.feature +0 -376
  141. data/features/api/filesystem/cd.feature +0 -184
  142. data/features/api/filesystem/create_directory.feature +0 -57
  143. data/features/api/filesystem/disk_usage.feature +0 -152
  144. data/features/api/filesystem/does_exist.feature +0 -62
  145. data/features/api/filesystem/fixtures.feature +0 -104
  146. data/features/api/filesystem/is_absolute.feature +0 -48
  147. data/features/api/filesystem/is_directory.feature +0 -53
  148. data/features/api/filesystem/is_file.feature +0 -54
  149. data/features/api/filesystem/is_relative.feature +0 -48
  150. data/features/api/filesystem/move.feature +0 -119
  151. data/features/api/text/extract_text.feature +0 -87
  152. data/features/api/text/replace_variables.feature +0 -45
  153. data/features/api/text/sanitize_text.feature +0 -228
  154. data/features/api/text/unescape_text.feature +0 -127
  155. data/features/cli/console.feature +0 -52
  156. data/features/cli/init.feature +0 -79
  157. data/features/configuration/activate_announcer_on_command_failure.feature +0 -38
  158. data/features/configuration/command_runtime_environment.feature +0 -129
  159. data/features/configuration/console_history_file.feature +0 -38
  160. data/features/configuration/exit_timeout.feature +0 -52
  161. data/features/configuration/fixtures_directories.feature +0 -38
  162. data/features/configuration/fixtures_path_prefix.feature +0 -23
  163. data/features/configuration/home_directory.feature +0 -80
  164. data/features/configuration/io_timeout.feature +0 -30
  165. data/features/configuration/keep_ansi.feature +0 -30
  166. data/features/configuration/log_level.feature +0 -38
  167. data/features/configuration/physical_block_size.feature +0 -53
  168. data/features/configuration/remove_ansi_escape_sequences.feature +0 -38
  169. data/features/configuration/root_directory.feature +0 -30
  170. data/features/configuration/startup_wait_time.feature +0 -48
  171. data/features/configuration/usage.feature +0 -159
  172. data/features/configuration/working_directory.feature +0 -33
  173. data/features/development/build.feature +0 -15
  174. data/features/getting_started/cleanup.feature +0 -58
  175. data/features/getting_started/run_commands.feature +0 -187
  176. data/features/getting_started/supported_testing_frameworks.feature +0 -104
  177. data/features/getting_started/writing_good_feature_tests.feature +0 -38
  178. data/features/hooks/after/command.feature +0 -46
  179. data/features/hooks/before/command.feature +0 -75
  180. data/features/matchers/collection/include_an_object.feature +0 -72
  181. data/features/matchers/directory/have_sub_directory.feature +0 -110
  182. data/features/matchers/file/be_a_command_found_in_path.feature +0 -115
  183. data/features/matchers/file/be_existing_executable.feature +0 -88
  184. data/features/matchers/file/be_existing_file.feature +0 -82
  185. data/features/matchers/file/have_file_content.feature +0 -123
  186. data/features/matchers/file/have_file_size.feature +0 -107
  187. data/features/matchers/path/be_an_absolute_path.feature +0 -74
  188. data/features/matchers/path/be_an_existing_path.feature +0 -97
  189. data/features/matchers/path/have_permissions.feature +0 -118
  190. data/features/matchers/timeouts.feature +0 -48
  191. data/features/platforms/jruby.feature +0 -14
  192. data/features/rspec/integration.feature +0 -179
  193. data/features/step_definitions/aruba_dev_steps.rb +0 -56
  194. data/features/step_definitions/hooks.rb +0 -156
  195. data/features/steps/command/debug.feature +0 -92
  196. data/features/steps/command/exit_statuses.feature +0 -136
  197. data/features/steps/command/in_process.feature +0 -485
  198. data/features/steps/command/interactive.feature +0 -90
  199. data/features/steps/command/output.feature +0 -567
  200. data/features/steps/command/run.feature +0 -66
  201. data/features/steps/command/send_signal.feature +0 -104
  202. data/features/steps/command/shell.feature +0 -155
  203. data/features/steps/command/stderr.feature +0 -68
  204. data/features/steps/command/stdout.feature +0 -109
  205. data/features/steps/command/stop.feature +0 -313
  206. data/features/steps/core/announce.feature +0 -283
  207. data/features/steps/environment/append_environment_variable.feature +0 -52
  208. data/features/steps/environment/disable_bunder.feature +0 -18
  209. data/features/steps/environment/home_variable.feature +0 -62
  210. data/features/steps/environment/prepend_environment_variable.feature +0 -52
  211. data/features/steps/environment/set_environment_variable.feature +0 -49
  212. data/features/steps/filesystem/append_to_file.feature +0 -45
  213. data/features/steps/filesystem/cd_to_directory.feature +0 -33
  214. data/features/steps/filesystem/check_file_content.feature +0 -61
  215. data/features/steps/filesystem/check_permissions_of_file.feature +0 -39
  216. data/features/steps/filesystem/compare_files.feature +0 -42
  217. data/features/steps/filesystem/copy.feature +0 -45
  218. data/features/steps/filesystem/create_directory.feature +0 -57
  219. data/features/steps/filesystem/create_file.feature +0 -76
  220. data/features/steps/filesystem/existence_of_directory.feature +0 -57
  221. data/features/steps/filesystem/existence_of_file.feature +0 -43
  222. data/features/steps/filesystem/file_content.feature +0 -86
  223. data/features/steps/filesystem/fixtures.feature +0 -64
  224. data/features/steps/filesystem/move.feature +0 -45
  225. data/features/steps/filesystem/non_existence_of_directory.feature +0 -69
  226. data/features/steps/filesystem/non_existence_of_file.feature +0 -80
  227. data/features/steps/filesystem/overwrite_file.feature +0 -72
  228. data/features/steps/filesystem/remove_directory.feature +0 -38
  229. data/features/steps/filesystem/remove_file.feature +0 -38
  230. data/features/steps/filesystem/use_fixture.feature +0 -77
  231. data/features/steps/overview.feature +0 -25
  232. data/features/support/aruba.rb +0 -7
  233. data/features/support/env.rb +0 -33
  234. data/features/support/jruby.rb +0 -5
  235. data/features/support/simplecov_setup.rb +0 -8
  236. data/fixtures/cli-app/bin/cli +0 -6
  237. data/fixtures/spawn_process/stderr.sh +0 -3
  238. data/lib/aruba/api/deprecated.rb +0 -1234
  239. data/lib/aruba/config.rb +0 -107
  240. data/lib/aruba/cucumber/core.rb +0 -5
  241. data/lib/aruba/cucumber/rvm.rb +0 -3
  242. data/lib/aruba/in_process.rb +0 -14
  243. data/lib/aruba/jruby.rb +0 -4
  244. data/lib/aruba/matchers/deprecated/file.rb +0 -17
  245. data/lib/aruba/matchers/deprecated.rb +0 -1
  246. data/lib/aruba/matchers/path/match_path_pattern.rb +0 -41
  247. data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +0 -25
  248. data/lib/aruba/platforms/disk_usage_calculator.rb +0 -20
  249. data/lib/aruba/reporting.rb +0 -126
  250. data/lib/aruba/spawn_process.rb +0 -11
  251. data/script/bootstrap +0 -28
  252. data/script/console +0 -16
  253. data/script/test +0 -3
  254. data/spec/aruba/api/bundler_spec.rb +0 -15
  255. data/spec/aruba/api/deprecated_spec.rb +0 -308
  256. data/spec/aruba/api/environment/restore_env_spec.rb +0 -86
  257. data/spec/aruba/api/environment/set_env_spec.rb +0 -46
  258. data/spec/aruba/api/filesystem/file_size_spec.rb +0 -28
  259. data/spec/aruba/api/runtime_spec.rb +0 -28
  260. data/spec/aruba/api_spec.rb +0 -981
  261. data/spec/aruba/aruba_path_spec.rb +0 -103
  262. data/spec/aruba/basic_configuration_spec.rb +0 -5
  263. data/spec/aruba/configuration_spec.rb +0 -5
  264. data/spec/aruba/hooks_spec.rb +0 -17
  265. data/spec/aruba/in_config_wrapper_spec.rb +0 -25
  266. data/spec/aruba/jruby_spec.rb +0 -55
  267. data/spec/aruba/matchers/command/have_output_size_spec.rb +0 -25
  268. data/spec/aruba/matchers/command_spec.rb +0 -174
  269. data/spec/aruba/matchers/deprecated_spec.rb +0 -120
  270. data/spec/aruba/matchers/directory_spec.rb +0 -57
  271. data/spec/aruba/matchers/file_spec.rb +0 -208
  272. data/spec/aruba/matchers/path_spec.rb +0 -58
  273. data/spec/aruba/platform/simple_table_spec.rb +0 -23
  274. data/spec/aruba/platform/windows_environment_variables_spec.rb +0 -500
  275. data/spec/aruba/platforms/unix_command_string_spec.rb +0 -17
  276. data/spec/aruba/platforms/windows_command_string_spec.rb +0 -22
  277. data/spec/aruba/rspec_spec.rb +0 -15
  278. data/spec/aruba/runtime_spec.rb +0 -29
  279. data/spec/aruba/spawn_process_spec.rb +0 -96
  280. data/spec/event_bus/name_resolver_spec.rb +0 -68
  281. data/spec/event_bus_spec.rb +0 -158
  282. data/spec/spec_helper.rb +0 -20
  283. data/spec/support/configs/.keep +0 -0
  284. data/spec/support/configs/aruba.rb +0 -5
  285. data/spec/support/configs/pry.rb +0 -3
  286. data/spec/support/configs/rspec.rb +0 -15
  287. data/spec/support/helpers/.keep +0 -0
  288. data/spec/support/helpers/reporting.rb +0 -44
  289. data/spec/support/matchers/.keep +0 -0
  290. data/spec/support/matchers/option.rb +0 -35
  291. data/spec/support/shared_contexts/.keep +0 -0
  292. data/spec/support/shared_contexts/aruba.rb +0 -49
  293. data/spec/support/shared_examples/.keep +0 -0
  294. data/spec/support/shared_examples/configuration.rb +0 -116
  295. data/spec/support/shared_examples/directory.rb +0 -7
  296. data/spec/support/shared_examples/file.rb +0 -7
  297. data/templates/css/console.css +0 -24
  298. data/templates/css/filesystem.css +0 -42
  299. data/templates/css/pygments-autumn.css +0 -59
  300. data/templates/files.erb +0 -14
  301. data/templates/images/LICENSE +0 -22
  302. data/templates/images/folder.png +0 -0
  303. data/templates/images/page_white.png +0 -0
  304. data/templates/images/page_white_gherkin.png +0 -0
  305. data/templates/images/page_white_ruby.png +0 -0
  306. data/templates/index.erb +0 -20
  307. data/templates/js/filesystem.js +0 -5
  308. data/templates/js/jquery-1.11.3.min.js +0 -5
  309. data/templates/main.erb +0 -34
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db02b356180d59cbb7130462250f2cafebd1c6c8291ddaba3ad35aea0627f42c
4
- data.tar.gz: d87419e2e9919ef52a11f3df15c26d69f1dd420ba82836891cb658132febd318
3
+ metadata.gz: 63d0e00b28a69fa235c0586425c501669cb313ce3dae63a76a33386eb358085e
4
+ data.tar.gz: be16476fe85c35d571574194c46c426cbb5805fff5fe2277b04b3f32f7098dc8
5
5
  SHA512:
6
- metadata.gz: 7fdd47811f42d432484946e87196aa413bc245b7b0dbe02598c7739a17b148813f69b3b4257f914ed8043c42f688265115b9e702976ac96e94a2a3fd41a1cbea
7
- data.tar.gz: 7ee7be3262b56ebb59c68e0ee67f1804b03e2bd56f09f0e20b1070db2fae199090ffc27a1bd35a4d97c20abdf927df465f37708492a0f4da9584f38b8b66131e
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,190 +1,31 @@
1
+ require:
2
+ - rubocop-performance
3
+
1
4
  AllCops:
2
5
  Exclude:
3
6
  - tmp/**/*
7
+ - vendor/**/*
4
8
  DisplayCopNames: true
5
- # Cop supports --auto-correct.
6
- # Configuration parameters: SupportedStyles.
7
- Style/HashSyntax:
8
- Enabled: false
9
-
10
- Metrics/ModuleLength:
11
- Exclude:
12
- - lib/aruba/api.rb
13
- - lib/aruba/api/*.rb
14
- - lib/aruba/platform.rb
15
-
16
- Metrics/AbcSize:
17
- Enabled: false
18
-
19
- Lint/AmbiguousRegexpLiteral:
20
- Enabled: false
21
-
22
- # Cop supports --auto-correct.
23
- Lint/RescueException:
24
- Enabled: false
25
-
26
- # Cop supports --auto-correct.
27
- Lint/UnusedBlockArgument:
28
- Enabled: false
29
-
30
- # Cop supports --auto-correct.
31
- Lint/UnusedMethodArgument:
32
- Enabled: false
33
-
34
- Lint/UselessAssignment:
35
- Enabled: false
36
-
37
- # Configuration parameters: AllowURI.
38
- Metrics/LineLength:
39
- Max: 169
40
- Exclude:
41
- - lib/aruba/api.rb
42
- - aruba.gemspec
43
-
44
- # Configuration parameters: CountComments.
45
- Metrics/MethodLength:
46
- Max: 18
47
-
48
- # Cop supports --auto-correct.
49
- # Configuration parameters: EnforcedStyle, SupportedStyles.
50
- Style/AlignParameters:
51
- Enabled: false
52
-
53
- Style/CaseEquality:
54
- Enabled: false
55
-
56
- # Cop supports --auto-correct.
57
- Style/CharacterLiteral:
58
- Enabled: false
59
-
60
- # Cop supports --auto-correct.
61
- # Configuration parameters: EnforcedStyle, SupportedStyles.
62
- Style/ClassCheck:
63
- Enabled: false
64
-
65
- Style/ClassVars:
66
- Enabled: false
67
-
68
- Metrics/ClassLength:
69
- Enabled: false
70
-
71
- # Cop supports --auto-correct.
72
- # Configuration parameters: PreferredMethods.
73
- Style/CollectionMethods:
74
- Enabled: false
9
+ TargetRubyVersion: 2.4
75
10
 
76
- Style/Documentation:
77
- Enabled: false
78
-
79
- Style/DotPosition:
80
- EnforcedStyle: trailing
81
-
82
- # Configuration parameters: MinBodyLength.
83
- Style/GuardClause:
84
- Enabled: false
85
-
86
- # Configuration parameters: MaxLineLength.
87
- Style/IfUnlessModifier:
88
- Enabled: false
89
-
90
- Style/Lambda:
91
- Enabled: false
92
-
93
- # Cop supports --auto-correct.
94
- Style/LeadingCommentSpace:
95
- Enabled: false
96
-
97
- # Cop supports --auto-correct.
98
- # Configuration parameters: PreferredDelimiters.
11
+ # Use older RuboCop default
99
12
  Style/PercentLiteralDelimiters:
100
- Enabled: false
101
-
102
- Metrics/PerceivedComplexity:
103
- Enabled: false
104
-
105
- # Configuration parameters: SupportedStyles.
106
- Style/RaiseArgs:
107
- # EnforcedStyle: compact
108
- Enabled: false
109
-
110
- # Cop supports --auto-correct.
111
- Style/RedundantSelf:
112
- Enabled: false
113
-
114
- # Configuration parameters: MaxSlashes.
115
- Style/RegexpLiteral:
116
- Enabled: false
117
-
118
- # Cop supports --auto-correct.
119
- # Configuration parameters: AllowAsExpressionSeparator.
120
- Style/Semicolon:
121
- Enabled: false
122
-
123
- # Cop supports --auto-correct.
124
- # Configuration parameters: EnforcedStyle, SupportedStyles.
125
- Style/SignalException:
126
- Enabled: false
127
-
128
- # Configuration parameters: Methods.
129
- Style/SingleLineBlockParams:
130
- Enabled: false
131
-
132
- # Cop supports --auto-correct.
133
- Style/SpaceBeforeFirstArg:
134
- Enabled: false
135
-
136
- # Cop supports --auto-correct.
137
- Style/SpaceAfterComma:
138
- Enabled: false
139
-
140
- # Cop supports --auto-correct.
141
- Style/SpaceAroundKeyword:
142
- Enabled: false
13
+ PreferredDelimiters:
14
+ '%w': ()
143
15
 
144
- # Cop supports --auto-correct.
145
- Style/SpaceAfterNot:
146
- Enabled: false
147
-
148
- # Cop supports --auto-correct.
149
- # Configuration parameters: EnforcedStyle, SupportedStyles.
150
- Style/SpaceBeforeBlockBraces:
151
- Enabled: false
152
-
153
- # Cop supports --auto-correct.
154
- Style/SpaceBeforeComma:
16
+ # Code is currently broken with frozen string literal comments applied.
17
+ # TODO: Enable and fix build
18
+ Style/FrozenStringLiteralComment:
155
19
  Enabled: false
156
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+
157
25
  # Cop supports --auto-correct.
158
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
159
- Style/SpaceInsideBlockBraces:
160
- Enabled: false
161
-
162
- # Cop supports --auto-correct.
163
- Style/SpaceInsideBrackets:
164
- Enabled: false
165
-
166
- # Cop supports --auto-correct.
167
- Style/SpaceInsideParens:
168
- Enabled: false
26
+ # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
27
+ # URISchemes: http, https
28
+ Layout/LineLength:
29
+ Max: 150
169
30
 
170
- # Cop supports --auto-correct.
171
- # Configuration parameters: EnforcedStyle, SupportedStyles.
172
- Style/StringLiterals:
173
- Enabled: false
174
-
175
- # Cop supports --auto-correct.
176
- # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, Whitelist.
177
- Style/TrivialAccessors:
178
- Enabled: false
179
-
180
- Style/RaiseArgs:
181
- Enabled: false
182
-
183
- Metrics/ParameterLists:
184
- Enabled: false
185
-
186
- Style/IfInsideElse:
187
- Enabled: false
188
-
189
- Style/IdenticalConditionalBranches:
190
- 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'