beaker 4.38.1 → 4.39.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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +12 -0
  3. data/.rubocop.yml +62 -0
  4. data/.rubocop_todo.yml +215 -0
  5. data/CHANGELOG.md +72 -33
  6. data/Gemfile +8 -1
  7. data/HISTORY.md +103 -0
  8. data/Rakefile +10 -9
  9. data/acceptance/fixtures/module/Gemfile +1 -1
  10. data/acceptance/fixtures/module/Rakefile +2 -2
  11. data/acceptance/fixtures/module/spec/acceptance/demo_spec.rb +8 -11
  12. data/acceptance/fixtures/module/spec/classes/init_spec.rb +1 -1
  13. data/acceptance/lib/helpers/test_helper.rb +3 -3
  14. data/acceptance/tests/base/dsl/helpers/hocon_helpers_test.rb +6 -6
  15. data/acceptance/tests/base/dsl/helpers/host_helpers/archive_file_from_test.rb +6 -6
  16. data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +6 -12
  17. data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +4 -4
  18. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +1 -1
  19. data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +7 -7
  20. data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +4 -4
  21. data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +4 -4
  22. data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +8 -11
  23. data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +2 -2
  24. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +6 -11
  25. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +5 -9
  26. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +2 -2
  27. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +1 -1
  28. data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +4 -4
  29. data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +1 -1
  30. data/acceptance/tests/base/dsl/platform_tag_confiner_test.rb +1 -1
  31. data/acceptance/tests/base/dsl/structure_test.rb +4 -10
  32. data/acceptance/tests/base/host/file_test.rb +7 -7
  33. data/acceptance/tests/base/host/group_test.rb +2 -2
  34. data/acceptance/tests/base/host/host_test.rb +5 -5
  35. data/acceptance/tests/base/host/packages.rb +26 -28
  36. data/acceptance/tests/base/host/packages_unix.rb +4 -4
  37. data/acceptance/tests/base/host/user_test.rb +2 -2
  38. data/acceptance/tests/install/from_file.rb +2 -2
  39. data/beaker.gemspec +9 -9
  40. data/docs/concepts/style_guide.md +1 -1
  41. data/docs/how_to/debug_beaker_tests.md +1 -1
  42. data/docs/how_to/test_arbitrary_beaker_versions.md +2 -2
  43. data/lib/beaker/cli.rb +6 -8
  44. data/lib/beaker/command.rb +3 -3
  45. data/lib/beaker/command_factory.rb +2 -2
  46. data/lib/beaker/dsl/assertions.rb +1 -1
  47. data/lib/beaker/dsl/helpers/hocon_helpers.rb +2 -2
  48. data/lib/beaker/dsl/helpers/host_helpers.rb +11 -11
  49. data/lib/beaker/dsl/helpers/web_helpers.rb +3 -3
  50. data/lib/beaker/dsl/outcomes.rb +4 -4
  51. data/lib/beaker/dsl/roles.rb +2 -2
  52. data/lib/beaker/dsl/structure.rb +10 -10
  53. data/lib/beaker/host/aix/group.rb +3 -3
  54. data/lib/beaker/host/aix/user.rb +3 -3
  55. data/lib/beaker/host/cisco.rb +11 -11
  56. data/lib/beaker/host/eos.rb +2 -2
  57. data/lib/beaker/host/mac/exec.rb +1 -1
  58. data/lib/beaker/host/mac/group.rb +7 -7
  59. data/lib/beaker/host/mac/pkg.rb +6 -6
  60. data/lib/beaker/host/mac/user.rb +6 -6
  61. data/lib/beaker/host/pswindows/exec.rb +8 -8
  62. data/lib/beaker/host/pswindows/file.rb +1 -1
  63. data/lib/beaker/host/pswindows/group.rb +3 -3
  64. data/lib/beaker/host/pswindows/pkg.rb +6 -6
  65. data/lib/beaker/host/pswindows/user.rb +2 -2
  66. data/lib/beaker/host/unix/exec.rb +6 -6
  67. data/lib/beaker/host/unix/file.rb +3 -4
  68. data/lib/beaker/host/unix/group.rb +3 -3
  69. data/lib/beaker/host/unix/pkg.rb +17 -17
  70. data/lib/beaker/host/unix/user.rb +3 -3
  71. data/lib/beaker/host/unix.rb +10 -9
  72. data/lib/beaker/host/windows/exec.rb +3 -3
  73. data/lib/beaker/host/windows/file.rb +2 -2
  74. data/lib/beaker/host/windows/group.rb +3 -3
  75. data/lib/beaker/host/windows/pkg.rb +6 -6
  76. data/lib/beaker/host/windows/user.rb +2 -2
  77. data/lib/beaker/host/windows.rb +2 -2
  78. data/lib/beaker/host.rb +7 -7
  79. data/lib/beaker/host_prebuilt_steps.rb +38 -45
  80. data/lib/beaker/hypervisor.rb +4 -4
  81. data/lib/beaker/local_connection.rb +3 -3
  82. data/lib/beaker/logger.rb +5 -11
  83. data/lib/beaker/logger_junit.rb +2 -2
  84. data/lib/beaker/network_manager.rb +2 -2
  85. data/lib/beaker/options/command_line_parser.rb +1 -1
  86. data/lib/beaker/options/hosts_file_parser.rb +21 -4
  87. data/lib/beaker/options/options_file_parser.rb +1 -1
  88. data/lib/beaker/options/options_hash.rb +1 -3
  89. data/lib/beaker/options/parser.rb +6 -6
  90. data/lib/beaker/options/presets.rb +2 -2
  91. data/lib/beaker/options/validator.rb +2 -2
  92. data/lib/beaker/perf.rb +9 -9
  93. data/lib/beaker/platform.rb +1 -1
  94. data/lib/beaker/shared/host_manager.rb +4 -5
  95. data/lib/beaker/shared/repetition.rb +4 -4
  96. data/lib/beaker/shared/semvar.rb +2 -2
  97. data/lib/beaker/shared/timed.rb +2 -2
  98. data/lib/beaker/ssh_connection.rb +9 -9
  99. data/lib/beaker/subcommand.rb +6 -6
  100. data/lib/beaker/tasks/quick_start.rb +2 -2
  101. data/lib/beaker/tasks/rake_task.rb +3 -3
  102. data/lib/beaker/test_suite.rb +2 -2
  103. data/lib/beaker/test_suite_result.rb +8 -11
  104. data/lib/beaker/version.rb +1 -1
  105. data/spec/beaker/cli_spec.rb +46 -43
  106. data/spec/beaker/command_spec.rb +17 -7
  107. data/spec/beaker/dsl/assertions_spec.rb +2 -11
  108. data/spec/beaker/dsl/helpers/host_helpers_spec.rb +7 -7
  109. data/spec/beaker/dsl/helpers/web_helpers_spec.rb +2 -2
  110. data/spec/beaker/dsl/outcomes_spec.rb +1 -0
  111. data/spec/beaker/dsl/roles_spec.rb +48 -5
  112. data/spec/beaker/dsl/structure_spec.rb +22 -15
  113. data/spec/beaker/dsl/test_tagging_spec.rb +16 -16
  114. data/spec/beaker/dsl/wrappers_spec.rb +7 -7
  115. data/spec/beaker/host/cisco_spec.rb +8 -8
  116. data/spec/beaker/host/freebsd/exec_spec.rb +3 -3
  117. data/spec/beaker/host/freebsd/pkg_spec.rb +6 -3
  118. data/spec/beaker/host/mac/exec_spec.rb +3 -3
  119. data/spec/beaker/host/mac_spec.rb +6 -6
  120. data/spec/beaker/host/pswindows/exec_spec.rb +8 -5
  121. data/spec/beaker/host/pswindows/file_spec.rb +6 -3
  122. data/spec/beaker/host/pswindows_spec.rb +1 -1
  123. data/spec/beaker/host/unix/exec_spec.rb +24 -24
  124. data/spec/beaker/host/unix/file_spec.rb +18 -17
  125. data/spec/beaker/host/unix/pkg_spec.rb +26 -22
  126. data/spec/beaker/host/unix_spec.rb +8 -8
  127. data/spec/beaker/host/windows/exec_spec.rb +4 -4
  128. data/spec/beaker/host/windows/file_spec.rb +4 -4
  129. data/spec/beaker/host/windows/group_spec.rb +12 -12
  130. data/spec/beaker/host/windows/pkg_spec.rb +5 -5
  131. data/spec/beaker/host_prebuilt_steps_spec.rb +26 -20
  132. data/spec/beaker/host_spec.rb +72 -63
  133. data/spec/beaker/hypervisor/hypervisor_spec.rb +14 -14
  134. data/spec/beaker/localhost_connection_spec.rb +6 -4
  135. data/spec/beaker/logger_junit_spec.rb +16 -17
  136. data/spec/beaker/logger_spec.rb +54 -52
  137. data/spec/beaker/network_manager_spec.rb +5 -5
  138. data/spec/beaker/options/command_line_parser_spec.rb +2 -2
  139. data/spec/beaker/options/data/hosts_preserved.yml +395 -0
  140. data/spec/beaker/options/hosts_file_parser_spec.rb +9 -2
  141. data/spec/beaker/options/options_file_parser_spec.rb +1 -1
  142. data/spec/beaker/options/options_hash_spec.rb +4 -4
  143. data/spec/beaker/options/parser_spec.rb +23 -23
  144. data/spec/beaker/options/presets_spec.rb +2 -2
  145. data/spec/beaker/options/subcommand_options_parser_spec.rb +4 -3
  146. data/spec/beaker/options/validator_spec.rb +18 -18
  147. data/spec/beaker/perf_spec.rb +29 -28
  148. data/spec/beaker/platform_spec.rb +3 -2
  149. data/spec/beaker/shared/error_handler_spec.rb +1 -1
  150. data/spec/beaker/shared/fog_credentials_spec.rb +12 -12
  151. data/spec/beaker/shared/host_manager_spec.rb +7 -7
  152. data/spec/beaker/shared/repetition_spec.rb +9 -9
  153. data/spec/beaker/ssh_connection_spec.rb +14 -12
  154. data/spec/beaker/subcommand/subcommand_util_spec.rb +9 -4
  155. data/spec/beaker/subcommand_spec.rb +30 -28
  156. data/spec/beaker/test_case_spec.rb +11 -15
  157. data/spec/beaker/test_suite_spec.rb +24 -24
  158. data/spec/matchers.rb +1 -1
  159. data/spec/mocks.rb +5 -5
  160. data/spec/spec_helper.rb +0 -3
  161. metadata +59 -59
  162. data/spec/mock_fission.rb +0 -60
  163. data/spec/mock_vsphere.rb +0 -314
  164. data/spec/mock_vsphere_helper.rb +0 -183
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3562bd02cb178e3681d11868dd867f2707b5926ee78383c7f1ab602061e27aa6
4
- data.tar.gz: 68846748df975c7101af84a112adbb704819bf967565f95f6939fce2ad6b997b
3
+ metadata.gz: 034ae21eb707ca77a36a13ded6183b148c17565a49949567a79af42e1f11af0d
4
+ data.tar.gz: 91d4c0c6e3162c6a92927b40079f266b9e548b96c22bd98ff4585ce9aa73b576
5
5
  SHA512:
6
- metadata.gz: d6e77ab05197ee47ee3f48bc511161c7dcdf8577899dad7f7d31b49faa2b50570d13f6b71828b36afaeb43def2211f7de6f2d67eb6ab9789f815b6b3a2d808f1
7
- data.tar.gz: c0a3023cffd83b47cc67fd1837d57fa217611c38c56617f5f0d1d23da2bd5e32fdf62d8ef858e1ff63e85f7099240846196ac68d653841630b2a7d31c7ae6885
6
+ metadata.gz: d3ebe45b647af548f4464db48dd0b1cbfdbf25eb37946a190f573b23d7e45bf8a216f1b55c84b3c65582ea2163b3848357ca16c61e319068cb851333e736cb45
7
+ data.tar.gz: a4d11a73a5ef9a2bad6920085c2c32abd8117c3085b9d1b9f8c2bda18b2fecd719c7d38175fd861d2472af568a0312972f01f17d0bfbc3bfe1f4ddcbb5f6f148
@@ -8,6 +8,18 @@ env:
8
8
  BUNDLE_WITHOUT: release
9
9
 
10
10
  jobs:
11
+ rubocop:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - name: Install Ruby ${{ matrix.ruby }}
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: "3.1"
19
+ bundler-cache: true
20
+ - name: Run Rubocop
21
+ run: bundle exec rubocop --format github
22
+
11
23
  test:
12
24
  runs-on: ubuntu-latest
13
25
  strategy:
data/.rubocop.yml ADDED
@@ -0,0 +1,62 @@
1
+ ---
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ require:
5
+ - rubocop-performance
6
+ - rubocop-rake
7
+ - rubocop-rspec
8
+
9
+ AllCops:
10
+ NewCops: enable
11
+
12
+ Layout/ArgumentAlignment:
13
+ Enabled: false
14
+
15
+ Layout/LineLength:
16
+ Exclude:
17
+ - acceptance/**/*.rb
18
+ - spec/**/*.rb
19
+
20
+ Layout:
21
+ Enabled: false
22
+
23
+ Metrics:
24
+ Enabled: false
25
+
26
+ Style:
27
+ Enabled: false
28
+
29
+ Naming/AccessorMethodName:
30
+ Enabled: false
31
+
32
+ Naming/FileName:
33
+ Exclude:
34
+ - acceptance/**/acceptance-options.rb
35
+
36
+ Naming/MethodParameterName:
37
+ Enabled: false
38
+
39
+ Naming/PredicateName:
40
+ Enabled: false
41
+
42
+ Naming/VariableNumber:
43
+ Enabled: false
44
+
45
+ RSpec/DescribeClass:
46
+ Exclude:
47
+ - acceptance/fixtures/module/spec/**/*.rb
48
+
49
+ RSpec/FilePath:
50
+ Enabled: false
51
+
52
+ RSpec/MessageSpies:
53
+ Enabled: false
54
+
55
+ RSpec/StubbedMock:
56
+ Enabled: false
57
+
58
+ RSpec/MultipleExpectations:
59
+ Enabled: false
60
+
61
+ RSpec/NestedGroups:
62
+ Max: 4
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,215 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config --no-offense-counts --no-auto-gen-timestamp`
3
+ # using RuboCop version 1.12.1.
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
+ # Configuration parameters: AllowedMethods.
10
+ # AllowedMethods: enums
11
+ Lint/ConstantDefinitionInBlock:
12
+ Exclude:
13
+ - 'Rakefile'
14
+ - 'acceptance/tests/subcommands/init.rb'
15
+ - 'acceptance/tests/subcommands/provision.rb'
16
+ - 'spec/beaker/host/freebsd/exec_spec.rb'
17
+ - 'spec/beaker/host/freebsd/pkg_spec.rb'
18
+ - 'spec/beaker/host/mac/exec_spec.rb'
19
+ - 'spec/beaker/host/pswindows/exec_spec.rb'
20
+ - 'spec/beaker/host/pswindows/file_spec.rb'
21
+ - 'spec/beaker/host/unix/exec_spec.rb'
22
+ - 'spec/beaker/host/unix/file_spec.rb'
23
+ - 'spec/beaker/host/unix/pkg_spec.rb'
24
+ - 'spec/beaker/host/windows/exec_spec.rb'
25
+ - 'spec/beaker/host/windows/group_spec.rb'
26
+ - 'spec/beaker/host/windows/pkg_spec.rb'
27
+ - 'spec/beaker/options/hosts_file_parser_spec.rb'
28
+
29
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
30
+ Lint/EmptyBlock:
31
+ Exclude:
32
+ - 'acceptance/tests/base/host/group_test.rb'
33
+ - 'acceptance/tests/base/host/user_test.rb'
34
+ - 'spec/beaker/dsl/structure_spec.rb'
35
+ - 'spec/beaker/logger_junit_spec.rb'
36
+ - 'spec/beaker/logger_spec.rb'
37
+
38
+ Lint/MissingSuper:
39
+ Exclude:
40
+ - 'lib/beaker/hypervisor/noop.rb'
41
+ - 'lib/beaker/tasks/rake_task.rb'
42
+
43
+ Lint/RescueException:
44
+ Exclude:
45
+ - 'lib/beaker/dsl/structure.rb'
46
+ - 'lib/beaker/test_suite_result.rb'
47
+
48
+ Lint/ShadowingOuterLocalVariable:
49
+ Exclude:
50
+ - 'lib/beaker/dsl/helpers/host_helpers.rb'
51
+ - 'lib/beaker/dsl/helpers/web_helpers.rb'
52
+ - 'lib/beaker/dsl/wrappers.rb'
53
+ - 'lib/beaker/host/pswindows/exec.rb'
54
+ - 'lib/beaker/host/unix/pkg.rb'
55
+ - 'lib/beaker/host_prebuilt_steps.rb'
56
+ - 'lib/beaker/perf.rb'
57
+
58
+ Lint/UselessAssignment:
59
+ Exclude:
60
+ - 'acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb'
61
+ - 'lib/beaker/cli.rb'
62
+ - 'lib/beaker/dsl/helpers/host_helpers.rb'
63
+ - 'lib/beaker/logger_junit.rb'
64
+
65
+ # Configuration parameters: ForbiddenDelimiters.
66
+ # ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
67
+ Naming/HeredocDelimiterNaming:
68
+ Exclude:
69
+ - 'Rakefile'
70
+ - 'acceptance/tests/base/dsl/helpers/hocon_helpers_test.rb'
71
+ - 'lib/beaker/host/cisco.rb'
72
+ - 'spec/beaker/host/mac/group_spec.rb'
73
+ - 'spec/beaker/host/mac/user_spec.rb'
74
+ - 'spec/beaker/host/pswindows/user_spec.rb'
75
+ - 'spec/beaker/host/windows/group_spec.rb'
76
+ - 'spec/beaker/host/windows/user_spec.rb'
77
+ - 'spec/beaker/host/windows_spec.rb'
78
+ - 'spec/beaker/test_case_spec.rb'
79
+
80
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
81
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
82
+ Naming/MemoizedInstanceVariableName:
83
+ Exclude:
84
+ - 'lib/beaker/host.rb'
85
+ - 'lib/beaker/options/presets.rb'
86
+
87
+ # Configuration parameters: MinSize.
88
+ Performance/CollectionLiteralInLoop:
89
+ Exclude:
90
+ - 'acceptance/fixtures/module/spec/spec_helper_acceptance.rb'
91
+ - 'lib/beaker/dsl/structure.rb'
92
+ - 'lib/beaker/test_suite_result.rb'
93
+
94
+ RSpec/AnyInstance:
95
+ Exclude:
96
+ - 'spec/beaker/host/windows/file_spec.rb'
97
+ - 'spec/beaker/subcommand_spec.rb'
98
+
99
+ # Configuration parameters: Prefixes.
100
+ # Prefixes: when, with, without
101
+ RSpec/ContextWording:
102
+ Enabled: false
103
+
104
+ # Configuration parameters: CountAsOne.
105
+ RSpec/ExampleLength:
106
+ Max: 44
107
+
108
+ RSpec/ExpectInHook:
109
+ Exclude:
110
+ - 'spec/beaker/cli_spec.rb'
111
+ - 'spec/beaker/dsl/helpers/host_helpers_spec.rb'
112
+ - 'spec/beaker/host/unix/exec_spec.rb'
113
+ - 'spec/beaker/host/windows/group_spec.rb'
114
+ - 'spec/beaker/host_prebuilt_steps_spec.rb'
115
+ - 'spec/beaker/logger_spec.rb'
116
+ - 'spec/beaker/options/parser_spec.rb'
117
+ - 'spec/beaker/ssh_connection_spec.rb'
118
+
119
+ # Configuration parameters: AssignmentOnly.
120
+ RSpec/InstanceVariable:
121
+ Exclude:
122
+ - 'spec/beaker/dsl/helpers/host_helpers_spec.rb'
123
+ - 'spec/beaker/dsl/helpers/test_helpers_spec.rb'
124
+ - 'spec/beaker/dsl/roles_spec.rb'
125
+ - 'spec/beaker/dsl/test_tagging_spec.rb'
126
+ - 'spec/beaker/host_prebuilt_steps_spec.rb'
127
+
128
+ RSpec/IteratedExpectation:
129
+ Exclude:
130
+ - 'spec/beaker/dsl/helpers/host_helpers_spec.rb'
131
+ - 'spec/beaker/host_prebuilt_steps_spec.rb'
132
+
133
+ RSpec/LeakyConstantDeclaration:
134
+ Exclude:
135
+ - 'spec/beaker/host/freebsd/exec_spec.rb'
136
+ - 'spec/beaker/host/freebsd/pkg_spec.rb'
137
+ - 'spec/beaker/host/mac/exec_spec.rb'
138
+ - 'spec/beaker/host/pswindows/exec_spec.rb'
139
+ - 'spec/beaker/host/pswindows/file_spec.rb'
140
+ - 'spec/beaker/host/unix/exec_spec.rb'
141
+ - 'spec/beaker/host/unix/file_spec.rb'
142
+ - 'spec/beaker/host/unix/pkg_spec.rb'
143
+ - 'spec/beaker/host/windows/exec_spec.rb'
144
+ - 'spec/beaker/host/windows/group_spec.rb'
145
+ - 'spec/beaker/host/windows/pkg_spec.rb'
146
+ - 'spec/beaker/options/hosts_file_parser_spec.rb'
147
+
148
+ RSpec/MultipleDescribes:
149
+ Exclude:
150
+ - 'spec/beaker/dsl/test_tagging_spec.rb'
151
+
152
+ # Configuration parameters: AllowSubject.
153
+ RSpec/MultipleMemoizedHelpers:
154
+ Max: 19
155
+
156
+ # Configuration parameters: IgnoreSharedExamples.
157
+ RSpec/NamedSubject:
158
+ Enabled: false
159
+
160
+ RSpec/RepeatedDescription:
161
+ Exclude:
162
+ - 'spec/beaker/cli_spec.rb'
163
+ - 'spec/beaker/host/unix/exec_spec.rb'
164
+ - 'spec/beaker/host/unix/pkg_spec.rb'
165
+
166
+ RSpec/RepeatedExample:
167
+ Exclude:
168
+ - 'spec/beaker/dsl/roles_spec.rb'
169
+ - 'spec/beaker/logger_spec.rb'
170
+
171
+ RSpec/SubjectStub:
172
+ Exclude:
173
+ - 'spec/beaker/dsl/assertions_spec.rb'
174
+ - 'spec/beaker/dsl/helpers/host_helpers_spec.rb'
175
+ - 'spec/beaker/dsl/helpers/test_helpers_spec.rb'
176
+ - 'spec/beaker/dsl/helpers/web_helpers_spec.rb'
177
+ - 'spec/beaker/dsl/outcomes_spec.rb'
178
+ - 'spec/beaker/dsl/roles_spec.rb'
179
+ - 'spec/beaker/dsl/structure_spec.rb'
180
+ - 'spec/beaker/dsl/test_tagging_spec.rb'
181
+ - 'spec/beaker/host/mac/group_spec.rb'
182
+ - 'spec/beaker/host/mac/user_spec.rb'
183
+ - 'spec/beaker/host/pswindows/user_spec.rb'
184
+ - 'spec/beaker/host/windows/user_spec.rb'
185
+ - 'spec/beaker/host_prebuilt_steps_spec.rb'
186
+
187
+ RSpec/UnspecifiedException:
188
+ Exclude:
189
+ - 'spec/beaker/cli_spec.rb'
190
+ - 'spec/beaker/host/unix/pkg_spec.rb'
191
+ - 'spec/beaker/host_spec.rb'
192
+ - 'spec/beaker/test_suite_spec.rb'
193
+
194
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
195
+ RSpec/VerifiedDoubles:
196
+ Enabled: false
197
+
198
+ # Cop supports --auto-correct.
199
+ Rake/Desc:
200
+ Exclude:
201
+ - 'Rakefile'
202
+
203
+ Security/Eval:
204
+ Exclude:
205
+ - 'Rakefile'
206
+ - 'acceptance/config/base/acceptance-options.rb'
207
+ - 'acceptance/config/hypervisor/acceptance-options.rb'
208
+ - 'acceptance/config/subcommands/acceptance-options.rb'
209
+ - 'lib/beaker/command.rb'
210
+ - 'lib/beaker/options/options_file_parser.rb'
211
+ - 'lib/beaker/test_case.rb'
212
+
213
+ Security/Open:
214
+ Exclude:
215
+ - 'lib/beaker/dsl/helpers/web_helpers.rb'
data/CHANGELOG.md CHANGED
@@ -1,86 +1,125 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.39.0](https://github.com/voxpupuli/beaker/tree/4.39.0) (2023-02-09)
4
+
5
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.38.1...4.39.0)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - Extend list of permitted classes for YAML safe load and allow aliases [\#1758](https://github.com/voxpupuli/beaker/pull/1758) ([nmburgan](https://github.com/nmburgan))
10
+
11
+ **Implemented enhancements:**
12
+
13
+ - Add RuboCop [\#1761](https://github.com/voxpupuli/beaker/pull/1761) ([ekohl](https://github.com/ekohl))
14
+ - Update net-scp requirement from >= 1.2, < 4.0 to >= 1.2, < 5.0 [\#1757](https://github.com/voxpupuli/beaker/pull/1757)
15
+ - (maint) StringInclude Rubocop corrections [\1765](https://github.com/voxpupuli/beaker/pull/1765) ([mhashizume](https://github.com/mhashizume))
16
+
17
+ **Closed issues:**
18
+
19
+ - Ruby 3.1/Psych 4 compatibility issues [\#1753](https://github.com/voxpupuli/beaker/issues/1753)
20
+
3
21
  ## [4.38.1](https://github.com/voxpupuli/beaker/tree/4.38.1) (2022-09-21)
4
22
 
5
- ## Added
23
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.38.0...4.38.1)
24
+
25
+ **Fixed bugs:**
6
26
 
7
- - Arch Linux testing: Ensure the keyring is up2date before installing packages ([#1755](https://github.com/voxpupuli/beaker/pull/1755))
27
+ - Arch Linux: Ensure keyring is up2date [\#1755](https://github.com/voxpupuli/beaker/pull/1755) ([bastelfreak](https://github.com/bastelfreak))
8
28
 
9
29
  ## [4.38.0](https://github.com/voxpupuli/beaker/tree/4.38.0) (2022-08-11)
10
30
 
11
- ## Added
31
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.2...4.38.0)
12
32
 
13
- - Drop pry dependency, allow using debug gem ([#1737](https://github.com/voxpupuli/beaker/pull/1737))
33
+ **Implemented enhancements:**
14
34
 
15
- ## [4.37.2](https://github.com/voxpupuli/beaker/tree/4.37.2) (2022-07-28)
35
+ - Drop pry dependency, allow using debug gem [\#1737](https://github.com/voxpupuli/beaker/pull/1737) ([ekohl](https://github.com/ekohl))
16
36
 
17
- ## Fixed
37
+ ## [4.37.2](https://github.com/voxpupuli/beaker/tree/4.37.2) (2022-07-29)
18
38
 
19
- - Use the new scheme for agent versions >= 6.28 and < 7 [\#1749](https://github.com/voxpupuli/beaker/pull/1749) ([joshcooper](https://github.com/joshcooper))
39
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.1...4.37.2)
40
+
41
+ **Fixed bugs:**
42
+
43
+ - Use the new scheme for agent versions \>= 6.28 and \< 7 [\#1749](https://github.com/voxpupuli/beaker/pull/1749) ([joshcooper](https://github.com/joshcooper))
20
44
 
21
45
  ## [4.37.1](https://github.com/voxpupuli/beaker/tree/4.37.1) (2022-07-27)
22
46
 
23
- ## Fixed
47
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.0...4.37.1)
48
+
49
+ **Fixed bugs:**
24
50
 
25
- - macOS PE tarballs include arch now ([#1747](https://github.com/voxpupuli/beaker/pull/1747))
51
+ - macOS PE tarballs include arch now [\#1747](https://github.com/voxpupuli/beaker/pull/1747) ([joshcooper](https://github.com/joshcooper))
26
52
 
27
- ## [4.37.0](https://github.com/voxpupuli/beaker/tree/4.37.0) (2022-06-27)
53
+ ## [4.37.0](https://github.com/voxpupuli/beaker/tree/4.37.0) (2022-06-28)
28
54
 
29
- ## Added
55
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.1...4.37.0)
30
56
 
31
- - Add support for Win32-OpenSSH ([#1744](https://github.com/voxpupuli/beaker/pull/1744))
57
+ **Implemented enhancements:**
32
58
 
33
- ## Fixed
59
+ - Add support for Win32-OpenSSH [\#1744](https://github.com/voxpupuli/beaker/pull/1744) ([joshcooper](https://github.com/joshcooper))
34
60
 
35
- - Create ~/.ssh on Windows if it doesn't exist ([#1745](https://github.com/voxpupuli/beaker/pull/1745))
61
+ **Fixed bugs:**
62
+
63
+ - Create ~/.ssh on Windows if it doesn't exist [\#1745](https://github.com/voxpupuli/beaker/pull/1745) ([joshcooper](https://github.com/joshcooper))
36
64
 
37
65
  ## [4.36.1](https://github.com/voxpupuli/beaker/tree/4.36.1) (2022-06-16)
38
66
 
39
- ## Fixed
67
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.0...4.36.1)
68
+
69
+ **Implemented enhancements:**
40
70
 
41
- - (maint) Remove /etc/environment file for ubuntu2204 ([#1742](https://github.com/voxpupuli/beaker/pull/1742))
71
+ - \(maint\) Remove /etc/environment file for ubuntu2204 [\#1742](https://github.com/voxpupuli/beaker/pull/1742) ([cthorn42](https://github.com/cthorn42))
42
72
 
43
73
  ## [4.36.0](https://github.com/voxpupuli/beaker/tree/4.36.0) (2022-05-30)
44
74
 
45
- ## Added
75
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.35.0...4.36.0)
46
76
 
47
- - (PE-33493) Add Ubuntu 2204 codename ([#1740](https://github.com/voxpupuli/beaker/pull/1740))
77
+ **Implemented enhancements:**
48
78
 
79
+ - \(PE-33493\) Add Ubuntu 2204 codename [\#1740](https://github.com/voxpupuli/beaker/pull/1740) ([cthorn42](https://github.com/cthorn42))
49
80
 
50
81
  ## [4.35.0](https://github.com/voxpupuli/beaker/tree/4.35.0) (2022-05-13)
51
82
 
52
- ## Added
83
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.34.0...4.35.0)
84
+
85
+ **Implemented enhancements:**
53
86
 
54
- - Add Ruby 3.1 support ([#1736](https://github.com/voxpupuli/beaker/pull/1736))
55
- - Build gem during CI runs ([#1738](https://github.com/voxpupuli/beaker/pull/1738))
87
+ - Build gem during CI runs [\#1738](https://github.com/voxpupuli/beaker/pull/1738) ([bastelfreak](https://github.com/bastelfreak))
88
+ - Add Ruby 3.1 support [\#1736](https://github.com/voxpupuli/beaker/pull/1736) ([ekohl](https://github.com/ekohl))
56
89
 
57
90
  ## [4.34.0](https://github.com/voxpupuli/beaker/tree/4.34.0) (2022-01-27)
58
91
 
59
- ### Added
92
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.33.0...4.34.0)
60
93
 
61
- - Extract a host_packages method from validate_host ([#1729](https://github.com/voxpupuli/beaker/pull/1729))
62
- - Reduce duplication in ssh_permit_user_environment ([#1728](https://github.com/voxpupuli/beaker/pull/1728))
94
+ **Implemented enhancements:**
63
95
 
64
- ### Fixed
96
+ - Extract a host\_packages method from validate\_host [\#1729](https://github.com/voxpupuli/beaker/pull/1729) ([ekohl](https://github.com/ekohl))
97
+ - Reduce duplication in ssh\_permit\_user\_environment [\#1728](https://github.com/voxpupuli/beaker/pull/1728) ([ekohl](https://github.com/ekohl))
98
+
99
+ **Fixed bugs:**
65
100
 
66
- - Do not install curl on EL9 ([#1728](https://github.com/voxpupuli/beaker/pull/1732))
67
- - Drop old Ruby 1.8 compatibility code ([#1728](https://github.com/voxpupuli/beaker/pull/1730))
101
+ - Do not install curl on EL9 [\#1732](https://github.com/voxpupuli/beaker/pull/1732) ([ekohl](https://github.com/ekohl))
102
+ - Drop old Ruby 1.8 compatibility code [\#1730](https://github.com/voxpupuli/beaker/pull/1730) ([ekohl](https://github.com/ekohl))
68
103
 
69
104
  ## [4.33.0](https://github.com/voxpupuli/beaker/tree/4.33.0) (2022-01-21)
70
105
 
71
- ### Added
106
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.32.0...4.33.0)
107
+
108
+ **Implemented enhancements:**
72
109
 
73
- - Add ed25519 as runtime dependency ([#1726](https://github.com/voxpupuli/beaker/pull/1726))
110
+ - Add ed25519 as runtime dependency [\#1726](https://github.com/voxpupuli/beaker/pull/1726) ([bastelfreak](https://github.com/bastelfreak))
74
111
 
75
112
  ## [4.32.0](https://github.com/voxpupuli/beaker/tree/4.32.0) (2021-12-06)
76
113
 
77
- ### Fixed
114
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.31.0...4.32.0)
78
115
 
79
- - Arch Linux: install net-tools and openssh ([#1722](https://github.com/voxpupuli/beaker/pull/1722))
116
+ **Implemented enhancements:**
80
117
 
81
- ### Added
118
+ - Initial EL9 support [\#1719](https://github.com/voxpupuli/beaker/pull/1719) ([ekohl](https://github.com/ekohl))
119
+
120
+ **Fixed bugs:**
82
121
 
83
- - Initial EL9 support ([#1719](https://github.com/voxpupuli/beaker/pull/1719))
122
+ - Arch Linux: install net-tools and openssh [\#1722](https://github.com/voxpupuli/beaker/pull/1722) ([bastelfreak](https://github.com/bastelfreak))
84
123
 
85
124
  ## [4.31.0](https://github.com/voxpupuli/beaker/tree/4.31.0) (2021-11-02)
86
125
 
data/Gemfile CHANGED
@@ -20,13 +20,20 @@ if ENV['BEAKER_PE_PR_REPO_URL']
20
20
  gem lib, :git => "git@github.com:#{author}/#{lib}.git", :branch => ref
21
21
  end
22
22
 
23
+ group :rubocop do
24
+ gem 'rubocop', '~> 1.12.0'
25
+ gem 'rubocop-performance'
26
+ gem 'rubocop-rake'
27
+ gem 'rubocop-rspec'
28
+ end
29
+
23
30
  group :release do
24
31
  gem 'github_changelog_generator', require: false
25
32
  end
26
33
 
27
34
  group :coverage, optional: ENV['COVERAGE']!='yes' do
28
- gem 'simplecov-console', :require => false
29
35
  gem 'codecov', :require => false
36
+ gem 'simplecov-console', :require => false
30
37
  end
31
38
 
32
39
  gem 'rdoc' if RUBY_VERSION >= '3.1'
data/HISTORY.md CHANGED
@@ -1,3 +1,106 @@
1
+ ## [4.38.1](https://github.com/voxpupuli/beaker/tree/4.38.1) (2022-09-21)
2
+
3
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.38.0...4.38.1)
4
+
5
+ **Fixed bugs:**
6
+
7
+ - Arch Linux: Ensure keyring is up2date [\#1755](https://github.com/voxpupuli/beaker/pull/1755) ([bastelfreak](https://github.com/bastelfreak))
8
+
9
+ ## [4.38.0](https://github.com/voxpupuli/beaker/tree/4.38.0) (2022-08-11)
10
+
11
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.2...4.38.0)
12
+
13
+ **Implemented enhancements:**
14
+
15
+ - Drop pry dependency, allow using debug gem [\#1737](https://github.com/voxpupuli/beaker/pull/1737) ([ekohl](https://github.com/ekohl))
16
+
17
+ ## [4.37.2](https://github.com/voxpupuli/beaker/tree/4.37.2) (2022-07-29)
18
+
19
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.1...4.37.2)
20
+
21
+ **Fixed bugs:**
22
+
23
+ - Use the new scheme for agent versions \>= 6.28 and \< 7 [\#1749](https://github.com/voxpupuli/beaker/pull/1749) ([joshcooper](https://github.com/joshcooper))
24
+
25
+ ## [4.37.1](https://github.com/voxpupuli/beaker/tree/4.37.1) (2022-07-27)
26
+
27
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.37.0...4.37.1)
28
+
29
+ **Fixed bugs:**
30
+
31
+ - macOS PE tarballs include arch now [\#1747](https://github.com/voxpupuli/beaker/pull/1747) ([joshcooper](https://github.com/joshcooper))
32
+
33
+ ## [4.37.0](https://github.com/voxpupuli/beaker/tree/4.37.0) (2022-06-28)
34
+
35
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.1...4.37.0)
36
+
37
+ **Implemented enhancements:**
38
+
39
+ - Add support for Win32-OpenSSH [\#1744](https://github.com/voxpupuli/beaker/pull/1744) ([joshcooper](https://github.com/joshcooper))
40
+
41
+ **Fixed bugs:**
42
+
43
+ - Create ~/.ssh on Windows if it doesn't exist [\#1745](https://github.com/voxpupuli/beaker/pull/1745) ([joshcooper](https://github.com/joshcooper))
44
+
45
+ ## [4.36.1](https://github.com/voxpupuli/beaker/tree/4.36.1) (2022-06-16)
46
+
47
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.36.0...4.36.1)
48
+
49
+ **Implemented enhancements:**
50
+
51
+ - \(maint\) Remove /etc/environment file for ubuntu2204 [\#1742](https://github.com/voxpupuli/beaker/pull/1742) ([cthorn42](https://github.com/cthorn42))
52
+
53
+ ## [4.36.0](https://github.com/voxpupuli/beaker/tree/4.36.0) (2022-05-30)
54
+
55
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.35.0...4.36.0)
56
+
57
+ **Implemented enhancements:**
58
+
59
+ - \(PE-33493\) Add Ubuntu 2204 codename [\#1740](https://github.com/voxpupuli/beaker/pull/1740) ([cthorn42](https://github.com/cthorn42))
60
+
61
+ ## [4.35.0](https://github.com/voxpupuli/beaker/tree/4.35.0) (2022-05-13)
62
+
63
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.34.0...4.35.0)
64
+
65
+ **Implemented enhancements:**
66
+
67
+ - Build gem during CI runs [\#1738](https://github.com/voxpupuli/beaker/pull/1738) ([bastelfreak](https://github.com/bastelfreak))
68
+ - Add Ruby 3.1 support [\#1736](https://github.com/voxpupuli/beaker/pull/1736) ([ekohl](https://github.com/ekohl))
69
+
70
+ ## [4.34.0](https://github.com/voxpupuli/beaker/tree/4.34.0) (2022-01-27)
71
+
72
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.33.0...4.34.0)
73
+
74
+ **Implemented enhancements:**
75
+
76
+ - Extract a host\_packages method from validate\_host [\#1729](https://github.com/voxpupuli/beaker/pull/1729) ([ekohl](https://github.com/ekohl))
77
+ - Reduce duplication in ssh\_permit\_user\_environment [\#1728](https://github.com/voxpupuli/beaker/pull/1728) ([ekohl](https://github.com/ekohl))
78
+
79
+ **Fixed bugs:**
80
+
81
+ - Do not install curl on EL9 [\#1732](https://github.com/voxpupuli/beaker/pull/1732) ([ekohl](https://github.com/ekohl))
82
+ - Drop old Ruby 1.8 compatibility code [\#1730](https://github.com/voxpupuli/beaker/pull/1730) ([ekohl](https://github.com/ekohl))
83
+
84
+ ## [4.33.0](https://github.com/voxpupuli/beaker/tree/4.33.0) (2022-01-21)
85
+
86
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.32.0...4.33.0)
87
+
88
+ **Implemented enhancements:**
89
+
90
+ - Add ed25519 as runtime dependency [\#1726](https://github.com/voxpupuli/beaker/pull/1726) ([bastelfreak](https://github.com/bastelfreak))
91
+
92
+ ## [4.32.0](https://github.com/voxpupuli/beaker/tree/4.32.0) (2021-12-06)
93
+
94
+ [Full Changelog](https://github.com/voxpupuli/beaker/compare/4.31.0...4.32.0)
95
+
96
+ **Implemented enhancements:**
97
+
98
+ - Initial EL9 support [\#1719](https://github.com/voxpupuli/beaker/pull/1719) ([ekohl](https://github.com/ekohl))
99
+
100
+ **Fixed bugs:**
101
+
102
+ - Arch Linux: install net-tools and openssh [\#1722](https://github.com/voxpupuli/beaker/pull/1722) ([bastelfreak](https://github.com/bastelfreak))
103
+
1
104
  ## [4.31.0](https://github.com/voxpupuli/beaker/tree/4.31.0) (2021-11-02)
2
105
 
3
106
  ### Fixed
data/Rakefile CHANGED
@@ -37,7 +37,7 @@ module HarnessOptions
37
37
 
38
38
  def self.get_options(file_path)
39
39
  puts "Attempting to merge config file: #{file_path}"
40
- if File.exists? file_path
40
+ if File.exist? file_path
41
41
  options = eval(File.read(file_path), binding)
42
42
  else
43
43
  puts "No options file found at #{File.expand_path(file_path)}... skipping"
@@ -144,11 +144,11 @@ Commandline options set through the above environment variables will override se
144
144
  Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
145
145
  exit_status = 1
146
146
  output = ''
147
- Open3.popen3("bundle exec rspec") {|stdin, stdout, stderr, wait_thr|
148
- while line = stdout.gets
147
+ Open3.popen3("bundle exec rspec") {|_stdin, stdout, _stderr, wait_thr|
148
+ while(line = stdout.gets)
149
149
  puts line
150
150
  end
151
- output = stdout
151
+ output = stdout.to_s
152
152
  if not wait_thr.value.success?
153
153
  fail "Failed to 'bundle exec rspec' (exit status: #{wait_thr.value})"
154
154
  end
@@ -156,7 +156,7 @@ Commandline options set through the above environment variables will override se
156
156
  }
157
157
  if exit_status != /0/
158
158
  #check for deprecation warnings
159
- if output =~ /Deprecation Warnings/
159
+ if output.include?('Deprecation Warnings')
160
160
  fail "DEPRECATION WARNINGS in spec generation, please fix!"
161
161
  end
162
162
  end
@@ -214,7 +214,7 @@ namespace :history do
214
214
  Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
215
215
  output = `bundle exec ruby history.rb .`
216
216
  puts output
217
- if output !~ /success/
217
+ if !output.include?('success')
218
218
  raise "History generation failed"
219
219
  end
220
220
  Dir.chdir( original_dir )
@@ -270,7 +270,7 @@ namespace :docs do
270
270
  Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
271
271
  output = `bundle exec yard doc -o #{DOCS_DIR}`
272
272
  puts output
273
- if output =~ /\[warn\]|\[error\]/
273
+ if /\[warn\]|\[error\]/.match?(output)
274
274
  fail "Errors/Warnings during yard documentation generation"
275
275
  end
276
276
  Dir.chdir( original_dir )
@@ -311,10 +311,10 @@ namespace :docs do
311
311
  puts "Found a YARD Server running with pid #{pid}"
312
312
  `kill #{pid}`
313
313
  puts "Stopping..."
314
- yes, output = running?( DOCS_DAEMON )
314
+ yes, _output = running?( DOCS_DAEMON )
315
315
  if yes
316
316
  `kill -9 #{pid}`
317
- yes, output = running?( DOCS_DAEMON )
317
+ yes, _output = running?( DOCS_DAEMON )
318
318
  if yes
319
319
  puts "Could not Stop Server!"
320
320
  else
@@ -341,4 +341,5 @@ begin
341
341
  config.future_release = gem_version
342
342
  end
343
343
  rescue LoadError
344
+ # Optional group in bundler
344
345
  end