beaker 4.38.1 → 4.39.0

Sign up to get free protection for your applications and to get access to all the features.
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